Устройство для голосования на Arduino Uno


В современной жизни бывают ситуации, когда необходим какой-нибудь аппарат (устройство), способное обрабатывать "голоса" нескольких лиц. Подобные устройства также называют "машинами для голосования".

Устройство для голосования на Arduino Uno: внешний вид конструкции

Ранее на нашем сайте мы уже рассматривали подобное устройство на микроконтроллерах AVR (обычное и на радиочастотных метках), в этой же статье мы рассмотрим создание подобного аппарата для голосования на плате Arduino Uno.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. ЖК дисплей 16х2 (купить на AliExpress).
  3. Кнопка (5 шт.).
  4. Макетная плата.
  5. Источник питания.
  6. Соединительные провода.

Работа схемы

В этом проекте мы будем использовать 4 кнопки для 4 различных кандидатов (голосующих человек). При желании можно увеличить количество голосующих, но в целях упрощения схемы и программы в этой статье мы ограничились только 4 кандидатами. Когда кто-нибудь из этих кандидатов будет нажимать соответствующую ему кнопку для голосования в программе соответствующая переменная будет увеличиваться на 1. После завершения процесса голосования необходимо будет нажать кнопку "result" чтобы увидеть результаты голосования. При нажатии этой кнопки плата Arduino Uno будет осуществлять подсчет голосов каждого из кандидатов и высвечивать результаты голосования на жидкокристаллическом (ЖК) дисплее.

Блок-схема работы устройства приведена на следующем рисунке.

Блоковая диаграмма устройства для голосования на Arduino Uno

Схема устройства достаточно проста и содержит плату Arduino, кнопки и ЖК дисплей. Плата Arduino управляет всем процессом: считывание нажатий кнопок, увеличение счетчиков голосов, подсчет результатов голосования и их отображение на ЖК дисплее. Кнопкам на схеме даны следующие наименования: BJP, INC, AAP и OTH. Пятая кнопка используется для отображения результатов голосования.

Схема устройства для голосования на Arduino UnoКак видно из представленной схемы 5 кнопок непосредственно подключены к контактам 15-19 (A1-A5) платы Arduino. Вторые концы кнопок замкнуты на землю.

Исходный код программы

В программе сначала необходимо подключить необходимые заголовочные файлы и инициализировать необходимые переменные для подсчета голосов кандидатов.

Код для инициализации необходимых переменных

После этого необходимо в программе инициализировать ЖК дисплей и задать режим работы используемых контактов платы Arduino (на ввод или вывод данных).

Код для инициализации ЖК дисплея и задания режима работы контактов

Затем подключить внутренние подтягивающие резисторы для контактов кнопок.

Код для подключения внутренних подтягивающих резисторов

Далее в программе мы будем использовать функцию digitalRead чтобы считывать значения контактов, к которым подключены кнопки.

Код для считывания значений контактов

А затем, после завершения процесса голосования, мы будем показывать на ЖК дисплее имена голосовавших кандидатов и соответствующее им количество голосов.

Код для отображения результатов голосования

Далее представлен полный текст программы.

Видео, демонстрирующее работу схемы

(1 голосов, оценка: 5,00 из 5)
Загрузка...
535 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *