Përmbajtje:
- Hapi 1: Parakushtet
- Hapi 2: Ndërtimi i Bordit
- Hapi 3: Skematike
- Hapi 4: Shtoni Bibliotekën Irremote në Softuerin Arduino
- Hapi 5: Regjistroni kodet nga telekomandat tuaja
- Hapi 6: Krijoni faqen në internet për telekomandën tuaj
- Hapi 7: Ngarko kodin e telekomandës te Arduino -ja juaj
- Hapi 8: Lidhuni me serverin e uebit nga kompjuteri juaj
- Hapi 9: Hapi Opsional: Ndryshoni skedarin e hosteve tuaj për ta bërë më të lehtë për t'u përdorur
Video: Telekomanda e bazuar në shfletuesin Arduino (linux): 9 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Ne kemi fëmijë. I dua paksa, por ata vazhdojnë të fshehin telekomandën për satelitin dhe televizorin kur vendosin kanalet e fëmijëve. Pasi kjo ndodhi në baza ditore për disa vjet, dhe pasi gruaja ime e dashur më lejoi të kem një Arduino për Krishtlindje, vendosa që ishte koha për të bërë diçka të dobishme (në sytë e saj!) Me Arduino. Pra, këtu kemi kulmin e tij: një ndërfaqe e bazuar në ueb për Arduino që zëvendëson telekomandat e mia dhe është e arritshme nga rrjeti im i brendshëm. Kur të kuptoj pse mburoja ime ethernet nuk do të lejojë që arduino ime të mbajë një skicë, unë do të shkruaj një skicë të re që përdor mburojën ethernet si server në internet, që do të thotë se nuk kam nevojë për apache të instaluar në kompjuterin tim. Rrini në rregull, do të shkoj atje!
Hapi 1: Parakushtet
Pajisje kompjuterike: Ana Arduino: Arduino - Unë jam duke përdorur një Arduino Uno R2 Breadboard - dyqani juaj elektronik elektronik, ose kuzhinë nëse doni një rrethim të montimit të bordit të bukës - kam përdorur një kuti plastike të vjetër me një kapak transparent Komponentët: LED me rreze infra të kuqe - jam shkrirë një nga një telekomandë e prishur (faleminderit fëmijë!) Marrës me rreze infra të kuqe - e mora nga një transistor i largët i syrit magjik - kam përdorur një rezistencë BC547 - kam përdorur një rezistencë të ndryshueshme 1.5k ohm të vendosur në 1k ohm tela të kërcyesit të bukës - mora timen nga një mbështjellës kabllor me bazë të fortë RJ45 Ana kompjuterike: Kompjuteri që do të përdoret si server USB në Arduino Software: Softueri Arduino - nga biblioteka arremote arduino.cc - nga https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (faleminderit Ken, punë e shkëlqyer!) Ueb server Apache me PHP të instaluar - apache.org Adresa IP e brendshme - e imja është 192.168.0.9 Fotografi e telekomandës tuaj - google ose një fotografi e marrë në aparatin tuaj. Unë e ruaj timen në rezolucion 200x600
Hapi 2: Ndërtimi i Bordit
Përdorimi i një bordi buke për një arduino rekomandohet shumë. Vendosa Arduino -n tim dhe një dërrasë buke në të njëjtën mbyllje dhe i lidha të gjitha kunjat që përdor rregullisht drejtpërdrejt në panelin e bukës përgjithmonë. Kunjat Arduino të përdorura për këtë projekt: 5v, tokë Kunjat dixhitale 3, 11 (kunja 3 kontrollon LED LED, kunja 11 lidhet me marrësin IR)
Hapi 3: Skematike
Kjo skemë është shumë e thjeshtë, 4 përbërës dhe 6 tela. Lidhjet IR IR: Lidhni njërën nga këmbët e rezistencës me kunjin dixhital Arduino 3 Lidhni këmbën tjetër të rezistencës me kunjin bazë të tranzistorit (këmba e mesme në rastin tim) Lidhni emetuesin e tranzistorit në tokë Lidhni kolektorin e tranzistorit në këmbën negative të LED (këmbë e shkurtër, ana e sheshtë e LED) Lidhni këmbën pozitive (këmbë e gjatë, ana e lakuar) e LED me lidhjet e marrësit IR 5 pin pin (do t'ju duhet të gjeni pinout për marrësi juaj i veçantë IR): PIN GND në tokë VS pin në 5v VO pin në Arduino pin dixhital 11
Hapi 4: Shtoni Bibliotekën Irremote në Softuerin Arduino
irremote është një bibliotekë e shkëlqyer e shkruar nga Ken Shirriff dhe është në dispozicion nga blogu i tij në https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Shkarkoni bibliotekën nga https:// arcfn.com/files/IRremote.zip dhe instalojeni si çdo bibliotekë tjetër për arduino. Blogu i tij ka shumë informacione të dobishme në lidhje me bibliotekën dhe mënyrën e instalimit të saj.
Hapi 5: Regjistroni kodet nga telekomandat tuaja
Këtu është fillimi i pjesës së mërzitshme (por të pashmangshme): Shtypja e çdo butoni në telekomandë, ruajtja e vargut të daljes dhe hartimi i tij në telekomandën virtuale. Ju duhet ta bëni atë vetëm një herë, prisni të merrni afërsisht 20 minuta ose më shumë. Filloni një redaktues teksti për të ruajtur daljen tuaj. Krijoni një dokument të ri dhe shkruani çdo buton në telekomandën tuaj, një për rresht: Ndizeni poshtë Majtas Djathtas.. dhe të tjera Filloni Arduino IDE dhe klikoni në "Skedarët-> Shembujt-> IRremote-> IRrecvDump" dhe ngarkojeni atë në Arduino juaj. Ky shembull do të hedh kodet e largëta në portën serike. Nisni monitorin e portit serik dhe shtypni një çelës në telekomandën tuaj. Do të shihni një varg që shfaqet në dritaren e monitorit serik: "Dekoduar *: * (* bit)". Kopjoni këtë rresht dhe ruajeni në dokumentin tuaj në vijën e duhur. Përsëriteni derisa të ruani të gjithë çelësat tuaj në skedarin e tekstit. Unë e di se sa argëtuese është kjo pjesë, e kam bërë dy herë deri më tani: P Tani duhet të bëjmë pak kërkim dhe zëvendësim në skedarin e tekstit: kërko për "Dekoduar" zëvendëso me "" kërko për ": 0x" zëvendëso me "," kërko "(" zëvendëso me "," kërko "bit") zëvendëso me "" Pra për një linjë të tillë si: E deshifruar NEC: 0x000110 (15 bit) tani duhet të kemi një rresht që thotë: NEC, 000110, 15
Hapi 6: Krijoni faqen në internet për telekomandën tuaj
Tani duhet të hartojmë butonat në imazhin tuaj të telekomandës.
Kam përdorur https://www.maschek.hu/imagemap/imgmap për të hartuar butonat dhe modifikuar kodin që ju jep uebfaqja për ta bërë atë të funksionojë.
Klikoni në "Përdorni një imazh në kompjuterin tuaj: [zgjidhni skedarin]", zgjidhni imazhin tuaj, klikoni [ngarkoni], klikoni [pranoni] Hidhni drejtkëndësha, qarqe etj mbi secilin buton. Për HREF vendosni /remote.php?command= dhe rreshtin për atë buton nga dokumenti i tekstit për shembull /remote.php?command=NEC, 000110, 15 Do të ishte e mençur (dhe të ndihmoni pa masë në korrigjimin) nëse edhe ju plotësoni Alt: me emrin e butonit, por kjo varet nga ju.
Përsëriteni për çdo buton.
Të gjitha të bëra? Pastaj do të vazhdojmë. Në fund të asaj faqe është "Kodi", klikoni mbi të dhe do të hapet një kuti që tregon kodin për hartën e imazhit. Kopjoni atë dhe ngjiteni në një dokument të ri teksti. Kjo është pjesa kryesore e faqes sonë të internetit.
Këtu është uebfaqja ime e plotë, thjesht zëvendësoni…
me kodin tuaj më lart dhe ruajeni atë si distancë. php në drejtorinë tuaj të internetit (/var/www në linux) së bashku me imazhet tuaja të telekomandës. Ndryshoni linjat për imazhet tuaja:
"https://www.w3.org/TR/html4/loose.dtd">
Kontroll Arduino LED
Hapi 7: Ngarko kodin e telekomandës te Arduino -ja juaj
Krijoni një skicë të re dhe ngjisni kodin e mëposhtëm në të:/ * * WebRemote * Një LED IR duhet të lidhet me kunjin Arduino PWM 3. * Versioni 0.1 Korrik, 2009 * Ky kod i autorit Gregory Fenton, https://labby.co. uk/2012/02/irremote-arduino-experiment/ * IRremote Library copyright 2009 Ken Shirriff, https://arcfn.com */#include template inline Print & operator << (Print & obj, T arg) {obj.print (arg); kthehu obj; } përfundoi boolean = false; char inData [64]; // Madhësia sipas indeksit të bajtit të përshtatshëm = 0; #përcakto EOP "\ n" IRsend irsend; void setup () {Serial.begin (9600); Seriale << "Porta seriale e inicializuar" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; sHex i gjatë; int i, j; ndërsa (1) {ndërsa (Seriali i disponueshëm ()> 0) {inChar = Serial.lexo (); nëse (indeksi == 0) {pch = ""; } nëse (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {përfundoi = e vërtetë; indeks = 0; pushim; } else {if (indeksi <64) // Madhësia e grupit {pch += inChar; indeks ++; }}} nëse (përfundoi) {// Analizoni të dhënat në të dhënat këtu… pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // kaloni mbi ',' ose '' // i tani tregon fillimin e gjashtëkëndëshit j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j tani tregon për ',' ose '' pas hex sHex = 0; sTemp = pch.substring (i, j); nëse (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); për (i = 0; i <sTemp.gjatësia (); i ++) {k = sTemp ; nëse (! ((k> = '0' && k = 'A' && k <= 'F'))) prishet; sHex *= 16; nëse (k> = '0' && k <= '9') sHex += (k - '0'); përndryshe nëse (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); nëse (! ((k> = '0' && k = 'A' && k <= 'F'))) prishet; } sTemp = pch.substring (j+1); sBits = 0; për (i = 0; i <sTemp.gjatësia (); i ++) {k = sTemp ; sBits *= 10; nëse (k> = '0' && k <= '9') sBits += (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << "Lloji i kodit:" << sTipi << "Hex:"; Serial.print (sHex, HEX); Seriali << "Bit:" << sBits; } sendIt (sType, sHex, sBits); pch = ""; përfundoi = 0; }}} void sendIt (String sType, long sHex, int sBits) {for (int i = 0; i <2; i ++) {if (sType.equals (String ("RC6"))) {irsend.sendRC6 (sHex, sBits); } tjetër if (sType.equals (String ("RC5"))) {irsend.sendRC5 (sHex, sBits); } tjetër if (sType.equals (String ("SONY"))) {irsend.sendSony (sHex, sBits); } tjetër if (sType.equals (String ("NEC"))) {if (! i) irsend.sendNEC (sHex, sBits); } tjetër if (sType.equals (String (""))) {Serial << "Vonesa" << EOP; vonesa (450); } vonesë (30); }}
Hapi 8: Lidhuni me serverin e uebit nga kompjuteri juaj
.. ose telefon ose android ose ipad ose çfarëdo: shkoni te https:// webserver adresa IP/remote.php në shfletuesin tuaj Për mua adresa është https://192.168.0.9/remote.php por pa dyshim që e juaja do të jetë e ndryshme. Nëse gjithçka funksionon, duhet të shihni një fotografi të telekomandës tuaj me butona mbi të cilët mund të klikoni.
Hapi 9: Hapi Opsional: Ndryshoni skedarin e hosteve tuaj për ta bërë më të lehtë për t'u përdorur
Një hap që bëra ishte të redaktoja skedarin tim të hosteve (/etc/hosts në linux, C: / Windows / System32 / Drivers / etc / host në Windows). Vini re se ky skedar mund të redaktohet vetëm në një komandë administrative (dritare) ose nga su (linux) Shtoni rreshtin ip.add.re.ss të largët zëvendësoni ip.add.re.ss me adresën IP të serverit dhe ruani skedarin Me Ju do të duhet ta bëni këtë në çdo pajisje që dëshironi të hyni në faqen në internet me emrin e shkurtër. Tani mund të hyni në telekomandë me https://remote/remote.php Ky është udhëzuesi im i parë i duhur, jini të butë dhe më tregoni nëse ka ndonjë problem në mënyrë që t'i rregulloj ato.
Recommended:
Telekomanda e bazuar në LoRa - Kontrolloni pajisjet nga distancat e mëdha: 8 hapa
Telekomanda e bazuar në LoRa | Kontrolloni pajisjet nga distancat e mëdha: Hej, çfarë ka, djema! Akarsh këtu nga CETech. Në këtë projekt, ne do të krijojmë një telekomandë e cila mund të përdoret për të kontrolluar një larmi instrumentesh si LED, motorë ose nëse flasim për jetën tonë të përditshme mund të kontrollojmë apelin tonë në shtëpi
ESP8266 Nodemcu Monitorimi i Temperaturës Duke Përdorur DHT11 në një Server të Lokale - Merrni temperaturën dhe lagështinë e dhomës në shfletuesin tuaj: 6 hapa
ESP8266 Nodemcu Monitorimi i Temperaturës Duke Përdorur DHT11 në një Server të Lokale | Merrni temperaturën dhe lagështinë e dhomës në shfletuesin tuaj: Përshëndetje djema sot ne do të bëjmë një lagështi & sistemi i monitorimit të temperaturës duke përdorur ESP 8266 NODEMCU & Sensori i temperaturës DHT11. Temperatura dhe lagështia do të merren nga Sensori DHT11 & mund të shihet në një shfletues, cila faqe në internet do të menaxhohet
Gjenerator muzikor i bazuar në mot (ESP8266 Bazuar në Midi Generator): 4 hapa (me fotografi)
Gjenerator muzikor i bazuar në mot (ESP8266 Bazuar në Midi Generator): Përshëndetje, sot unë do t'ju shpjegoj se si ta bëni vetë gjeneratorin tuaj të vogël të Muzikës me bazë moti. Bazohet në një ESP8266, i cili është si një Arduino, dhe i përgjigjet temperaturës, shiut dhe intensiteti i dritës. Mos prisni që ajo të bëjë këngë të tëra ose progord të akordit
Fillimi me kodimin e bazuar në shfletuesin MBlock për HyperDuino: 3 hapa
Fillimi me kodimin e bazuar në shfletuesin MBlock për HyperDuino: Mirësevini në mësimin e bazuar në ueb të mBlock me HyperDuino. Kjo do t'ju tregojë se si të vendosni mBlock dhe të ngarkoni kodin tuaj në HyperDuino tuaj. Kjo gjithashtu do t'ju tregojë se si të krijoni një kod bazë për një makinë të zgjuar gjithashtu. Për të filluar, le të hidhemi drejt
Telekomanda e bazuar në Arduino për Eskate ose Hydrofoil: 5 hapa (me fotografi)
Telekomanda e bazuar në Arduino për Eskate ose Hydrofoil: Ky udhëzues do t'ju tregojë se si të ndërtoni një telekomandë fizike për t'u përdorur me një eskate ose një hidrofoil elektrik duke përfshirë të gjithë kodin dhe pajisjet që ju nevojiten. Ka shumë saldime të përfshira, por është gjithashtu argëtuese për t'u bërë. Çfarë mund të bëjë telekomanda? Bashkë