Рубрики
Схемы на Arduino

Устройство для голосования на 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, кнопки и ЖК дисплей. Плата Arduino управляет всем процессом: считывание нажатий кнопок, увеличение счетчиков голосов, подсчет результатов голосования и их отображение на ЖК дисплее. Кнопкам на схеме даны следующие наименования: BJP, INC, AAP и OTH. Пятая кнопка используется для отображения результатов голосования.

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

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

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

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

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

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

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

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

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

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

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