Съдържание:
Видео: Прост, практичен хронометър Arduino: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Потърсете в мрежата хронометър Arduino. Вероятно току -що сте го направили, ако сте тук. От личен опит мога да ви кажа, че всеки хронометър в интернет е или твърде сложен (в кода, за начинаещи), или е твърде опростен и непрактичен, като тези, които просто броят секунди без нулиране.
И ти така мислиш, а? Ами познайте какво. Направих го и нещо повече, директно вземам въвеждането си от функцията millis ()- безкраен ред от числа (до 49 дни или каквото и да е друго). Най-добрата част? Това е само един ред.
Нулирането е действителната твърда част на хронометъра. За междинни програмисти, ако все още не сте, продължете и се опитайте да направите това сами, със секунди, минути и часове заедно. Ще разберете за какво говоря.
За начинаещи, прочетете и се насладете на гения на ума ми.
Шегувам се, но решението, което измислих, е доста кокетно. Ето какво е:
Стъпка 1: Решението
Така че проблемът е нулирането. Това, което искаме, е непрекъснат, повтарящ се цикъл от числа, от безкраен изход от последователни числа (millis () - той основно брои милисекунди, или всъщност 1.024 милисекунди, но каквото и да е).
Първото нещо, което идва на ум, е използването на разлика, като time1 -time2 и забавяне. Забравете това. Необходими са поне шест реда код и оператор if за зареждане.
Така че ето как да го направите. Имаме ограничение (59). Искаме всичко от 0 до 59 да се повтаря отново и отново. Как?
Ами ако … вземем остатъка … от функцията милис, разделена на 59 … Бинго!
Така че, трябва да е така:
(60 [като начална стойност, тъй като границата е 59] + милис () / 1000 [1000 милисекунди е секунда]) % 60
Добре, да обясня. (%) или модул, е основно оператор като (+), който намира остатъка. Като 9 % 2 = 1.
Така:
- остатък от (60 + 0) % 60 = 0
- остатък от (60 + 1) % 60 = 1
- остатък от (60 + 58) % 60 = 58
- остатък от (60 + 59) % 60 = 59
- остатък от (60 + 60) % 60 = 60
- остатък от (60 + 61) % 60 = 1
Вижте!
Сега за частите.
Стъпка 2: Частите
Изобщо не много
- Всяко arduino
-
Всеки дисплей (използвах 0,96 OLED, но можете да използвате каквото имате, просто не забравяйте да поставите правилните променливи във функциите на дисплея на вашия дисплей.)
Това е.
Стъпка 3: Кодът
Ето. Това е доста ясно коментирано, така че не би трябвало да има проблеми. Библиотеките и init за 0.96 OLED са в кода. Заменете го със собствения си дисплей, ако е различен.
// 0.96 OLED библиотеки
#включва
#включва
#включва
#включва
// 0.96 OLED Init
#дефинирайте OLED_RESET 4
Adafruit_SSD1306 дисплей (OLED_RESET);
int секунди;
int минути;
int часове;
void setup () {
// Още няколко 0.96 OLED Init
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay (); display.setTextSize (2); display.setTextColor (БЯЛ); }
void loop () {
секунди = (60 + милис () / 1000) % 60;
минути = (60 + милис () / 60000) % 60; часове = (25 + милис () / 3600000) % 25;
display.clearDisplay ();
display.setCursor (0, 22); // отпечатва броя на часовете след нулиране display.print (часове); display.print ("h:");
// отпечатва броя на миутите след нулирането
display.print (минути);
display.print ("m:");
// отпечатва броя на секундите след нулиране display.print (секунди); display.print ("s");
display.setCursor (0, 0);
display.print ("Хронометър"); display.drawLine (0, 18, 128, 18, БЯЛ); display.display ();
}
Стъпка 4: En Финал …
Значи това е! Сега вървете с него каквото искате. Отделете време за яйца или превземете квартала си.
Наздраве, Aarush
Препоръчано:
Практичен PIR за домашна употреба: 7 стъпки (със снимки)
Практичен PIR за домашна употреба: Подобно на много от вас, работещи с проекти за домашна автоматизация, аз исках да изградя функционален PIR сензор за автоматизиране на някои завои в моя собствен дом. Въпреки че PIR сензорите за превключване на светлината биха били оптимални, не можете да огънете ъгъла. Thi
Прост цифров хронометър CloudX M633: 4 стъпки
Прост цифров хронометър CloudX M633: В този проект ще направим версия на цифров часовник, който може да съхранява записи на часове, минути и секунди, точно като хронометър на вашия мобилен телефон! Ще използваме LCD за показване на часа
Практичен Arduino ESP32 безжичен стенен контакт LED лента: 6 стъпки
Практичен Arduino ESP32 безжичен контролер за LED излъчване на стена: Това е много практичен безжичен контролер за стенен контакт за евтини LED ленти, който замества евтините wifi контролери, продавани в EBay. Те работят добре с RGB Led ленти. Контролерът на EBay Wifi не е конструиран добре и се счупва лесно. Алс
Прост часовник / хронометър Arduino: 6 стъпки (със снимки)
Прост часовник / хронометър Arduino: Този " инструкционен " ще ви покаже и ще ви научи как да направите прост часовник Arduino Uno, който също действа като хронометър само в няколко прости стъпки
Практичен робот: 11 стъпки (със снимки)
Практичен робот: Наричам го практичен робот по редица причини. Може да се използва с ежедневни инструменти, които повечето хора, които работят по къщата, биха имали. Чрез използването на много излишни артикули цената се намалява. Ръката на робота може да повдигне обект от 2 фунта от