Секундомер Arduino Nano с ЖК-дисплеем без потенциометра
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 5 | ||||
| × | 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Схема
Это схема моей схемы.Производственный процесс
- DIY Простой осциллограф Arduino 20 кГц на ЖК-дисплее Nokia 5110
- Умные жалюзи
- Железный человек
- Простой датчик препятствий с Arduino
- Найди меня
- Управление увлажнителем Arduino
- Осциллограф 10 Гц-50 кГц для самостоятельного изготовления на ЖК-дисплее 128x64
- Джойстик Arduino
- Шагомер (Arduino 101)
- Цветовой миксер Arduino