- Обязательные компоненты:
- Как это устроено:
- Описание схемы:
- Как запустить код в Raspberry Pi:
- Объяснение программирования:
Raspberry Pi - это популярная плата разработки на базе ARM Cortex, предназначенная для инженеров-электронщиков и любителей. Это одноплатный компьютер, работающий с низким энергопотреблением, с очень хорошей скоростью обработки и памятью. Raspberry Pi можно использовать для одновременного выполнения различных функций, как на обычном ПК, поэтому на вашей ладони он называется мини-компьютером.
Мы создали серию руководств по Raspberry Pi, в которых мы рассмотрели взаимодействие Raspberry Pi со всеми основными компонентами, а также несколько простых проектов Raspberry Pi для начала.
Здесь мы собираемся построить электронную машину для голосования с использованием платы Raspberry Pi. Все мы знаем об электронной машине для голосования (EVM), которая используется для голосования на выборах путем нажатия простой кнопки. Мы уже рассмотрели электронную машину для голосования с использованием различных микроконтроллеров, таких как EVM с микроконтроллером AVR и EVM с Arduino. Мы также построили машину для голосования, в которой избиратель аутентифицируется с помощью RFID-метки, так что можно подсчитывать только аутентифицированные голоса.
Эта электронная машина для голосования, использующая Raspberry Pi, проще и проще по сравнению с нашими предыдущими проектами машины для голосования.
Обязательные компоненты:
- Малина Пи - 1
- ЖК-дисплей 16x2 - 1 шт.
- Нажимная кнопка - 5
- Хлебная доска - 1 шт.
- Соединительные провода
- Резистор 1К - 1
- Резистор 10К - 5
- 10K ПОТ - 1
- Светодиоды - 5
Как это устроено:
В этом проекте мы использовали четыре кнопки, чтобы проголосовать за четырех кандидатов или партии. Мы можем увеличить количество кандидатов, но для лучшего понимания мы использовали здесь только четыре. Когда избиратель нажимает любую из четырех кнопок, «счет голосов» за уважаемую партию или кандидата увеличивается на единицу каждый раз. В то же время светодиод мигает и зуммер издает звуковой сигнал на секунду, показывая, что голосование было отдано. После завершения голосования у нас есть кнопка «Результат», чтобы показать результаты голосования. Когда мы нажимаем эту кнопку, на ЖК-экране отображается название победившей партии с номером. голосов, отданных каждой партии.
Описание схемы:
Принципиальная схема этого EVM с использованием Raspberry Pi приведена ниже. Raspberry Pi контролирует весь процесс, такой как чтение кнопки, увеличение количества голосов, генерация результата и отображение всего на ЖК-дисплее.
Здесь мы использовали плату Raspberry Pi 3 для выполнения всех операций в проекте и использовали библиотеку wiringPi для выбора и управления контактами GPIO Raspberry Pi. Мы также можем использовать здесь Raspberry Pi 2. Здесь мы использовали пять кнопок, четыре из которых были использованы для голосования за четырех разных кандидатов / партий, а одна кнопка используется для отображения результата на ЖК-дисплее. Эти пять кнопок напрямую подключены к контактам GPIO с 21 по 25 RPI3 относительно земли с подтягивающим резистором 10 кОм для каждого из них. К Raspberry Pi подключен ЖК-дисплей 16x2. Управляющий штырь RS, RW и En подключены к контактам GPIO 11, GND и 10. А контакт данных D4-D7 подключен к контактам 6, 5, 4 и 1 GPIO RPI. зуммертакже используется для звукового сигнала, когда избиратель нажимает любую из кнопок. Здесь мы использовали зеленый светодиод (D5) для индикации того, что система готова, и избиратель может отправить свой голос в машине, нажав кнопку. Поток 10k используется для управления яркостью ЖК-дисплея.
Как запустить код в Raspberry Pi:
1. Во-первых, войдите в свой Raspberry Pi, используя SSH с именем пользователя по умолчанию: «pi» и паролем: «raspberry». Здесь мы использовали SSH-клиент Putty для Windows для подключения к Pi через Windows. Если вы работаете в Linux, вы можете напрямую подключиться к Pi с помощью SSH. В Интернете есть много руководств по подключению к Raspberry Pi с использованием SSH, поэтому здесь мы не будем вдаваться в подробности. Вы также должны проверить Как начать работу с Raspberry Pi, чтобы узнать больше о Pi, установке ОС (Raspbian Jessie) и ее аппаратных и программных требованиях.
2. Теперь запустите приведенную ниже команду, чтобы открыть новый файл с именем vote.c и вставьте код (указанный в разделе кода ниже) в файл, используйте клавишу «shift + insert», чтобы вставить код.
судо нано голосование.c
3. После написания кода нажмите ctrl + x, а затем нажмите y, чтобы сохранить код, и нажмите Enter.
4. Теперь сделайте код исполняемым с помощью данной команды:
cc -o голосования vote.c -lwiringPi -std = c99
5. Наконец, запустите код, используя данную команду.
sudo./voting
Объяснение программирования:
Здесь мы использовали хорошо знакомый пользователю язык C для написания кода и кодирования, очень похожего на кодирование Arduino. Мы также можем использовать язык Python для создания этого проекта.
Прежде всего, мы включаем файлы заголовков и определяем контакты для ЖК-дисплея; Файл заголовка wiringPi.h используется для управления выводами GPIO Pi. Затем инициализируйте некоторые переменные и контакты для ввода данных голосования и светодиодных индикаторов.
#включают
После этого мы дали направление всем используемым GPIO в функции void setup () .
void setup () {if (wiringPiSetup () == - 1) printf ("ОШИБКА"); pinMode (led1, ВЫХОД); pinMode (светодиод2, ВЫХОД); pinMode (led3, ВЫХОД); pinMode (led4, ВЫХОД); pinMode (led5, ВЫХОД); pinMode (гудение, ВЫХОД); pinMode (RS, ВЫХОД);……………….
В коде мы использовали функцию digitalRead в void main () для чтения нажатой кнопки.
если (digitalRead (in1) == 0) {vote1 ++; Показать(); digitalWrite (led1, HIGH); зуммер(); digitalWrite (led1, LOW); Подождите(); }
Функция void show () используется для отображения информации о голосовании на ЖК-дисплее с названием партии-кандидата.
недействительным шоу () {setCursor (0,0); print ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (голосование, «% d», голосование1); печать (голосование); setCursor (6,1); sprintf (голосование, «% d», голосование2);………………..
Вот еще несколько функций, используемых в этом проекте:
Функция void buzzer () используется для подачи звукового сигнала зуммера в качестве индикатора того, что голосование было отдано. И функция void wait () для светодиода D5 (зеленый светодиод на оборудовании), который показывает, что система готова к голосованию, когда светодиод включен.
void buzzer () {digitalWrite (гудок, ВЫСОКИЙ); задержка (1000); digitalWrite (шум, НИЗКИЙ); } недействительное ожидание () {digitalWrite (led5, LOW); задержка (3000); }
Функция void comapare () используется для сравнения общего количества голосов каждого из кандидатов, для получения результата и отображения статуса результата на ЖК-дисплее.
недействительным сравнить () {ясно (); print («Подождите…»); Подождите(); если (голосование1> голосование2 && голосование1> голосование3 && голосование1> голосование4) {digitalWrite (led1, HIGH); для (я = 0; я <2; я ++) {очистить (); setCursor (0,0); print ("Поздравляю……."); setCursor (0,1); print («БДП выиграла выборы»);…………………
Проверьте полный код ниже.