Мазмұны:

LCD дисплейі мен Bluetooth қосымшасы бар Күннің шығатын дабыл сағаты: 8 қадам
LCD дисплейі мен Bluetooth қосымшасы бар Күннің шығатын дабыл сағаты: 8 қадам

Бейне: LCD дисплейі мен Bluetooth қосымшасы бар Күннің шығатын дабыл сағаты: 8 қадам

Бейне: LCD дисплейі мен Bluetooth қосымшасы бар Күннің шығатын дабыл сағаты: 8 қадам
Бейне: Home Automation: How to use 7 Program 0.1s to 9999 minutes Relay Timer XY-LJ02 2024, Шілде
Anonim
LCD дисплейі мен Bluetooth қосымшасы бар Күннің шығатын оятқыш сағаты
LCD дисплейі мен Bluetooth қосымшасы бар Күннің шығатын оятқыш сағаты
LCD дисплейі мен Bluetooth қосымшасы бар Күннің шығатын оятқыш сағаты
LCD дисплейі мен Bluetooth қосымшасы бар Күннің шығатын оятқыш сағаты

Қыс қайғылы болуы мүмкін. Сіз ояндыңыз, қараңғы, сіз төсектен тұруыңыз керек. Сіз естігіңіз келетін соңғы нәрсе - оятқыштың тітіркендіргіш дыбысы. Егер сізде, мен сияқты, таңертең тұру кезінде қиындықтар туындаса, бұл оятқыш сізге қажет.

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

Біз сондай -ақ bluetooth модулін пайдаланып, дабылды телефон арқылы сағатқа орнатуға мүмкіндік беретін қосымша жасаймыз. СКД дисплейі уақытты, күнді және аптаның күнін көрсетеді. Sunrise шамдары нарықта бар, бірақ олар қымбат болуы мүмкін (Google-де жылдам іздеу 100 евролық өнімдерді қайтарады), нәзік және клиникалық. Сондықтан мен Arduino мектебінің жобасына өз бетімше жасауды шештім. Барлық бөліктер келесі қадамда тізімделеді. Кодты Github репо күннің шығуы-оятқыш сағатынан жүктеуге болады. Бастайық:)

барлық кодты мына жерден табуға болады:

1 -қадам: бөлшектерді жинау

Бөлшектерді жинау
Бөлшектерді жинау
Бөлшектерді жинау
Бөлшектерді жинау
Бөлшектерді жинау
Бөлшектерді жинау

Біз күннің шығуын модельдеу үшін сағатты кіріс ретінде ультра жарық диодты қолданамыз.

Схеманы құру үшін бізге қажет:

- Arduino Uno- RTC DS3231 сағат модулі - жарықтың жарықтығын басқаратын MOSFET - супер жарықты жарық диоды (мен 2, бір жылы, бір суық сатып алдым) - жарық диодты қуаттандыратын 9В батарея - нан тақтасы - СКД дисплейі (16): 2)- Bluetooth адаптері hc-05, сондықтан біз дабылды орнату үшін қосымшаны пайдалана аламыз.

Сізге қажет нәрсені www.martoparts.nl сайтынан сатып алуға болады

2 -қадам: тізбекті жинау

Тізбекті жинау
Тізбекті жинау
Тізбекті жинау
Тізбекті жинау

Сіз менің схемамның эскизіне сілтеме жасай аласыз, өкінішке орай мен бағдарламада RTC DS3231 таба алмадым, сондықтан мен онымен жұмыс істеуге тура келді. Байланыс шын мәнінде сәл өзгеше, міне қосылымдар. (Bluetooth модулі эскизде жоқ, бірақ мен оның қалай жұмыс істейтінін түсіндіремін, бұл өте қиын)

RTC DS3231GND arduino -да GND -ге өтеді

VCC 5 вольтке өтеді

SDA arduino -ға барады

SCL arduino -ға өтеді Біз SQW & 32KMOSFET қолданбаймыз

Қақпа түйреуіші Arduino Uno ~ 9 түйреуішіне өтеді, себебі бұл PWMDrain түйреуіші светодиоды теріс жағына өтеді ArduinoLCD-DisplayGND ардуинода GND-ге өтеді.

VCC 5VSDA-ға ауысады arduino-да A4-ке өтедіSKL arduino-да A5-ке өтеді- mosfet-ке барады+ 5v9v батареясына барады 9v батареяны кез келген жергілікті дүкеннен сатып алуға болады, ардуиноны коннектор жолағымен қосыңыз.

Hc-055V Bluetooth модулі arduino-дан 5В-қа өтеді

GND arduino -да GND -ге өтеді

Енді тағы 2 кіріс бар, бірақ мұнда күрделі бөлік бар, біз hc-05-тен arduinoTX-тегі қарама-қарсы кірістерді байланыстыруымыз керек, arduinoRX-те hx-05-тен arduino-да TX-ке өтеді.

Маңызды: arduino-ға кодты жүктеу кезінде HC-05-тен TX & RX Ажыратқаныңызға көз жеткізіңіз немесе компиляторда «кодты жүктеу кезінде бірдеңе дұрыс болмады» деген қате пайда болады.

3 -қадам: СКД дисплейі мен сағатын орнату

СКД дисплейі мен сағатын орнату
СКД дисплейі мен сағатын орнату
СКД дисплейі мен сағатын орнату
СКД дисплейі мен сағатын орнату

СКД дисплейі үшін пайдаланылатын кітапхана сұйық кристалды және оны мына жерден табуға болады: https://github.com/fdebrabander/Arduino-LiquidCrys… ZIP файлын жүктеп алып, оны сақтап Arduino/library кітапханасына қойыңыз.

Мен сағатты іске қосу үшін пайдаланатын кітапхананы Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 сайтынан табуға болады және DS3231 бетінде екеніңізге көз жеткізіңіз. ZIP файлын жүктеңіз, сақтаңыз және Arduino кітапханалар қалтасына қойыңыз.

Уақыт

DS3231 немесе DS1307 кітапханасын arduino кодына қосыңыз

Уақытты орнату үшін кодтың осы 3 жолын өшіріңіз:

// rtc.setDOW (ДҮЙСЕНБІ); // Аптаның күнін жексенбіге орнату // rtc.setTime (23, 57, 0); // Уақытты 12:00:00 (24 сағат форматы) етіп орнатыңыз // rtc.setDate (14, 1, 2019); // Күнді 2014 жылдың 1 қаңтарына орнатыңыз

СКД дисплей

Liqduicrystal_i2c кітапханасын arduino кодына қосыңыз

СКД дисплейде басып шығару үшін пайдаланыңыз

lcd.setCursor (col, жол) // басылған мәтіннің орны lcd.print (~) // басылған мәтін

4 -қадам: кодтау

Кодтау
Кодтау

Кодты жүктеңіз: github:

СКД дисплейінде сағатты орнату үшін осы 3 жолды өшіріңіз:

// rtc.setDOW (ДҮЙСЕНБІ); // Аптаның күнін жексенбіге орнату // rtc.setTime (23, 57, 0); // Уақытты 12:00:00 (24 сағат форматы) етіп орнатыңыз // rtc.setDate (14, 1, 2019); // Күнді 2014 жылдың 1 қаңтарына орнатыңыз

Lcd.setCuros пайдаланыңыз (col, қатар); дисплейде мәтіннің орнын орнату үшін

lcd.setCursor (0, 2);

және дисплейде бір нәрсені басып шығару үшін () басыңыз

lcd.print (rtc.getDateStr ());

Қаласаңыз, бұл айнымалыларды өзгертіңіз

int fadeTime = 1; // Жарық maxint setHour = 02 дейін қанша уақытқа дейін өшеді; // Сағаттарды ояту үшін орнатыңыз (әскери уақыт) int setMin = 49; // int uled = 9 ояту үшін минутты орнатыңыз; // PWM көмегімен түйреуді орнатыңыз

Bluetooth модулінің коды

FirstHalf жолы = getValue (енгізу, ':', 0); // «:» дейін бірінші енгізуді тексеріңіз

SecondHalf жолы = getValue (енгізу, ':', 1); // «:» кейін екінші кірісті тексеріңіз

// егер сіз Bluetooth модулін пайдаланбасаңыз, осы кодты қолданыңыз

// // if (t.hour == setHour && t.min == setMin) // Оянатын уақыт екенін тексеріңіз! // {// бастау (); //}

// бірінші 2 таңбалы кірісті тексеріңіз, содан кейін кірістің екінші 2 цифрын тексеріңіз

if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {бастау (); }}

// жолдарды бөлу логикасы

GetValue жолдары (String data, char separator, int index) {int found = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;

for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == бөлгіш || i == maxIndex) {табылған ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} қайтару табылды> индекс? data.substring (strIndex [0], strIndex [1]): «»; }

5 -қадам: Тестілеу уақыты

Кодты құрастырыңыз және компоненттер жұмыс істейтінін тексеріңіз!

6-қадам: Bluetooth қосымшасын орнату

Bluetooth қосымшасын орнату
Bluetooth қосымшасын орнату
Bluetooth қосымшасын орнату
Bluetooth қосымшасын орнату
Bluetooth қосымшасын орнату
Bluetooth қосымшасын орнату

Мен дабыл орнатқым келген сайын кодты қазып алуды мазалайтын болғандықтан, дабылды орнататын қосымша жасағым келді, бұл әлдеқайда жеңіл.

Http: //ai2.appinventor.mit.edu сайтына өтіңіз, біз дабылды орнатуға мүмкіндік беретін қарапайым бағдарлама жасай аламыз, мен оған дизайнның қарапайым қондырғысын енгіздім (сіз мұны кейінірек реттей аласыз) және bluetooth қосылымы. Қолданбаны жариялауға және телефонмен байланыстыруға болады, оны QR кодын қолдана отырып немесе компьютерге тікелей жүктеп алып, телефонға кабельмен тасымалдауға болады. (скриншот)

7 -қадам: Істі құру

Істі құрастыру
Істі құрастыру
Істі құрастыру
Істі құрастыру
Істі құрастыру
Істі құрастыру

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

8 -қадам: Аяқталды

Аяқталды!
Аяқталды!
Аяқталды!
Аяқталды!
Аяқталды!
Аяқталды!

Енді сіз кодты arduino -ға жүктеп, корпусты құрастырып, сағатты дұрыс жинағаныңызды тексердіңіз, bluetooth қосымшасында дабыл орнатып, табиғи түрде оятуды бастауға болады!:)

Ұсынылған: