- Nepieciešamie materiāli:
- Darba metodika:
- Priekšnosacījumi:
- Maiņstrāvas tālvadības pults darbība:
- Shēmas shēma un skaidrojums:
- Maiņstrāvas tālvadības signālu dekodēšana:
- Galvenā Arduino programma:
- Android lietojumprogrammas instalēšana:
- Mobilā tālruņa kontrolēta maiņstrāvas darbība:
Mūsdienu mūsdienu pasaulē, kur mēs ejam, mums apkārt ir daudz elektronisko ierīču. Bet no visiem ir tikai viena ierīce, kas mums personīgi visu laiku ir kabatā. Jā, tie ir mūsu mobilie tālruņi. Tagad mobilie tālruņi ir kļuvuši vairāk nekā par ierīci, ko izmanto saziņai, tās ir mūsu kameras, tās ir mūsu kartes, tie ir mūsu iepirkšanās kartingi un kas ne?
Izmantojot šo iespēju mūsu rokās, ir patiešām garlaicīga ideja izmantot tālvadības pultis, lai kontrolētu visas elektroniskās lietojumprogrammas mūsu mājās, piemēram, TV, maiņstrāvu, mājas kinozāli utt. Vienmēr ir nepatīkami sasniegt maiņstrāvas tālvadības pulti no mūsu ērtās gultas ērtības. vai dīvāns. Tādējādi šajā projektā mēs izveidosim nelielu iestatījumu, izmantojot kuru, izmantojot viedtālruni, izmantojot Bluetooth un Arduino, jūs varat vadīt gaisa kondicionieri. Izklausās interesanti labi! Uzcelsim vienu
Nepieciešamie materiāli:
- Arduino Mega 2560
- TSOP (HS0038)
- IR Led
- Jebkurš krāsu LED un 1K rezistors (pēc izvēles)
- HC-06
- Maizes dēlis
- Vadu savienošana
Darba metodika:
Visas mūsu mājas tālvadības pultis, kuras mēs izmantojam, lai vadītu TV, mājas kinozāli, maiņstrāvu utt., Darbojas ar IR Blasters palīdzību. IR Blaster nav nekas bet IR LED, kas varētu Blaster signālu pēc atkārtotas pulsing; šo signālu nolasīs elektroniskās ierīces uztvērējs. Katrai atšķirīgai tālvadības pogai tiks uzspridzināts unikāls signāls, kuru pēc uztvērēja nolasīšanas izmanto konkrēta iepriekš noteikta uzdevuma veikšanai. Ja mēs spējam nolasīt šo signālu, kas nāk no tālvadības pults, tad mēs varam atdarināt to pašu signālu, izmantojot IR gaismas diode, kad tas kādreiz ir nepieciešams šī konkrētā uzdevuma veikšanai. Iepriekš mēs esam izveidojuši IR Blaster shēmu universālajam IR tālvadības pulti un automātiskajai maiņstrāvas temperatūras kontrolei.
TSOP ir IR uztvērējs, kas var tikt izmantoti, lai atšifrētu signālu, kas nāk no tālvadības. Mēs izmantosim šo TSOP, lai atšifrētu visu informāciju no mūsu Remote un saglabātu to vietnē Arduino. Pēc tam, izmantojot šo informāciju un IR Led, mēs varam vajadzības gadījumā no jauna izveidot IS signālus no mūsu Arduino.
Priekšnosacījumi:
Šim Arduino Bluetooth kontrolētajam maiņstrāvas projektam pārliecinieties, vai jums ir Arduino Mega, nevis jebkura cita Arduino versija, jo koda lielums ir smags. Instalējiet IR attālo bibliotēku, izmantojot šo saiti, lai strādātu ar TSOP un IR Blaster.
Maiņstrāvas tālvadības pults darbība:
Pirms mēs turpinām iesaistīties projektā, paņemiet kādu laiku un pamaniet, kā darbojas jūsu AC tālvadības pults. Maiņstrāvas pultis darbojas mazliet savādāk, salīdzinot ar TV, DVD IR pultīm. Jūsu tālvadības pultī var būt tikai 10–12 pogas, taču tās varēs nosūtīt daudz dažādu signālu. Tas nozīmē, ka tālvadības pults katru reizi nesūta to pašu kodu. Piemēram, samazinot temperatūru, izmantojot lejupvērsto pogu, lai tā būtu 24 ° C (grādi pēc Celsija), jūs saņemsit signālu ar datu kopu, bet, nospiežot to vēlreiz, lai iestatītu 25 ° C, jūs nesaņemsit to pašu dati, jo temperatūra tagad ir 25, nevis 24. Līdzīgi arī kods 25 mainīsies atkarībā no dažādiem ventilatora ātrumiem, miega iestatījumiem utt. Tāpēc nesamazināsimies ar visām opcijām un koncentrēsim tikai temperatūras vērtības ar nemainīgu citu iestatījumu vērtību.
Vēl viena problēma ir datu apjoms, kas tiek sūtīts par katru pogas nospiešanu, parastie tālvadības pultis ar 24 vai 48 bitu sūtīšanu, bet maiņstrāvas tālvadības pults var nosūtīt līdz 228 bitiem, jo katrs signāls satur daudz informācijas, piemēram, Temp, Fan Speed, Miega režīms, šūpošanās stils utt. Tāpēc labākām uzglabāšanas iespējām mums ir nepieciešams Arduino Mega.
Shēmas shēma un skaidrojums:
Par laimi šī mobilā tālruņa kontrolētā gaisa kondicionētāja aparatūras iestatīšana ir ļoti vienkārša. Jūs varat vienkārši izmantot paneļu un izveidot savienojumus, kā parādīts zemāk.
Šo savienojumu pārbaudei var izmantot arī šo tabulu.
S.Nē: |
Komponenta tapa |
Arduino tapa |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - signāls |
8 |
4 |
IR Led - katods |
Gnd |
5 |
IR Led - Anode |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Zeme |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Kad savienojumi ir izdarīti, tam vajadzētu izskatīties apmēram šādi, kā parādīts zemāk. Esmu izmantojis maizes dēli, lai sakārtotu lietas, bet jūs varat arī jūs tieši no vīrieša līdz sievietei, lai savienotu visas sastāvdaļas
Maiņstrāvas tālvadības signālu dekodēšana:
Pirmais maiņstrāvas vadības solis ir TSOP1738 izmantošana, lai atšifrētu maiņstrāvas tālvadības pults IR kodus. Veiciet visus savienojumus, kā parādīts shēmā, un pārliecinieties, vai esat instalējis visas minētās bibliotēkas. Tagad atveriet piemēru programmai “ IRrecvDumpV2 ”, kuru var atrast sadaļā File -> Piemēri -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Tā kā mūsu TSOP ir izveidots savienojums ar 8. kontaktu, nomainiet līnijas numuru 9 uz int recPin = 8, kā parādīts iepriekš. Pēc tam augšupielādējiet programmu savā Arduino Mega un atveriet sērijas monitoru.
Novietojiet tālvadības pulti pret TSOP un nospiediet jebkuru pogu. Katrai pogai, kurai nospiežat atbilstošo signālu, TSOP1738 nolasīs, Arduino atšifrēja un parādīs seriālajā monitorā. Par katru temperatūras izmaiņu tālvadības pultī jūs saņemsiet atšķirīgus datus. Saglabājiet šos datus, jo mēs tos izmantosim mūsu galvenajā programmā. Jūsu sērijveida monitors izskatīsies apmēram šādi, es esmu parādījis arī Word failu, kurā esmu saglabājis kopētos datus.
Ekrānuzņēmumā ir redzams kods maiņstrāvas tālvadības pults temperatūras iestatīšanai uz 26 ° C. Pamatojoties uz tālvadības pulti, jūs saņemsiet atšķirīgu kodu kopu. Līdzīgi kopējiet visu dažādu temperatūras līmeņu kodus. Visus gaisa kondicionētāja tālvadības pults IR kodus varat pārbaudīt šīs apmācības beigās sniegtajā Arduino kodā.
Galvenā Arduino programma:
Pilnīga Galvenais Arduino programmu var pie šīs lapas apakšā, bet jūs nevarat izmantot to pašu programmu. Jums ir jāmaina signāla koda vērtības, kuras tikko ieguvām no skices parauga. Atveriet galveno programmu savā Arduino IDE un ritiniet uz leju līdz zemāk redzamajam apgabalam, kur masīva vērtības ir jāaizstāj ar vērtībām, kuras ieguvāt savam tālvadības tālrunim.
Ņemiet vērā, ka esmu izmantojis 10 masīvus, no kuriem divi mēs mēdzām ieslēgt un izslēgt maiņstrāvu, bet pārējie 8 tiek izmantoti atšķirīgas temperatūras iestatīšanai. Piemēram, Temp23 tiek izmantots, lai iestatītu 23 * C jūsu maiņstrāvā, tāpēc izmantojiet attiecīgo masīva kodu. Kad tas ir izdarīts, jums vienkārši jāaugšupielādē kods savā Arduino.
Šim projektam mums jāimportē divas bibliotēkas. Viena ir IRremote bibliotēka, kuru mēs tikko pievienojām Arduino, un otra ir iebūvētā programmatūras sērijas bibliotēka, kas mums palīdz izmantot Bluetooth moduli.
# iekļaut
Pēc tam mēs inicializējam Bluetooth moduli tapās 10 un 11 un pēc tam izmantojam objektu ar nosaukumu irsend, lai piekļūtu visām bibliotēkas IR funkcijām.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Tālāk nāk ļoti svarīgās koda rindas. Šeit ir informācija par maiņstrāvas vadību. Zemāk redzamais ir paredzēts manam maiņstrāvas tālvadības tālrunim. Jums vajadzēja iegūt savu iepriekšējā solī.
Tālāk tukšuma iestatīšanas funkcijas ietvaros mēs inicializējam divus seriālos sakarus. Viens ir Bluetooth ar 9600 Bauda ātrumu un otrs ir sērijveida monitors ar 57600 bitu pārraides ātrumu.
void setup () {BT_module.begin (9600); // BT darbojas vietnē 9600 Serial.begin (57600); // Sērijas monitora darba dēls 57600}
Mūsu tukšuma cilpas (bezgalīgas cilpas) iekšpusē mēs pārbaudām, vai Bluetooth modulis ir kaut kas saņemts. Ja kaut kas tiek saņemts, mēs glabājam šo informāciju mainīgajā BluetoothData .
while (BT_module.available ()) // Ja dati nāk {BluetoothData = BT_module.read (); // izlasiet to un saglabājiet to Serial.println (BluetoothData); // testēšanas nolūkā izdrukājiet to uz sērijas}
Bluetooth saņemtā informācija tiks balstīta uz mūsu Android lietotnē nospiežamo pogu, kuru instalēsim nākamajā solī. Kad informācija ir saņemta, mums vienkārši jāiedarbina attiecīgais IR kods, kā norādīts zemāk
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); aizkave (2000); // Nosūtīt signālu, lai iestatītu temperatūru 23C}
Ja tiek saņemts kods 2, mums jāiestata maiņstrāvas temperatūra 23 ° C. Līdzīgi mums ir kods no 0 līdz 9, lai veiktu visas maiņstrāvas pamatfunkcijas. Jūs varat atsaukties uz pilnu arduino kodu šīs lapas beigās.
Android lietojumprogrammas instalēšana:
Viedtālruņa kontrolētā gaisa kondicioniera pēdējais solis ir Android lietojumprogrammas instalēšana. Šī projekta Android lietojumprogramma tika izveidota, izmantojot Android režīma apstrādi. Apstrāde ir lielisks rīks, lai izveidotu.EXE failus vai APK failus iegultajiem projektiem. Tā ir atvērtā koda platforma tāpat kā Arduino, un tāpēc to var pilnībā lejupielādēt, lai to izmantotu.
Ja jūs nevēlaties pārāk daudz iedziļināties tajā, varat vienkārši lejupielādēt APK failu no šejienes zip failā un instalēt to tieši savā mobilajā tālrunī. Atveriet lietojumprogrammu, un jūs saņemsit ekrānu, kā parādīts zemāk, pēc kura jūs varat pāriet uz nākamo soli un baudīt darbu ar projektu. Bet, ja vēlaties pielāgot lietojumprogrammas programmu, lai tā atbilstu jūsu vajadzībām, varat lasīt tālāk.
Pilnīga programma failu apstrādes kodu, var lejupielādēt no šejienes. Šim ZIP numuram būs kods un attēla avots, izmantojot lietojumprogrammu. Pēc koda atvēršanas varat pielāgot šīs rindas, lai pielāgotu to savām vajadzībām.
Kā jau iepriekš minēts, apstrāde ir līdzīga Arduino. Tātad tam ir arī tukšuma iestatīšana un tukšās cilpas (šeit zīmēšana) funkcijas. Tukšās iestatīšanas funkcijas iekšpusē mēs norādīsim tālruņa Bluetooth savienojumu ar Arduino Bluetooth. Mans ierīces nosaukums šeit ir “HC-05”, tāpēc mana koda rindiņa būs
bt.start (); // sākt klausīties BT savienojumus bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Pievienojieties mūsu HC-06 Bluetooth modulim
Pēc tam funkciju load_buttons () iekšpusē varat uzzīmēt tik daudz pogu, cik vēlaties. Esmu uzzīmējis 10 pogas, kā parādīts lietojumprogrammā. Pēc tam mums ir funkcija read_buttons (), kas tiek izmantota, lai noteiktu, kurai pogai jūs pieskaraties. Katrai pogai ir noteikta krāsa, tāpēc, kad lietotājs pieskaras ekrānam, mēs pārbaudām, kurai krāsai viņš ir pieskāries, un nosakām, kurai pogai viņš ir pieskāries. Parauga kodu, lai izveidotu pogu un izvēlieties to, pamatojoties uz krāsas ir parādīts zemāk
aizpildīt (255,145,3); taisns (platums / 2 platums / 4, augstums / 2, platums / 4, augstums / 12); aizpildīt (255); teksts ("25C", platums / 2 platums / 4, augstums / 2); // poga 5 if (color_val == - 13589993) {baitu dati = {'0'}; bt. apraide (dati);}
Rinda “baitu dati = {'0'};” ir ļoti svarīga līnija. Šeit mēs izlemjam, kurš kods ir jānosūta Arduino, izmantojot Bluetooth. Šeit, ja tiek nospiesta šī poga, simbols “0” tiek nosūtīts no Bluetooth uz Arduino. Līdzīgi mēs varam nosūtīt atšķirīgu rakstzīmi dažādām pogām. Pēc tam šīs rakstzīmes var salīdzināt Arduino pusē un veikt attiecīgas darbības.
Ejiet uz priekšu un pūlieties pa kodu, ja jums ir kādas šaubas, sazinieties ar mani caur komentāru sadaļu un centīšos darīt visu iespējamo, lai jums palīdzētu.
Mobilā tālruņa kontrolēta maiņstrāvas darbība:
Kad esat gatavs aparatūras, Arduino koda un android lietojumprogrammām, ir pienācis laiks izbaudīt izvadi. Augšupielādējiet Arduino kodu savā aparatūrā un novietojiet to pretī maiņstrāvai. Tagad atveriet android lietojumprogrammu savā mobilajā tālrunī, ja viss darbojas, kā paredzēts, jums vajadzētu redzēt “ Savienots ar: ierīces_nosaukums (daži kods) ”, kā parādīts zemāk
Tagad vienkārši nospiediet jebkuru Android lietojumprogrammas pogu, un tam vajadzētu aktivizēt attiecīgu darbību ar maiņstrāvu, it kā jūs izmantojat tālvadības pulti. Varat pievienot tik daudz pogu, cik vēlaties, modificējot kodu, kā arī pat automatizēt maiņstrāvu, pamatojoties uz istabas temperatūru vai klātbūtni. Pārbaudiet visu Arduino kodu un zemāk esošo video.
Ceru, ka jums patika projekts un sapratāt tā jēgu. Kā vienmēr, ja jums rodas kādas problēmas šī darba veikšanā, forumus varat izmantot, lai izliktu jautājumus un tos atrisinātu.
APK failu Android lietojumprogrammas instalēšanai var lejupielādēt šeit.