Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Секундомер Arduino Nano с ЖК-дисплеем без потенциометра

Компоненты и расходные материалы

Макет (общий)
× 1
Arduino Nano R3
× 1
Стандартный ЖК-экран Adafruit - 16x2, белый на синем
× 1
Кнопочный переключатель SparkFun, 12 мм
× 3
Резистор 10 кОм
× 5
Резистор 221 Ом
× 1
Перемычки (общие)
× 26

Об этом проекте

Всем привет!

Этот проект представляет собой простой обучающий проект для начала работы с ЖК-дисплеем. В этом проекте я использую Arduino NANO и LCD QUAPASS 1602A 16x2. Этот секундомер может отсчитывать часы, минуты и секунды. Вы также можете изменить яркость ЖК-дисплея.

С помощью небольшого изменения кода вы также можете считать сотые, но мой ЖК-дисплей не работает, потому что экран не может обновляться так быстро.

Я установил почти идеальное время для своего секундомера (мой секундомер имеет отклонение около 15%, поэтому, если вы запустите его в течение реальных 10 минут, на моем секундомере будет 10 минут и 2 секунды). Поэтому, если вы собираетесь что-либо изменить, это подпрограмма запуска (в подпрограмме программы с именем «секундомер»), вам также потребуется изменить тайминги из-за времени выполнения Arduino для каждого кода.

ШАГ 1

Подключите провода к Arduino и ЖК-дисплею следующим образом (посмотрите, что показывает SCHEMATIC).

ШАГ 2

Скопируйте и вставьте мой код в свою Arduino IDE. А теперь подключите ваш Arduino к USB-накопителю. Нажмите кнопку загрузки, и ваша программа должна запуститься.

ШАГ 3

Получайте удовольствие от моего простого и легкого в изготовлении секундомера с ЖК-дисплеем.

Если есть вопросы, оставляйте их в комментариях.

Код

  • Код
Код Arduino
Это код моего секундомера. Просто скопируйте его в Arduino IDE и загрузите на свой Arduino.
 / * Простая программа секундомера с ЖК-дисплеем с кнопками остановки, запуска, сброса и круга. * /// включая библиотеку для ЖК-дисплея # include  // настройка вверх LCD INPUT pinsLiquidCrystal lcd (12,11,5,4,3,2); // установка часов, минут, секунд и миллисекунд на 0int h =0; int m =0; int s =0; int ms =0; // определяет пин для всех кнопок const int start_pin =8; const int stop1_pin =9; const int reset_pin =10; // определяет начальные точки (в моем случае 0) int start =0; int stop1 =0; int reset =0; int яркость_pin =6; // определяет вывод для установки яркости int Яркость =100; // вы можете изменить это число, чтобы изменить яркость void setup () {analogWrite (яркость_pin, яркость); // это устанавливает яркость на выводе 6 lcd.begin (16, 2); // запуск ЖК-дисплея // определение выводов, если они являются выводами INPUT или OUTPUT pinMode (start_pin, INPUT); pinMode (stop1_pin, ВХОД); pinMode (reset_pin, ВХОД); pinMode (яркость_пин, ВЫХОД);} недействительный цикл () {lcd.setCursor (0,1); lcd.print («СЕКУНДОМЕР»); lcd.setCursor (0,0); lcd.print ("ВРЕМЯ:"); lcd.print (h); lcd.print (":"); lcd.print (м); lcd.print (":"); lcd.print (s); start =digitalRead (начальный_контакт); // чтение состояния кнопки if (start ==HIGH) {stopwatch (); // переходит к секундомеру подпрограммы}} // -------------------- ПОДПРОГРАММЫ ----------------- -------- недействительный секундомер () {lcd.setCursor (0,0); // установка начальной точки на ЖК-дисплее lcd.print ("TIME:"); // запись ВРЕМЕНИ lcd.print (h); // запись часов lcd.print (":"); lcd.print (м); // запись минут lcd.print (":"); lcd.print (s); // записываем секунды ms =ms + 10; задержка (10); если (мс ==590) {lcd.clear (); // очищает ЖК-дисплей} if (ms ==590) // состояние if для отсчета секунд {ms =0; s =s + 1; } if (s ==60) // состояние if для подсчета минут {s =0; м =м + 1; } if (m ==60) // состояние if для подсчета часов {m =00; ч =ч + 01; } lcd.setCursor (0,1); lcd.print («СЕКУНДОМЕР»); stop1 =digitalRead (stop1_pin); // чтение состояния кнопки if (stop1 ==HIGH) // проверка нажатия кнопки {stopwatch_stop (); // переходим к подпрограмме} else {stopwatch (); // переход к подпрограмме}} void stopwatch_stop () {lcd.setCursor (0,0); lcd.print ("ВРЕМЯ:"); lcd.print (h); lcd.print (":"); lcd.print (м); lcd.print (":"); lcd.print (s); lcd.setCursor (0,1); lcd.print («СЕКУНДОМЕР»); start =digitalRead (начальный_контакт); // чтение состояния кнопки if (start ==HIGH) {stopwatch (); // переход к подпрограмме} reset =digitalRead (reset_pin); // чтение состояния кнопки if (reset ==HIGH) {stopwatch_reset (); // переход к подпрограмме loop (); } если (сброс ==НИЗКИЙ) {stopwatch_stop (); // переход к подпрограмме}} void stopwatch_reset () {lcd.clear (); lcd.setCursor (0,1); lcd.print («СЕКУНДОМЕР»); h =00; // устанавливаем часы на 0 m =00; // установка минут на 0 s =00; // установка секунд на 0 return; // выходим из программы и возвращаемся к точке входа в программу} 
Библиотека
Это библиотека, которая вам нужна для ЖК-дисплея. Https://github.com/arduino-libraries/LiquidCrystal

Схема

Это схема моей схемы.

Производственный процесс

  1. DIY Простой осциллограф Arduino 20 кГц на ЖК-дисплее Nokia 5110
  2. Умные жалюзи
  3. Железный человек
  4. Простой датчик препятствий с Arduino
  5. Найди меня
  6. Управление увлажнителем Arduino
  7. Осциллограф 10 Гц-50 кГц для самостоятельного изготовления на ЖК-дисплее 128x64
  8. Джойстик Arduino
  9. Шагомер (Arduino 101)
  10. Цветовой миксер Arduino