Ардуино: направи будилицу - како то ради
У овом практичном савету научићете како да направите будилицу са Ардуином. То је лако с правим кодом.
Ардуино: направи будилицу - како то ради
За Ардуино будилник требате напајање, ИР пријемник са даљинским управљачем, зујалица, ДС3231 модул у стварном времену, термистор, ЛЦД и наравно плоча и Ардуино са одговарајућим скакачким кабловима.
- Прво на исправну плочу прикључите напајање исправно и проверите да ли је подешено на 5 волти са обе стране.
- Повежите инфрацрвени пријемник на плус и минус траку и на пин 3.
- Прикључите активни звучни сигнал на пин 13 и уземљење (минус бар).
- ДС3231 модул је такође повезан са плус и минус тракама. Такође повежите СДА са СДА и СЦЛ на СЦЛ на Ардуину.
- Сада вам је потребан термистор, који је такође спојен на 5 волти и на аналогни 0 преко отпорника од 10 кОхм.
- На крају, морате повезати ЛЦД. К је повезан са - и А до +. Игле од Д4 до Д7 повезују се с иглицама 9 до 12 на Ардуино. Сада морате спојити Е на пин 8, РВ на минус бар и РС на пин 7. Прикључите пин В0 на 10к потенциометар који је спојен на 5В и уземљење. На крају, спојите ВДД на 5В и ВСС на земљу.
Програмирајте будилник Ардуино
Ако сте све правилно поставили, можете програмирати Ардуино будилник. За ово смо написали мали узорак кода:
- #инцлуде #инцлуде #инцлуде #инцлуде "ИРремоте.х" инт темпПин = 0; ДС3231 сат; РТЦДатеТиме дт; ЛикуидЦристал лцд (7, 8, 9, 10, 11, 12); инт пријемник = 3; ИРрецв ирцв (пријемник); децоде_ресултати резултата; инт аларм; боолеан аларм_стате = лажно; Стринг хоур; Стринг таргет_тиме; Стринг минуте; Стринг цуррент_тиме; инт звук = 13; воид транслатеИР () {свитцх (ресултс.валуе) {цасе 0кФФА25Д: аларм_стате =! аларм_стате; бреак; // ПОВЕР цасе 0кФФЕ21Д: одмор; // ФУНЦ / СТОП случај 0кФФ629Д: одмор; // ВОЛ + кућиште 0кФФ22ДД: бреак; // ХИТРО БАЦК цасе 0кФФ02ФД: бреак; // кућиште ПАУСЕ 0кФФЦ23Д: бреак; // Случај брзог напретка 0кФФЕ01Ф: одмор; // ДОЉЕ случај 0кФФА857: бреак; // ВОЛ- кућиште 0кФФ906Ф: бреак; // УП случај 0кФФ9867: бреак; // ЕК случај 0кФФБ04Ф: прекид; // случај СТ / РЕПТ 0кФФ6897: аларм = 0; адд (); бреак; // 0 случај 0кФФ30ЦФ: аларм = 1; адд (); бреак; // 1 случај 0кФФ18Е7: аларм = 2; адд (); бреак; // 2 случаја 0кФФ7А85: аларм = 3; адд (); бреак; // 3 случаја 0кФФ10ЕФ: аларм = 4; адд (); бреак; // 4 случаја 0кФФ38Ц7: аларм = 5; адд (); бреак; // 5 кућишта 0кФФ5АА5: аларм = 6; адд (); бреак; // 6 кућишта 0кФФ42БД: аларм = 7; адд (); бреак; // 7 случај 0кФФ4АБ5: аларм = 8; адд (); бреак; // 8 кућишта 0кФФ52АД: аларм = 9; адд (); бреак; // 9 случај 0кФФФФФФФФ: одмор; подразумевано: бреак; } кашњење (500); } воид адд () {таргет_тиме + = Стринг (аларм); } воид сетуп () {пинМоде (зујање, ИЗЛАЗ); лцд.бегин (16, 2); цлоцк.бегин (); цлоцк.сетДатеТиме (__ ДАТЕ__, __ТИМЕ__); иррецв.енаблеИРИн (); } воид лооп () {инт темпРеадинг = аналогРеад (темпПин); дупли темпК = лог (10000, 0 * ((1024, 0 / темпРеадинг - 1))); темпК = 1 / (0, 001129148 + (0, 000234125 + (0, 0000000876741 * темпК * темпК)) * темпК); флоат темпЦ = темпК - 273, 15; флоат темпФ = (темпЦ * 9.0) / 5.0 + 32.0; дт = цлоцк.гетДатеТиме (); лцд.сетЦурсор (0, 0); лцд.принт (формат сата.дате ("дмИ Х: и: с", дт)); лцд.сетЦурсор (0, 1); лцд.принт (Стринг (темпЦ) + "" + Стринг ((цхар) 223) + "Ц"); иф (нере.воде код (и резултати)) {транслатеИР (); иррецв.ресуме (); } хоур = цлоцк.датеФормат ("Х", дт); минут = цлоцк.датеФормат ("и", дт); цуррент_тиме = сат + минут; иф (цуррент_тиме == одредишно време && аларм_стате == труе) {пинМоде (зујање, ХИГХ); } елсе {пинМоде (зујање, ЛОВ); } иф (аларм_стате == тачно) {лцд.сетЦурсор (10, 1); лцд.принт ( "!"); } елсе {лцд.сетЦурсор (10, 1); лцд.принт (""); } иф (таргет_тиме.ленгтх () == 4) {лцд.сетЦурсор (11, 1); лцд.принт (дестинатион_тиме); } елсе иф (таргет_тиме.ленгтх () <4) {лцд.сетЦурсор (11, 1); лцд.принт ( "ТИП"); } елсе {лцд.сетЦурсор (11, 1); лцд.принт ( "ТИП"); таргет_тиме = ""; } кашњење (1000); }
- Савет: Копирајте овај код у свој ИДЕ и прилагодите га према потреби. Детаљно објашњење линија кодова можете пронаћи у нашој галерији слика.
У следећем чланку ћемо објаснити како можете да управљате ГСМ модулом помоћу Ардуино-а.