Мазмұны:
Бейне: Қарапайым, практикалық Arduino секундомері: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Arduino секундомерін интернеттен іздеңіз. Егер сіз осында болсаңыз, сіз жай ғана жасаған шығарсыз. Жеке тәжірибеден айта аламын, интернетте кез келген секундомер тым күрделі (кодта, жаңадан бастаушыларға арналған), немесе тым жеңілдетілген және практикалық емес.
Сіз де солай ойлайсыз, иә? Жақсы, не екенін біліңіз. Мен мұны істедім, және мен миллис () функциясынан өзімнің кірісімді аламын- шексіз сандар сызығы (49 күнге дейін немесе кез келгенге дейін). Ең жақсы бөлігі? Бұл тек бір сызық.
Қалпына келтіру - секундомердің нақты бөлігі. Орта деңгейдегі бағдарламашылар үшін, егер сізде әлі жоқ болса, жалғастырып, секундтар, минуттар мен сағаттарды бірге өзіңіз орындауға тырысыңыз. Сіз менің айтқанымды түсінесіз.
Жаңадан бастаушылар үшін оқыңыз және менің ақыл -ойымның данышпанымен рахаттаныңыз.
Мен әзілдеймін, бірақ мен тапқан шешім өте ұқыпты. Міне, бұл:
1 -қадам: Шешім
Мәселен, мәселе қалпына келтіру. Біз қалайтын нәрсе - тізбектелген сандардың (миллис () - бұл миллисекундтарды немесе шын мәнінде 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 -қадам: Бөлшектер
Көп емес, мүлде
- Кез келген ардуино
-
Кез келген дисплей (мен 0,96 дюймдік OLED қолдандым, бірақ сізде бар нәрсені қолдана аласыз, дисплейдің дисплей функцияларына дұрыс айнымалыларды енгізіңіз.)
Міне бітті.
3 -қадам: Кодекс
Міне кеттік. Бұл өте түсінікті, сондықтан ешқандай проблемалар болмауы керек. 0,96 дюймдік OLED үшін кітапханалар мен init кодта. Егер ол басқаша болса, оны өзіңіздің дисплейіңізбен ауыстырыңыз.
// 0,96 «OLED кітапханалары
#қосу
#қосу
#қосу
#қосу
// 0,96 дюймдік OLED кіріс
#OLED_RESET параметрін анықтаңыз 4
Adafruit_SSD1306 дисплейі (OLED_RESET);
int секунд;
int минуттары;
int сағаты;
жарамсыз орнату () {
// Тағы 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 («h:»);
// қалпына келтірілгеннен кейінгі минуттар санын басып шығарыңыз
көрсету.баспа (минут);
display.print («m:»);
// дисплейді қалпына келтіргеннен кейінгі секундтардың санын басып шығарыңыз. басып шығару (секунд); display.print («s»);
display.setCursor (0, 0);
display.print («Секундомер»); display.drawLine (0, 18, 128, 18, АҚ); display.display ();
}
4 -қадам: Қорытындылауды аяқтаңыз …
Міне, осымен! Енді онымен қалағаныңызды жасаңыз. Жұмыртқаға уақыт бөліңіз немесе айналаңызды басып алыңыз.
Сәлем, Аруш
Ұсынылған:
Ардуино Леонардо секундомері: 3 қадам
Ардуино Леонардо секундомері: Кредит: https://www.instructables.com/id/Arduino-Stopwatch .. Бұл секундомердің дизайны жоғарыда көрсетілген сілтемеден шыққан, ол секундомер 1-ден есептеледі, ал бұл 60 секундтан кері есептеледі. . Мен қолданған кодтың көпшілігі түпнұсқаға сәйкес келеді
Қарапайым CloudX M633 сандық секундомері: 4 қадам
Қарапайым CloudX M633 сандық секундомері: Бұл жобада біз ұялы телефондағы секундомер сияқты сағатты, минутты және секундты тіркеуге болатын цифрлық сағаттың нұсқасын жасамақпыз! Біз уақытты көрсету үшін СКД қолданамыз
I2C LCD көмегімен Arduino секундомері: 5 қадам
I2C СК қолданатын Arduino секундомері: Бұл жобада мен сізге СКД дисплейі мен Arduino интерактивті секундомер ретінде қолдануды үйретемін. Жобаңыз берілген кодпен аяқталған кезде, ол жоғарыдағы фотосуретке ұқсас болуы керек. Неден бастау керектігін білу үшін келесі қадамға өтіңіз
Arduino секундомері: 4 қадам (суреттермен)
Arduino секундомері: Бұл нұсқаулық сізге Arduino -дан аялдама жасауды көрсетеді
VHDL секундомері: 8 қадам (суреттермен)
VHDL секундомері: Бұл Basys3 Atrix-7 тақтасы сияқты VHDL мен FPGA схемасын пайдаланып секундомер жасау туралы нұсқаулық. Секундомер 00.00 секундтан 99.99 секундқа дейін есептей алады. Ол екі түймені пайдаланады, біреуі бастау/тоқтату түймесі үшін, екіншісі