A fotoellenállásokra épülő fényérzékelőket (világítást) gyakran használják valódi Arduino projektekben. Viszonylag egyszerűek, nem drágák, és könnyen megtalálhatók és megvásárolhatók bármely online áruházban. Az Arduino fotoellenállás lehetővé teszi a fényszint szabályozását és annak változásait. Ebben a cikkben megnézzük, mi is az a fotoellenállás, hogyan működik az arra épülő fényérzékelő, és hogyan kell megfelelően csatlakoztatni az érzékelőt az Arduino kártyákhoz.

A fotoellenállás, ahogy a neve is sugallja, közvetlenül kapcsolódik az ellenállásokhoz, amelyek gyakran szinte minden elektronikus áramkörben megtalálhatók. Fő jellemző közönséges ellenállás ellenállásának értéke. A feszültség és az áramerősség ettől függ, egy ellenállás segítségével beállítjuk a többi komponens szükséges üzemmódját. Általános szabály, hogy az ellenállás ellenállásértéke gyakorlatilag nem változik azonos működési feltételek mellett.

A hagyományos ellenállásokkal ellentétben fotoellenállás a környezeti fény szintjétől függően változtathatja ellenállását. Ez azt jelenti, hogy be elektronikus áramkör A paraméterek folyamatosan változnak, mindenekelőtt arra vagyunk kíváncsiak, hogy a fotoellenálláson a feszültség csökkenjen. Ha ezeket a feszültségváltozásokat rögzítjük az Arduino analóg érintkezőin, megváltoztathatjuk az áramkör logikáját, ezáltal olyan eszközöket hozunk létre, amelyek alkalmazkodnak a külső körülményekhez.

A fotoellenállásokat meglehetősen aktívan használják sokféle rendszerben. A leggyakoribb alkalmazás az utcai világítás. Ha éjszaka esik a városra vagy felhős lesz, a lámpák automatikusan felkapcsolnak. Nem ütemezés szerint, hanem a világítástól függően bekapcsolódó fotoellenállásból gazdaságos izzót készíthet otthonába. Fényérzékelő alapján akár készíthet is biztonsági rendszer, amely azonnal működésbe lép egy zárt szekrény vagy széf kinyitása és megvilágítása után. Mint mindig, az Arduino érzékelők alkalmazási körének csak a képzeletünk szab határt.

Milyen fotoellenállásokat lehet vásárolni az online áruházakban

A piacon a legnépszerűbb és legolcsóbb szenzoropció a kínai vállalatok sorozatgyártású modelljei, a VT gyártó termékeinek klónjai. Nem mindig lehet kitalálni, hogy ez vagy az a beszállító pontosan ki és mit gyárt, de a fotoellenállások használatának megkezdéséhez a legegyszerűbb lehetőség eléggé megfelelő.

A kezdő Arduino felhasználónak azt tanácsolhatjuk, hogy vásároljon egy kész fotómodult, amely így néz ki:


Ez a modul már rendelkezik minden szükséges elemmel ahhoz, hogy könnyen csatlakoztasson egy fotoellenállást az Arduino kártyához. Egyes modulok komparátor áramkört valósítanak meg, és digitális kimenetet és trim ellenállást biztosítanak a vezérléshez.

Egy orosz rádióamatőrnek azt tanácsolhatjuk, hogy forduljon az orosz PA érzékelőhöz. Eladók az FR1-3, FR1-4 stb. - még a szovjet időkben gyártották. De ennek ellenére az FR1-3 pontosabb részlet. Ebből következik az árkülönbség.FR-ért legfeljebb 400 rubelt kérnek. Az FR1-3 darabonként több mint ezer rubelbe kerül.

Fotoellenállás jelölés

Az Oroszországban gyártott modellek modern címkézése meglehetősen egyszerű. Az első két betű a PhotoResistor, a kötőjel utáni számok a fejlesztési számot jelzik. FR -765 - fotoellenállás, fejlesztés 765. Általában közvetlenül az alkatrész testére van jelölve

A VT érzékelő ellenállási tartománya a jelölési diagramon látható. Például:

  • VT83N1 - 12-100 kOhm (12K – megvilágított, 100K – sötétben)
  • VT93N2 - 48-500 kOhm (48K – megvilágított, 100K – sötétben).

Néha a modellekkel kapcsolatos információk tisztázása érdekében az eladó egy speciális dokumentumot biztosít a gyártótól. Az üzemi paraméterek mellett ott van feltüntetve az alkatrész pontossága is. Minden modellnek van egy érzékenységi tartománya a spektrum látható részén. Gyűjtő fényérzékelő Meg kell értenie, hogy a művelet pontossága relatív fogalom. Még az ugyanazon gyártótól, azonos tételből vagy vásárlásból származó modellek esetében is 50%-kal vagy még ennél is nagyobb eltérés lehet.

Gyárilag az alkatrészeket a vöröstől a zöld fényig terjedő hullámhosszra hangolják. A többség „lát” és infravörös sugárzás. A különösen precíz alkatrészek még az ultraibolya fényt is képesek érzékelni.

Az érzékelő előnyei és hátrányai

A fotoellenállások fő hátránya a spektrumérzékenység. A beeső fény típusától függően az ellenállás több nagyságrenddel is változhat. A hátrányok közé tartozik még alacsony sebesség reakciók a megvilágítás változásaira. Ha a lámpa villog, az érzékelőnek nincs ideje reagálni. Ha a változás gyakorisága meglehetősen magas, az ellenállás általában nem látja, hogy a megvilágítás változik.

Az előnyök közé tartozik az egyszerűség és a hozzáférhetőség. Az ellenállás közvetlen változása a ráeső fénytől függően lehetővé teszi az elektromos csatlakozási áramkör egyszerűsítését. Maga a fotoellenállás nagyon olcsó, számos Arduino készletben és konstruktorban megtalálható, ezért szinte minden kezdő Arduino gyártó számára elérhető.

Fotoellenállás csatlakoztatása Arduinohoz

Projektekben arduino A fotoellenállást fényérzékelőként használják. Az információ fogadásával a kártya be- és kikapcsolhatja a reléket, elindíthatja a motorokat és üzeneteket küldhet. Természetesen az érzékelőt helyesen kell csatlakoztatnunk.

A fényérzékelő csatlakozási rajza az Arduino-hoz meglehetősen egyszerű. Ha fotoellenállást használunk, akkor a kapcsolási rajzon az érzékelő feszültségosztóként van megvalósítva. Az egyik kar a megvilágítási szinttől függően változik, a második pedig feszültséget lát el az analóg bemeneten. A vezérlő chipben ezt a feszültséget egy ADC-n keresztül digitális adatokká alakítják. Mert Ha az érzékelő ellenállása csökken, amikor fény éri, a rajta eső feszültség értéke is csökken.

Attól függően, hogy az osztó melyik karjába helyeztük a fotoellenállást, az analóg bemenetre emelt vagy csökkentett feszültség kerül. Ha a fotoellenállás egyik lába a földre van kötve, akkor a maximális feszültségérték a sötétségnek felel meg (a fotoellenállás ellenállása maximális, szinte az összes feszültség esik rajta), a minimális érték pedig a jó megvilágításnak (az ellenállás közel nulla, a feszültség minimális). Ha a fotoellenállás kart csatlakoztatjuk a tápegységhez, akkor a viselkedés az ellenkezője lesz.

Maga a tábla felszerelése nem okozhat nehézséget. Mivel a fotoellenállásnak nincs polaritása, mindkét oldalról csatlakoztatható, a kártyára forrasztható, áramköri lap segítségével vezetékekkel csatlakoztatható, vagy hagyományos kapcsokkal (krokodilkapcsokkal) használható a csatlakoztatáshoz. Az áramkör áramforrása maga az Arduino. Fotoellenállás az egyik láb a földhöz csatlakozik, a másik az ADC kártyához (példánkban - AO). Egy 10 kOhm-os ellenállást csatlakoztatunk ugyanahhoz a lábhoz. Természetesen nem csak az A0 analóg érintkezőhöz csatlakoztathat fotoellenállást, hanem bármely másikhoz is.

Néhány szó a további 10 K ellenállásról, amelynek két funkciója van az áramkörünkben: korlátozza az áramkörben lévő áramot és formál szükséges feszültség osztóval ellátott áramkörben. Áramkorlátozásra van szükség olyan helyzetben, amikor egy teljesen megvilágított fotoellenállás élesen csökkenti az ellenállását. A feszültséggenerálás pedig az analóg porton előre látható értékekre szolgál. Valójában a fotoellenállásainkkal való normál működéshez 1K ellenállás is elegendő.

Az ellenállás értékének változtatásával az érzékenységi szintet a „sötét” és a „világos” oldalra tudjuk „eltolni”. Tehát 10 K ad gyors váltás a fény kezdete. 1K esetén a fényérzékelő pontosabban határozza meg magas szint megvilágítás

Ha kész fényérzékelő modult használ, a csatlakoztatás még egyszerűbb lesz. A VCC modul kimenetét a kártya 5V-os csatlakozójára, a GND-t a földre kötjük. A fennmaradó érintkezőket az Arduino csatlakozókhoz csatlakoztatjuk.

Ha a kártyának van digitális kimenete, akkor azt digitális tűkre küldjük. Ha analóg, akkor menjen az analógra. Az első esetben triggerjelet kapunk - a megvilágítási szintet túllépték (a trigger küszöbértéket beállító ellenállással lehet beállítani). Az analóg tűkből a tényleges megvilágítási szinttel arányos feszültségértéket kaphatunk.

Példavázlat egy fényérzékelőről egy fotoellenálláson

Csatlakoztattuk az áramkört a fotoellenállással az Arduino-hoz, és megbizonyosodtunk arról, hogy minden megfelelően történt. Most már csak a vezérlő programozása van hátra.

A fényérzékelő vázlatának megírása meglehetősen egyszerű. Csak az aktuális feszültség értékét kell eltávolítanunk arról az analóg érintkezőről, amelyhez az érzékelő csatlakoztatva van. Ez az általunk ismert analogRead() függvény segítségével történik. Ezután a fényerőtől függően néhány műveletet végrehajthatunk.

Írjunk vázlatot egy fényérzékelőhöz, amely a következő áramkör szerint kapcsolja be vagy ki a LED-et.

A működési algoritmus a következő:

  • Határozza meg az analóg láb jelszintjét.
  • Összehasonlítjuk a szintet a küszöbértékkel. A maximális érték a sötétségnek, a minimális érték a maximális megvilágításnak felel meg. Válasszunk egy 300-zal egyenlő küszöbértéket.
  • Ha a szint alacsonyabb, mint a küszöb, sötét van, be kell kapcsolnia a LED-et.
  • Ellenkező esetben kapcsolja ki a LED-et.
#define PIN_LED 13 #define PIN_PHOTO_SENSOR A0 void setup() ( Serial.begin(9600); pinMode(PIN_LED, OUTPUT); ) void loop() ( int val = analógRead(PIN_PHOTO_SENSOR); Serial.println(val); if ( val< 300) { digitalWrite(PIN_LED, LOW); } else { digitalWrite(PIN_LED, HIGH); } }

A fotoellenállást letakarva (kézzel vagy fényálló tárggyal) megfigyelhetjük a LED be- és kikapcsolását. A kódban a küszöb paraméter megváltoztatásával kényszeríthetjük az izzót, hogy ki/be kapcsoljon, amikor különböző szinteken világítás.

Telepítéskor próbálja meg a fotoellenállást és a LED-et a lehető legtávolabb elhelyezni egymástól, hogy a fényes LED-ből kevesebb fény essen a fényérzékelőre.

Fényérzékelő és egyenletes változás a háttérvilágítás fényerejében

Módosíthatja a projektet úgy, hogy a LED fényereje a megvilágítás szintjétől függően változzon. A következő változtatásokat adjuk hozzá az algoritmushoz:

  • A villanykörte fényerejét PWM-en keresztül változtatjuk, 0-tól 255-ig terjedő értékeket küldve a LED-del ellátott lábra az AnaWrite() segítségével.
  • Átalakít digitális érték megvilágítási szint a fényérzékelőtől (0-tól 1023-ig) a PWM LED fényerő-tartományig (0-tól 255-ig) a map() funkciót fogjuk használni.

Vázlat példa:

#define PIN_LED 10 #define PIN_PHOTO_SENSOR A0 void setup() ( Serial.begin(9600); pinMode(PIN_LED, OUTPUT); ) void loop() ( int val = analógRead(PIN_PHOTO_SENSOR); Serial.println(val); int ledPower = map(val, 0, 1023, 0, 255); // A kapott értéket konvertálja a PWM jelszintre. Minél alacsonyabb a megvilágítási érték, annál kevesebb energiát kell a LED-nek szolgáltatnunk PWM-en keresztül. analogWrite(PIN_LED, ledPower) // Fényerő módosítása)

Más csatlakozási mód esetén, amelyben az analóg portról érkező jel arányos a megvilágítás mértékével, az értéket a maximumból kivonva még „vissza kell fordítania”:

Int érték = 1023 – analógRead(PIN_PHOTO_RESISTOR);

Fényérzékelő áramkör fotoellenállás és relé segítségével

A relékkel végzett munka vázlatainak példáit az Arduino relék programozásáról szóló cikk tartalmazza. Ebben az esetben nem kell bonyolult mozdulatokat tennünk: a „sötétség” meghatározása után egyszerűen bekapcsoljuk a relét, és a megfelelő értéket alkalmazzuk a tűjére.

#define PIN_RELAY 10 #define PIN_PHOTO_SENSOR A0 void setup() ( pinMode(PIN_RELAY, OUTPUT); digitalWrite(PIN_RELAY, HIGH); ) void loop() ( int val = analógRead(PIN_PHOTO_SENSOR); if (érték< 300) { // Светло, выключаем реле digitalWrite(PIN_RELAY, HIGH); } else { // Темновато, включаем лампочку digitalWrite(PIN_RELAY, LOW); } }

Következtetés

A fotoellenálláson alapuló fényérzékelőt használó projektek meglehetősen egyszerűek és hatékonyak. Sok érdekes projektet hajthat végre, és a felszerelés költsége nem lesz magas. A fotoellenállás egy további ellenállású feszültségosztó áramkörrel van csatlakoztatva. A szenzor egy analóg portra csatlakozik a különböző fényszintek mérésére, vagy egy digitális portra, ha csak a sötétség ténye érdekel. A vázlatban egyszerűen kiolvassuk az adatokat egy analóg (vagy digitális) portról, és eldöntjük, hogyan reagáljunk a változásokra. Reméljük, hogy most ilyen egyszerű „szemek” jelennek meg a projektjeiben.

Valószínűleg mindenkinek volt egy álma gyermekkorában (és nem is egy). Megpróbálhatod még emlékezni arra az érzésre, ami betölti a gyermek lelkét, amikor az álma valóra válik, vagy arra a távoli, ismerős csillogásra a szemében... Gyerekkoromban arról álmodoztam, hogy saját éjszakai lámpám lesz.

Jelenleg a BSUIR 4. éves hallgatója vagyok, és amikor azt mondták nekünk, hogy az áramkörtervezési kurzus nem papíron, hanem egy hardveren is elkészíthető, eszembe jutott: az éjszakai fény, amire annyira vágytam. gyereket magam is csinálhatok. Sőt, ne csak egy tárgyat készíts, ami bevilágítja a szobát a sötétben, hanem egy könnyen irányítható eszközt, amely bármilyen hangulathoz igazodik. Miért ne? Úgy döntöttem, hogy hozzáadom a színváltoztatás lehetőségét a kezemmel: minél közelebb van a kezem az éjszakai lámpához, annál fényesebben világít valamelyik szín (RGB). Az éjszakai fényt is szeretném vezérelni a távirányítóval.

Azonnal bevallom, hogy a cxem.net weboldalon kiszúrtam az ötletet. Röviden, ez a példa egy RGB mátrixot használt, amelyet eltolási regiszterekkel és ultrahangos távolságérzékelőkkel vezéreltek. De azt hittem, hogy a mátrix csak egy irányba világít, de azt akartam, hogy az éjszakai fény az oldalakon világítson.

Az áramköri elemek indoklása


felé fordítottam a figyelmem Arduino mikrokontrollerek. Az UNO eléggé megfelelő opció az én ötletemhez, egyrészt mert ez a legnépszerűbb platform és a tűk száma nem túl nagy, ellentétben a Megával, másrészt külső áramforrást is lehet rá kötni, az én esetemben 12V , ellentétben a Nanóval, harmadszor... nos, szerintem ennél a két pontnál megállhatunk. A platform rendkívül népszerű az egész világon a programozási nyelv kényelme és egyszerűsége, valamint nyílt architektúrája és programkódja miatt.

Több részletes információk Az interneten könnyen talál információkat erről a tábláról, ezért nem fogom túlterhelni a cikket.

Tehát a rendszer alapvető követelményei. Kívánt:
– érzékelők, amelyek nyomon követik az akadálytól való távolságot a rendszer vezérléséhez;
– érzékelő a távirányító jeleinek olvasásához távirányító;
– LED-ek, amelyek biztosítják a szükséges világítási funkciókat;
– egy vezérlőegység, amely az egész rendszert vezérli.

Távolságmérőkre van szükség távolságérzékelőként a projekthez, amelyek mindegyike megfelel egy bizonyos színt: piros, zöld, kék. A távolságérzékelők figyelik a kéz és az éjszakai fény távolságát, és minél közelebb kerül a kéz egy bizonyos érzékelőhöz, annál erősebben világít a távolságmérőnek megfelelő szín. Ezzel szemben minél távolabb van a kéz, annál kisebb feszültséget kap az érzékelőnek megfelelő szín.

A legnépszerűbb távolságmérők Ebben a pillanatban ezek a Sharp GP2Y0A21YK és a HC-SR04. A Sharp GP2Y0A21YK egy infravörös távolságmérő. IR adóval és IR vevővel van felszerelve: az első a sugár forrásaként szolgál, melynek visszaverődését a második megfogja. Ugyanakkor az érzékelő infravörös sugarai az emberi szem számára láthatatlanok, és ilyen intenzitás mellett ártalmatlanok.

A HC-SR04 ultrahangos érzékelővel összehasonlítva ennek az érzékelőnek vannak előnyei és hátrányai is. Az előnyök közé tartozik a semlegesség és az ártalmatlanság. Hátránya a rövidebb hatótáv és a külső zavaroktól való függés, beleértve bizonyos típusú világítást.

A projektben távolságérzékelőként használják: ultrahangos távolságmérők HC-SR04.
A HC-SR04 működési elve az echolokáció jól ismert jelenségén alapul. Használata során az adó akusztikus jelet generál, amely az akadályról visszaverődően visszatér az érzékelőhöz, és a vevő regisztrálja. Ismerve az ultrahang levegőben terjedési sebességét (kb. 340 m/s), valamint a kibocsátott és a vett jel közötti késleltetési időt, könnyen kiszámítható az akusztikus gát távolsága.

A TRIG bemenet a mikrokontroller bármely érintkezőjéhez csatlakozik. Erre a tűre impulzust kell alkalmazni. digitális jel időtartama 10 μs. A TRIG bemenet jele alapján az érzékelő ultrahang impulzusok csomagját küldi. A visszavert jel vétele után az érzékelő impulzusjelet generál az ECHO lábon, melynek időtartama arányos az akadály távolságával.

IR érzékelő. Természetesen a távirányítóhoz szükséges jelet ebből az érzékelőből olvassuk és dekódoljuk. A TSOP18 csak frekvenciában különbözik egymástól. A projekthez a VS1838B TSOP1838 érzékelőt választották ki.

A projekt azon az ötleten alapult, hogy a helyiséget bármilyen színben megvilágítsák, ami azt jelenti, hogy 3 elsődleges színre lesz szüksége, amelyekből a világítást megkapják: piros, zöld, kék. Ezért az SMD 5050RGB LED modellt választották, amely tökéletesen megbirkózik a feladattal.

Az egyes LED-ek feszültségének mértékétől függően megváltoztatják a világítás intenzitását. A LED-et ellenálláson keresztül kell csatlakoztatni, különben nem csak azt, hanem az Arduinót is tönkretehetjük. Az ellenállásra azért van szükség, hogy a LED-en lévő áramot elfogadható értékre korlátozzák. A helyzet az, hogy a LED belső ellenállása nagyon alacsony, és ha nem használ ellenállást, akkor olyan áram megy át a LED-en, hogy egyszerűen kiégeti a LED-et és a vezérlőt.

A projektben használt LED szalagok 12V-ról táplálkoznak.

Tekintettel arra, hogy a LED-ek feszültsége „kikapcsolt” állapotban 6 V, és az 5 V-ot meghaladó tápellátást kell szabályozni, kapcsolási módban tranzisztorokat kell hozzáadni az áramkörhöz. A választásom a BC547c modellre esett.

Nézzük meg röviden az elvet azok számára, akik elfelejtették munka n-p-n tranzisztor. Ha egyáltalán nem ad feszültséget, hanem egyszerűen rövidre zárja az alap és az emitter kapcsait, még ha nem is, de több ohmos ellenálláson keresztül, akkor kiderül, hogy az alap-emitter feszültsége nulla. Következésképpen nincs alapáram. A tranzisztor zárt, a kollektoráram elhanyagolhatóan kicsi, pont ugyanannyi a kezdeti áram. Ebben az esetben a tranzisztorról azt mondják, hogy lekapcsolt állapotban van. Az ellentétes állapotot telítésnek nevezzük: amikor a tranzisztor teljesen nyitva van, így nincs hova tovább nyitni. Ilyen mértékű nyitással a kollektor-emitter szakasz ellenállása olyan alacsony, hogy egyszerűen lehetetlen bekapcsolni a tranzisztort a kollektorkör terhelése nélkül, azonnal kiég. Ebben az esetben a maradék feszültség a kollektoron csak 0,3...0,5V lehet.

Ez a két állapot, a telítettség és a levágás, akkor használatos, amikor a tranzisztor kapcsolási módban működik, mint egy hagyományos reléérintkező. Ennek az üzemmódnak a fő jelentése az, hogy egy kis bázisáram nagy kollektoráramot vezérel, amely több tízszer nagyobb, mint az alapáram. Nagy kollektoráramot kapunk miatt külső forrás energiát, de a jelenlegi nyereség, ahogy mondani szokás, nyilvánvaló. Esetünkben az 5V üzemi feszültségű mikroáramkör 3 db 12V-ról működő LED-es szalagot tartalmaz.

Számítsuk ki a kulcskaszkád működési módját. Ki kell számítani az ellenállás értékét az alapáramkörben, hogy a LED-ek teljes teljesítménnyel égjenek. A számítás során szükséges feltétel, hogy az áramerősítés nagyobb vagy egyenlő legyen, mint a maximális lehetséges kollektoráram elosztása a lehetséges legkisebb alapárammal:

Ezért a szalagok üzemi feszültsége 220 V, az alapáramkör pedig 5 V feszültségű mikroáramkörről vezérelhető. Ha a tranzisztort úgy tervezték, hogy ilyen feszültséggel működjön a kollektoron, akkor a LED-ek probléma nélkül világítanak.
A feszültségesés az alap-emitter átmeneten 0,77 V, feltéve, hogy az alapáram 5 mA és a kollektoráram 0,1 A.
Az alapellenállás feszültsége a következő lesz:

Ohm törvénye szerint:

A szabványos ellenállási tartományból egy 8,2 kOhm-os ellenállást választunk. Ezzel befejeződik a számítás.

Egy problémára szeretném felhívni a figyelmet, amellyel szembesültem. Az IRremote könyvtár használatakor az Arduino lefagyott a kék szín beállításakor. Hosszas és alapos internetes keresgélés után kiderült ezt a könyvtárat az alapértelmezett 2-es időzítőt használja ehhez az Arduino modellhez. Az időzítők a PWM kimenetek vezérlésére szolgálnak.

Időzítő 0 (Rendszeridő, PWM 5 és 6);
1. időzítő (PWM 9 és 10);
2. időzítő (PWM 3 és 11).

Kezdetben PWM 11-et használtam a kék szín szabályozására. Ezért legyen óvatos, amikor PWM-mel, időzítőkkel és harmadik féltől származó könyvtárakkal dolgozik, amelyek használhatják ezeket. Furcsa ez kezdőlap Erről az árnyalatról nem szóltak semmit a Githubon. Ha szeretné, az 1-es időzítővel törölheti a sor megjegyzését, és kiírhatja a 2-t.

Az elemek összekapcsolása a kenyérsütőtáblán így néz ki:

A kenyérsütőlapon végzett tesztelés után elkezdődtek az „Elemek elhelyezése a táblán” és „Munkavégzés a forrasztópákával” fázisok. Az elkészült tábla első tesztelése után egy gondolat motoszkál a fejemben: valami elromlott. És itt kezdődik a sokak számára ismerős szakasz: „Próbás munka a tesztelővel”. A problémákat (több szomszédos érintkező véletlenül össze volt forrasztva) azonban gyorsan kiküszöbölték és itt a LED-ek várva várt huncut fénye.

Akkor már csak a test kérdése volt. Emiatt az érzékelőink számára lyukakkal ellátott rétegelt lemezt levágtuk. A hátlapot speciálisan levehetővé tették, így belülről is élvezheti a kilátást, és ha kívánja, befejezhet vagy újracsinálhat valamit. Ezen kívül van még 2 lyuk az alaplap és a tápegység átprogramozásához.

A testet kétkomponensű epoxi ragasztóval ragasztottuk. Érdemes megjegyezni ennek a ragasztónak a sajátosságait azok számára, akik még nem találkoztak vele. Ez a termék két külön tartályban kerül forgalomba, és ha a tartalmat összekeverjük, azonnali kémiai reakció lép fel. Keverés után gyorsan, 3-4 percen belül kell cselekednie. A további felhasználáshoz új adagot kell keverni. Tehát ha ezt próbálja megismételni, azt tanácsolom, hogy kis adagokban keverje össze, és nagyon gyorsan cselekedjen, nem lesz sok idő a gondolkodásra. Ezért érdemes előre átgondolni, hogyan és hova ragasszuk a testet. Ráadásul ezt nem lehet egy ülésben megtenni.

LED-es szalagok rögzítéséhez fedőlap egy csövet helyeztek be, amelyen az összes vezeték tökéletesen áthaladt.

Amikor felmerült a probléma a lámpaernyővel, eszembe jutott, hogy gyerekkoromban egyszerű cérnából, ragasztóból és lufiból kézműveskedtem, ami alapként szolgált. A lámpaernyő elve ugyanaz, de a poliéder becsomagolása nehezebbnek bizonyult, mint egy golyó. A menetek által a szerkezetre gyakorolt ​​nyomás hatására felfelé kezdett szűkülni, és a szálak elkezdtek leszakadni. Sürgősen, ragasztóval borított kezemmel úgy döntöttek, hogy felülről erősítik meg a szerkezetet. És akkor a CD megmentett. A végeredmény ez az éjszakai fény:

Mit szeretnél mondani a végén?

Mit kell változtatnom a projektben? A távolságérzékelők TRIG jelének ellátásához három helyett egy Arduino kimenetet használhatunk. Az IR szenzornak is biztosítanék egy lyukat (amit elfelejtettem), ami sajnos még mindig el van rejtve a tokban, amiből természetesen nem tud kiolvasni a távirányító jeleit. De ki mondta, hogy nem lehet semmit sem forrasztani, sem fúrni?

Szeretném megjegyezni, hogy ez egy érdekes félév volt, és remek alkalom arra, hogy megpróbáljak valamit nem papíron, aminek köszönhetően újabb pipát tehetek a „gyerekkori álom” tétel mellé. És ha úgy gondolja, hogy valami új kipróbálása nehéz, és nem tudja, mit tegyen először, ne aggódjon. Sok ember fejében motoszkál a gondolat: hol kezdjem, és hogyan lehet ezt egyáltalán megtenni? Sok olyan feladat van az életben, amitől meg lehet zavarodni, de ha egyszer megpróbálod, észre fogod venni, hogy csillogó szemmel hegyeket mozgathatsz, még ha ehhez egy kicsit próbálkoznod is kell.

Sziasztok! Artem Luzhetsky vagyok, és egy cikksorozatot fogok levezetni, amely a " Okos otthon" és az IoT (angolul - Internet of Things, Internet of Things). Megismerkedünk az alkotás csodálatos módszereivel otthoni hálózat különféle eszközökről, amelyek önállóan vagy emberi segítséggel működnek. Jól? Kezdjük el!

Az első cikk bevezető jellegű, szeretném, ha megértené, hogy a leggyakoribb táblákkal és modulokkal fogok dolgozni, hogy a legtöbb ember kipróbálhassa magát az IoT fejlesztésében.

Tehát először két mikrokontrollerre van szükségünk, amelyeket használni fogunk: és .

Arduino UNO

Azt hiszem, nem kell bemutatni ezt a táblát, nagyon népszerű a kezdők és a barkácsrajongók körében. Csak annyit mondok, hogy ennek a táblának a képességei korlátozottak, és az UNO nem tud működni a https protokollal, nincs elég számítási teljesítmény ATmega328P mikrokontroller, tehát amikor a mikrokontrollerrel és a https protokollal kell dolgoznunk, akkor az ESP8266-ot programozzuk.

ESP8266

Az Amperka cég Troyka ESP8266 moduljával fogok dolgozni, de nyugodtan használhat egy normál ESP 8266 modult, gyakorlatilag nincs különbség, a csatlakozásnál a lényeg, hogy megnézzük a tűk jelentését, és ne feledjük, hogy az ESP működik 3,3 voltos logikán, tehát vagy 5 V-on keresztül kell csatlakoztatni, de feszültségstabilizátort kell csatlakoztatni az áramkörhöz, vagy egyszerűen csak egy 3,3 voltos feszültségellátású tűt kell használni.

Ez a mikrokontroller nem a legerősebb az Espressif sorozatban az általános piacon, de az egyik legolcsóbb és legelterjedtebb. Ez lesz az IoT fejlesztéseink alapja.

További részletek

Ezenkívül létre kell hoznunk minden kísérletet:

  1. LED-ek
  2. Fotoellenállás
  3. Termisztor
  4. Ultrahangos távolságmérő
  5. Piezodinamikus
  6. Mini szervo
  7. IR érzékelő
  8. IR távirányító

Az IoT-vel való együttműködéshez nincs szükségünk az összes modulra, de az összes jövőbeli projekt megvalósításához végül mindegyiket meg kell vásárolnunk.

Programok és könyvtárak

Először is töltse le a könyvtárat, amely sokkal könnyebbé teszi az Arduino IDE-ben való munkát, ha ESP8266-ot használ - http://wiki.amperka.ru/_media/iot-m:iot-m-libs.zip

Másodszor, az IoT jobb megértéséhez olyan webhelyekre lesz szükségünk, amelyek lehetővé teszik számunkra, hogy adatokat küldjünk nekik.

  1. www.dweet.io
  2. maker.ifttt.com
  3. narodmon.ru
  4. stb.

Harmadszor - ezek is hasznosak lesznek számunkra különféle alkalmazások Androidon, hogy telefonunk segítségével vezérelhessünk egy okosotthont.

  1. OpenHab
  2. Pislogás
  3. stb.

Minden módszerrel, programmal, helyszínnel részletesen megismerkedünk a következő projektekben.

2. „Intelligens lámpa” készítése

Meguntalak már? Készítsük el a legegyszerűbbet okos lámpa, amely bekapcsol, ha a szoba sötét.

Sőt, ehhez még UNO sem kell, lehet digitális egyedi fotoszenzort használni, de a jövőben a felismerhetetlenségig megváltoztatjuk ezt a projektet, így valahol el kell kezdeni.

Ha nem biztos abban, hogy készen áll a 220 voltos árammal dolgozni, akkor zseblámpa helyett használjon hagyományos LED-et. Az elején az enyémet vettem régi lámpa TLI – 204, ezek szinte minden boltban kaphatók (előre lekapcsoltam a hálózatról).

A lámpának kétféle működési módja van (be/ki), amit szeretnék, az az, hogy növelni szeretném a funkcionalitását, meghagyva a lámpa teljes be- és kikapcsolásának lehetőségét.

Egy relével ellátott fotoellenállást nem lehet párhuzamosan csatlakoztatni az áramkörhöz másik kapcsoló használata nélkül, ezért úgy döntöttem, hogy a kétállású kapcsoló helyett háromállású billenőkapcsolót szerelek be.

Tábornok elektromos diagramígy kell kinéznie:

Ha minden helyesen megtörtént, akkor a kapcsoló harmadik helyzetében a mikrokontrollerről a relé áramellátásával bekapcsolhatja a lámpát.

Csatlakoztassunk egy fotoellenállást az Arduinóhoz. A diagram így néz ki:

3. Az "okos lámpa" kódja

Most írjunk egy kódot, amely átviszi az áramot a relébe, ha a szoba sötét.

#define SHINE 5 //PIN A FOTOREZISTATORON #define REL 13 //PIN A RELÉN void setup())( pinMode(SHINE, INPUT); pinMode(REL, OUTPUT); Serial.begin(9600); ) void loop ())( if (analogRead(SHINE)<600) // Если света в комнате мало, то включаем лампу { digitalWrite(REL, HIGH) } else // если много, то выключаем { digitalWrite(REL, LOW); } Serial.printIn(analogRead(SHINE)); selay(500); }

Amikor mindent csatlakoztat, ne felejtse el eltávolítani a fotóérzékelőt a lámáról, különben fényjátékkal kedveskednek. Mindennek működnie kell.

Legközelebb megpróbáljuk bonyolítani a kódot, és hozzáadni néhány további funkciót. Hamarosan találkozunk!