Мазмұны:

Arduino матрицалық сағаты: 6 қадам
Arduino матрицалық сағаты: 6 қадам

Бейне: Arduino матрицалық сағаты: 6 қадам

Бейне: Arduino матрицалық сағаты: 6 қадам
Бейне: DIY 32 * 8 точечно-матричные спектральные часы / полноцветный RGB с голосовой активацией 2024, Қараша
Anonim
Arduino матрицалық сағаты
Arduino матрицалық сағаты

Сипаттама:

Сағатыңызды Arduino, матрицалық дисплей және Real Time Clock (RTC) модулінің көмегімен жасаңыз. Бұл қызықты және қарапайым жоба, менің ойымша, бұл жаңадан бастаушылар үшін өте жақсы. Сағат уақытты, күнді, айды және жылды дәл бақылау үшін RTC модулін қолданады. Сонымен қатар, модульде кіріктірілген температура сенсоры бар. Сіз DS3231 модулі туралы, сондай -ақ ол үшін қолданылатын I2C байланыс шинасы туралы толығырақ біле аласыз. Ақырында, біз нүктелік матрицалық дисплейді қолданамыз, әрине, уақытты, аптаның күнін, айды және т. Төмендегі мәліметтер кестесіндегі дисплей мен MAX7219 IC драйвері туралы толығырақ біле аласыз.

Бұл жобаның pdf нұсқасын мына жерден жүктеуге болады. Бұл іс жүзінде нұсқаулықпен бірдей.

[UPDATE: 22.02.19] pdf нұсқаулығын пайдаланбаңыз, мен бұл нұсқаулықты жаңарттым, бірақ бұл өзгерістер әлі де pdf -те көрсетілмеген.

1 -қадам: компоненттерді жинау

Бұл жобаға қажет компоненттер:

  • Max7219 нүктелік матрицалық дисплей [Мұнда сатып алу] [мәліметтер кестесі]
  • RTC DS3231 [Мұнда сатып алу] [мәліметтер кестесі]
  • 3В CR3032 батареясы (DS3231 үшін)

Сонымен қатар, сізге кез -келген Arduino (жобаның көлемін барынша азайту үшін нано), нан тақтасы, қосқыш сымдар, сондай -ақ компьютерде орнатылған Arduino IDE қажет.

2 -қадам: Кітапханалар

Кітапханалар
Кітапханалар

Келесі кітапханаларды жүктеп алып,.zip файлын Arduino IDE -ге Sketch> Include Library> Add. Zip кітапханасына өту арқылы орнатыңыз.

ЕСКЕРТУ: НҰСҚАЛАР МАҢЫЗДЫ !

* Жүктеу алдында сізде дұрыс нұсқалар бар екеніне көз жеткізіңіз. Мен қауіпсіз жерде болу үшін Arduino IDE ішіндегі әрбір кітапхананы жүктеуді ұсынамын.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Немесе

Arduino IDE -де Sketch> Кітапхананы қосу> Кітапханаларды басқару тармағына өтіңіз және іздеу жолағына «MAX72XX» деп теріңіз, сіз келесіні көресіз (суретті қараңыз):

Тек MD_MAX72XX және MD_Parola орнатыңыз. MD_MAXPanel қажет емес.

3 -қадам: Сіздің компоненттеріңізді тексеру

Кітапханаларды орнатқаннан кейін, олардың жұмыс істеп тұрғанына көз жеткізу үшін компоненттерді жеке тексеріңіз. Барлығын біріктірмес бұрын мына қадамдарды орындаңыз

DS3231 RTC модулін тексеру үшін DS3231 жүйесін Arduino -ға қосыңыз (төмендегі сымдарды қараңыз). Содан кейін Arduino IDE -де Файлдар> Мысалдар> DS3231> DS3231_Test тармағына өтіп, эскизді жүктеңіз. Сериялық мониторды ашып, дұрыс күнді, уақытты, күнді және т.б. алғаныңызды тексеріңіз.

Матрицалық дисплейді тексеру үшін алдымен оны Arduino -ға қосыңыз (төмендегі сымдарды қараңыз). Содан кейін Arduino IDE -де Файлдар> Мысалдар> MD_Parola> Parola_HelloWorld тармағына өтіп, эскизді жүктеңіз. Дисплейде HELLO басылғанын көруіңіз керек және ол артқа қарай басып шығарылуы мүмкін. Егер мәтін кері болса, келесі жолды өзгерту керек:

#HARDWARE_TYPE MD_MAX72XX анықтаңыз:: PAROLA_HW

Кімге

#анықтаңыз HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Эскизді қайтадан жүктеңіз және мәселе шешілуі керек.

Енді біз компоненттерді тексердік, біз бәрін сыммен қосуға дайынбыз!

4 -қадам: Сымдарды жалғау

Сымдар
Сымдар
Сымдар
Сымдар
Сымдар
Сымдар

Диаграмманы немесе схеманы немесе кестені қараңыз

5 -қадам: КОД

Кодты мына жерден алыңыз

Ескерту: Мен бастапқыда электронды жобалар кодын қолдандым, бірақ оны ағымдағы (аяқталған кезде) кітапханаларды қолдау үшін өзгерттім.

Сағат ерекшеліктері:

Сағат автоматты түрде 24 сағат форматында уақытты көрсетеді, бірақ оны 12 сағатқа оңай өзгертуге болады. Сағат сонымен қатар температураны көрсетеді (Цельсийде де, Фаренгейтте де). Мен сондай -ақ «Ұйқы режимі» деп аталатын функцияны қостым, ол «ӨШІРУЛІ» күйіне орнатылған (толығырақ төмендегі Ұйқы режимін қараңыз).

12 сағ форматы: сағатты 12 сағаттық форматта көрсету үшін 88 -жолға түсініктеме беру керек

сағат = Clock.gethour (h12, PM); // 24 сағат форматы

93 -тен 100 -ге дейінгі жолдарды түсіндірмеңіз

if (Clock.getHour (h12, PM)> = 13 || Clock.getHour (h12, PM) == 0)

{с = Clock.getHour (12, PM) - 12; } else {h = Clock.getHour (h12, PM); }

Ұйқы режимі:

Бұл, әсіресе, біз ұйықтап жатқан уақытта, сағат жарықтығын төмендетуге көмектесетін мүмкіндік. Менің ойымша, сіз түн ортасында және осы сағаттан соқыр болып оянғыңыз келмейді. Ол ең төменгі параметрде болса да өте жарқын. Ұйқы режимін қосу үшін 177 -ден 184 -ке дейінгі жолдарды өшіріңіз

if (h == 12 || h <8) // Уақыт интервалдары (бұл жағдайда, 12.00 -ден 8.00 -ге дейін) {P.setIntensity (0); // Дисплей жарықтығын ең төменгі параметрге қойыңыз} else {P.setIntensity (6); // Дисплей жарықтығын 6 -ға қойыңыз (15 - ең жарқын)}

Ескерту: Сағат 12 сағаттық режимге орнатылған кезде ұйқы режимін пайдалану кезінде мәселе туындады. Сіз күніне екі рет жұмыс істейтінін байқайсыз, өйткені таңертеңгі 8 -де және кешкі 8 -де 8 -де түсіндіріледі. Сонымен, егер сіз ұйқы режимін 21: 00 -ден 7: 00 -ге дейін белсенді етіп орнатсаңыз, ол 9: 00 -ден 19: 00 -ге дейін белсенді болады. БІРАҚ, егер сағат 24 сағат режиміне орнатылса, бұл мәселе туындамайды.

6 -қадам: Қорытынды

Құттықтаймын !!! Сізде жұмыс сағаты бар. Менікі осылай шықты [Сағат галереясы]. Сіз компоненттер мен кодтау туралы аз ғана біліп қана қоймай, сол жерге саяхат ұнады деп үміттенемін. Осы нұсқаулық туралы өз ойларыңызды [email protected] мекен -жайымен бөлісіңіз. Бұл шын мәнінде менің алғашқы жобалық нұсқаулығым және ол сізге жақсы қызмет етті деп сендім. Мен тағы да көптеген гидтер құрамын деп үміттенемін. Сонымен қатар, егер сізде жоба бойынша сұрақтар, ұсыныстар және/немесе жақсартулар болса, маған хабарлаңыз.

Ұсынылған: