Turinys:

„Arduino“/„Android“laikmatis (su programa!). Valdykite šviesas ir kitus dalykus: 6 veiksmai
„Arduino“/„Android“laikmatis (su programa!). Valdykite šviesas ir kitus dalykus: 6 veiksmai

Video: „Arduino“/„Android“laikmatis (su programa!). Valdykite šviesas ir kitus dalykus: 6 veiksmai

Video: „Arduino“/„Android“laikmatis (su programa!). Valdykite šviesas ir kitus dalykus: 6 veiksmai
Video: #17 Таймер плановой работы DS3231 RTC | Внешний ПЛК Arduino 2024, Lapkritis
Anonim
Image
Image
„Arduino“/„Android“laikmatis (su programa!). Valdykite šviesas ir kitus dalykus
„Arduino“/„Android“laikmatis (su programa!). Valdykite šviesas ir kitus dalykus
„Arduino“/„Android“laikmatis (su programa!). Valdykite šviesas ir kitus dalykus
„Arduino“/„Android“laikmatis (su programa!). Valdykite šviesas ir kitus dalykus

Sveiki! Štai aš su kitu laikmačiu. Naudodami šį projektą galite nustatyti, ar laikmatis bus įjungtas ar išjungtas kiekvieną valandą. Naudodami „Android“programą galite nustatyti daugiau nei vieną įvykį per dieną. Derindami „Arduino“ir „Android“galime „praleisti“sudėtingas grandines, todėl mums nereikia LCD, mygtukų ir pan. Jums tereikia pasirinkti, kurią valandą telefone ar planšetiniame kompiuteryje norite įjungti arba išjungti.

Programavimas atliekamas per „Bluetooth“. Užprogramavę laikmatį, galite atjungti telefoną. Sistema išsaugo nustatymus (nebent išjungiate arduino). Jei vėl prisijungsite, sistema „susieja“ankstesnę mygtukų būseną.

Šis projektas skirtas valdyti žibintus, tačiau galite jį naudoti daugelyje kitų programų.

Dalykai, kurių jums reikės:

-Arduino UNO

-RTC 1307 modulis

-HC-06 „Bluetooth“modulis

-5V relės modulis

-Plastikinė dėžė

-12V adapteris (tinka arduino)

-Bet koks „Arduino“skydo prototipas

-„Android“telefonas ar planšetinis kompiuteris

-Lituoklis, litavimo viela

-smeigtuko antraštės

-Laidai

-AC kištukas ir lizdas

Žiūrėti video įrašą! Naudokite jį kaip vadovą.

1 žingsnis: skydas

Skydas
Skydas
Skydas
Skydas
Skydas
Skydas

Turime sukurti kompaktišką grandinę, kad laikytume modulius ir sutaupytume vietos. Prototipo skydas yra geras pasirinkimas. Sekite laidų vadovą ir lituokite kaiščių antgalius ir lizdus. Būkite atsargūs, jei jūsų moduliai neturi vienodo kaiščių išdėstymo.

„Arduino“į modulius:

A4 į SDA RTC

Nuo A5 iki SCL RTC

„Pin-10“į „Bluetooth TX“

„Pin-11“į „Bluetooth RX“

Smeigtukas 13 prie relės S

GND ir VCC (5V) atitinkamai.

Galite pritaikyti grandinę pagal savo poreikius.

Sumontuokite skydą ir prijunkite modulius.

PASTABA: Kiti veiksmai reikalauja skydo ir prijungtų modulių. Įkelkite ir paleiskite kodus, kai yra sumontuotas skydas.

2 veiksmas: laiko nustatymas (RTC)

Dabar turime nustatyti laikrodį. Naudokite „Adafruit“kodą. Paleiskite kodą „Nustatykite laiko RTC“. Šis eskizas paima datą ir laiką pagal jūsų naudojamą kompiuterį (iškart, kai surenkate kodą) ir naudoja jį RTC programavimui. Jei jūsų kompiuterio laikas netinkamai nustatytas, pirmiausia turėtumėte tai išspręsti. Tada, norėdami sudaryti, turite paspausti mygtuką Įkelti, o tada nedelsdami įkelti.

Įspėjimas!: Jei sukompiliuosite ir įkelsite vėliau, laikrodis bus išjungtas tiek laiko.

Tada atidarykite serijinio monitoriaus langą ir parodykite, kad laikas nustatytas.

Daugiau informacijos čia (naudojant realaus laiko laikrodį):

cdn-learn.adafruit.com/downloads/pdf/adafruit-data-logger-shield.pdf

3 veiksmas: „Bluetooth“perdavimo dažnio keitimas (pasirenkama)

Vykdykite šį vadovą, jei norite pakeisti duomenų perdavimo spartą, bet naudokite mano kodą (žemiau), pritaikytą šiai grandinei. Nekeiskite kaiščių ar jungčių. Praleiskite 1 ir 2 veiksmus. Pradėkite nuo 3 veiksmo.

42bots.com/tutorials/hc-06-bluetooth-module…

Nepamirškite pakeisti duomenų perdavimo spartos čia:

void setup () {BT.begin (115200); // arba 9600, jei nekeičiate duomenų perdavimo spartos

9600 yra numatytoji HC-06 perdavimo sparta (paprastai). Aš tikrai nežinau, kiek tai turi įtakos, nes aš jau turėjau 115200 duomenų perdavimo spartą (žinoma, kad 115200 yra greitesnė nei 9600).

4 žingsnis: programa + „Arduino“kodas

Programa + „Arduino“kodas
Programa + „Arduino“kodas
Programa + „Arduino“kodas
Programa + „Arduino“kodas

Programa buvo sukurta kartu su MIT programų išradėju. Tai mano pirmoji programa !.

Programa siunčia tekstą, kai spustelite mygtuką, o arduino gauna tekstą ir nustato mygtuko būseną (HIGH arba LOW). Mygtukai veikia kaip „perjungimas“, todėl jums nereikia pasirinkti įjungimo ir išjungimo (tiek daug programų). Tada arduino siunčia kitą tekstą, kad pakeistų mygtuko spalvą. Taigi mygtukų spalvą nurodo arduino, o ne programa. Ši funkcija leidžia atjungti „Android“, o iš naujo prisijungus sistema atsiųs ankstesnius nustatymus. RTC kontroliuoja laiką. Perjunkite funkcijų palyginimą, valandą po valandos, mygtuko būseną (HIGH arba LOW) ir įjunkite arba išjunkite relę.

Pavyzdžiui: 0 val

(Programa) Spustelėkite 0 (raudona)> Siųsti „a“>

(„Arduino“) Gaukite „a“> Pakeiskite state_0 į HIGH>, jei state_0 == HIGH> Siųskite „aa“į programą>

Perjungti atvejį 0: jei būsena_0 == AUKŠTA> Relė ĮJUNGTA

(Programa) Gaukite „aa“> Pakeiskite spalvą į žalią

Spustelėkite dar kartą:

(Programa) Spustelėkite 0 (žalia)> Siųsti „a“>

(„Arduino“) Gauti „a“> Pakeisti būseną_0 į LOW> jei būsena_0 == LOW> Siųsti „ab“į programą> Perjungti atvejį 0: jei būsena_0 == ŽEMA> Relė išjungta

(Programa) Gaukite „ab“> Pakeiskite spalvą į raudoną

Galbūt sistema yra šiek tiek lėta, tačiau stabili ir niekada neprarasite būsenos.

Galite peržiūrėti programą ir keisti tai, ko norite, arba naudoti ją kitam projektui

ai2.appinventor.mit.edu/?galleryId=6319497148628992

5 žingsnis: dėžutė

Dėžė
Dėžė
Dėžė
Dėžė
Dėžė
Dėžė
Dėžė
Dėžė

ĮSPĖJIMAS: būkite atsargūs su aukšta įtampa!

Naudokite komponentams tinkamą dėžutę. Pritvirtinkite modulius ir arduino plokštę prie dėžutės, kad dėžėje nebūtų „plaukiojančių“komponentų. Aš naudoju kai kuriuos tarpiklius.

Turite nutraukti vieną liniją naudodami relę „COM“ir „NE“. Žiūrėkite schemą. Laido ilgis priklauso nuo jūsų taikymo.

PASTABA: Aš naudoju RTC iš duomenų kaupiklio skydo (jis tas pats). Naudodami modulį RTC 1307 galite sutaupyti vietos arba pritvirtinti jį prie prototipo skydo (aš naudoju rtc kitame veikiančiame projekte)

Dėžutę galite pagaminti pagal savo poreikius, vadovaudamiesi šiuo vadovu.

6 veiksmas: laikmačio naudojimas

Įkelkite kodą „Arduino Android Timer“

Įjunkite „Bluetooth“„Android“įrenginyje. Atlikite veiksmus, kaip ir bet kuris kitas „Bluetooth“įrenginys. Pirmoji mygtukų būsena yra pilka (neprijungta). HC-06 turi lemputę, kuri mirksi, kai neprisijungta, spustelėkite „Bluetooth“, kad užmegztumėte ryšį. Jei ryšys bus sukurtas, šviesos diodas bus įjungtas. Skirkite kelias sekundes „susieti“mygtukų būseną.

Galite suplanuoti daugiau nei vieną įvykį per dieną, pavyzdžiui: nuo 0 iki 3; nuo 8 iki 13; Nuo 16 iki 22 ir kt.

Prijunkite savo lempą. Dabar pasirinkite valandą, kurią norite įjungti (žalia) arba IŠJUNGTI (raudona), ir viskas!. Galite užprogramuoti laikmatį, kad namo šviesa dega, kai grįšite namo po pietų.

Atminkite, kad programa skirta tik programavimui. Kai tai padarysite, galite atjungti telefoną ar planšetinį kompiuterį, o sistema išsaugos nustatymus, kol nepakeisite nustatymų arba išjungsite arduino. Jei vėl prisijungsite, arduino atsiųs jums mygtukų būseną.

Programa buvo išbandyta naudojant „Android“4.2.2 ir 5.1.

Kaip jau sakiau, šis projektas turi daug pritaikymų, tai priklauso nuo jūsų!

Rekomenduojamas: