Optikai érzékelők. Fotoellenállások MK áramkörökben. A fotoellenállások, fotodiódák és fototranzisztorok használata Utcai világítási fotoellenállás az Arduino-n

  1. Phototoresist: http://ali.ski/5GDvP7
  2. Diódák és ellenállások: http://fas.st/KK7DwjyF
  3. Fejlesztési tábla: http://ali.ski/rq8wz8
  4. Arduino uno: http://ali.ski/gC_mOa

Ebben az oktatóanyagban egy fotoellenállást fogunk csatlakoztatni az Arduino-hoz. amely a beépített LED-et fogja vezérelni.

Fotoellenállás: A fotoellenállások ellenállása fény hatására csökken, sötétben pedig növekszik. A fotoellenállások használata egyszerű, de meglehetősen lassan reagálnak a fényszint változásaira, és nagyon alacsony hatásfokkal rendelkeznek. pontosság. Általában a fotoellenállások ellenállása 50 ohmtól nappali fényben több mint 10 megohmig változhat sötétben.

Magát a fotoellenállást egy 10 kOhm-os ellenálláson keresztül csatlakoztatjuk a földhöz, és ugyanezt a szárat az Arduino analóg A0 tűjéhez, a fotoellenállás második lábát pedig az 5 voltos Arduinohoz. Mindez jól látható a cikk elején található diagramon.

Miután megfelelően csatlakoztatta a fotoellenállást az Arduino-hoz, másolja ki az alábbi kódot, illessze be az Arduino ide programba, és töltse be ezt a programkódot az Arduino-ba.

Int PhotosensorPin = A0; //Jelölje meg azt a tűt, amelyhez a fotoellenállás csatlakozik unsigned int sensorValue = 0; //Változó deklarálása az értékek tárolására. void setup() ( pinMode(13, OUTPUT); Serial.begin(9600); ) void loop() ( sensorValue = analogRead(PhotosensorPin); // Értékek beolvasása a fotoellenállásból if(sensorValue)<700) digitalWrite(13, HIGH); //Включаем else digitalWrite(13, LOW); // Выключаем Serial.print(sensorValue, DEC); //Вывод данных с фоторезистора (0-1024) Serial.println(""); delay(500); }

A programkód Arduino-ba való betöltése után meg kell nyitnia a port monitort.

Most, ha fény esik a fotoellenállásra, és a beépített LED ki van kapcsolva, fedje le a fotoellenállást a kezével, és látni fogja, hogy egy ponton a LED bekapcsol! A portmonitoron a fotoellenállás értékének változásait is láthatja.

A fotoellenállás működésének bemutatója az alábbi videóban látható.

Videó:

A fényérzékelő egy olyan eszköz, amely lehetővé teszi, hogy készülékünk értékelje a fény szintjét. Miért van szükség ilyen érzékelőre? Például, hogy egy közvilágítási rendszer csak akkor kapcsolja be a lámpákat, amikor leszáll a városra. A fényérzékelők másik alkalmazása az akadályok észlelése egy labirintuson áthaladó robot számára. Vagy vonalérzékelés egy robotkövetővel (LineFollower). De ebben a két esetben egy speciális fényforrást használnak fényérzékelővel együtt. Egy egyszerű példával kezdjük, és az egyik leggyakoribb érzékelőt - egy fotoellenállást - csatlakoztatjuk az Arduino Uno mikrokontrollerhez. Ahogy a neve is sugallja, a fotoellenállás egy olyan ellenállás, amely a ráeső fénytől függően változtatja az ellenállását. Ez a rádióelem így néz ki: A fotoellenállások ellenállási tartományban különböznek. Például:

  • VT83N1 - 12-100 kOhm;
  • VT93N2 - 48-500 kOhm.
Ez azt jelenti, hogy sötétben a fotoellenállás ellenállása 12 kOhm, bizonyos teszt megvilágítás mellett pedig 100 kOhm. Konkrétan ezeknél a LED-eknél a teszt megvilágítás a következő paraméterekkel rendelkezett: megvilágítás -10 Lux, színmelegség - 2856K. A fényérzékelők a fotoellenálláson kívül gyakran fotodiódát és fototranzisztort is használnak. Mindkettő tipikus LED-nek tűnik:

1. Csatlakozás

A fotoellenállásunk Arduino Uno-hoz való csatlakoztatásához emlékeznie kell. Végül is a fotoellenállás áramkör kimenetén egy bizonyos feszültséget kapunk, 0 és 5 volt között, amelyet egy nagyon konkrét számmá kell alakítanunk, amellyel a mikrokontroller program már működik. Figyelembe véve, hogy az Arduino Uno 6 analóg bemenettel rendelkezik az A0-A5 lábakon, a fotoellenállást a következő ábra szerint csatlakoztatjuk:

Elrendezés megjelenése


Nézd, mi történt. Egyszerűen építettünk egy szabályos feszültségosztót, aminek a felkarja a fotoellenállásra eső fény szintjétől függően változik. Az alsó oldalról vett feszültséget az analóg bemenetre kapcsoljuk, amely 0 és 1024 közötti számmá alakítja.

2. Program

Miután a fotoellenállást egy egyszerű áramkör szerint csatlakoztattuk, elkezdünk egy programot írni. Az első dolog, amit meg fogunk tenni, hogy a nyers jelet kiadjuk az analóg bemenetről a soros portra, hogy egyszerűen megértsük, hogyan változik az A0 bemenet értéke. A megfelelő program így néz ki: const int pinPhoto = A0; int nyers = 0; void setup() ( Serial.begin(9600); pinMode(pinPhoto, INPUT); ) void loop() ( raw = analogRead(pinPhoto); Serial.println(raw); delay(200); ) A program futtatása velünk hackspace-ben a következő értékeket kaptuk az érzékelőtől:
Most fedjük le az érzékelőt a kezünkkel:
Látható, hogy az érték jelentősen változik. Közvetlen fény esetén 830-tól, árnyékolásnál 500-ig (akadály megjelenése a fény útjában). Ennek a viselkedésnek a ismeretében számszerűen meg tudjuk határozni a kiváltó küszöböt. Legyen egyenlő mondjuk 600-zal. Nem éppen 500-zal, mert meg akarjuk védeni magunkat a véletlen aktiválástól. Hirtelen egy légy átrepül az érzékelő felett – enyhén árnyékolva lesz, és 530-at mutat. Végül a programhoz adunk néhány műveletet, amelyet akkor hajtanak végre, ha a fényszint egy adott küszöb alá esik. A legegyszerűbb, amit tehetünk, hogy felgyújtjuk az Arduino szabványos #13 LED-jét. Az eredmény egy ilyen program: const int pinPhoto = A0; const int led = 13; int nyers = 0; void setup() ( pinMode(pinPhoto, INPUT); pinMode(led, OUTPUT); ) void loop() ( raw = analógRead(pinPhoto); if(raw< 600) digitalWrite(led, HIGH); else digitalWrite(led, LOW); delay(200); } Накрываем датчик рукой (или выключаем свет в комнате) — светодиод зажигается. Убираем руку — гаснет. Работает, однако. А теперь представьте, что вы зажигаете не светодиод, а подаете сигнал на реле, которое включает лампу в подъезде вашего дома. Получаеся готовый прибор для экономии электроэнергии. Или ставите такой датчик на робота, и он при наступлении ночи ложится спать вместе с вами 🙂 В общем, как говорил профессор Фарнсворт, у датчика света тысяча и одно применение!

A világítás automatizálása egy lakásban, házban vagy utcában fotorelék használatával érhető el. Ha helyesen van beállítva, sötétedéskor felkapcsolja a világítást, nappali órákban pedig kikapcsol. A modern eszközök tartalmaznak egy olyan beállítást, amely lehetővé teszi a trigger beállítását a fényszinttől függően. Az „okosotthon” rendszer szerves részét képezik, a tulajdonosok felelősségének jelentős részét átvállalják. A fotorelé áramkör mindenekelőtt olyan ellenállást tartalmaz, amely fény hatására megváltoztatja az ellenállást. Könnyen összeszerelhető és konfigurálható saját kezűleg.

Működési elve

A fotórelé bekötési rajza tartalmaz egy érzékelőt, egy erősítőt és egy PR1 fotokonduktort, amely fény hatására megváltoztatja az ellenállást. Ugyanakkor megváltozik a rajta áthaladó elektromos áram nagysága. A jelet egy VT1, VT2 kompozit tranzisztor (Darlington áramkör) erősíti, és onnan megy az aktuátorhoz, ami K1.

Sötétben a fotoszenzor ellenállása több mOhm. Fény hatására több kOhm-ra csökken. Ebben az esetben a VT1, VT2 tranzisztorok megnyílnak, bekapcsolva a K1 relét, amely a K1.1 érintkezőn keresztül vezérli a terhelési áramkört. A VD1 dióda nem engedi át az önindukciós áramot, ha a relé ki van kapcsolva.

Egyszerűsége ellenére a fotórelé áramkör nagyon érzékeny. A kívánt szint beállításához az R1 ellenállást használjuk.

A tápfeszültséget a relé paraméterei szerint választják ki, és 5-15 V. A tekercsáram nem haladja meg az 50 mA-t. Ha növelni kell, erősebb tranzisztorok és relék használhatók. A fotorelé érzékenysége a tápfeszültség növekedésével nő.

Fotoellenállás helyett fotodiódát is telepíthet. Ha fokozott érzékenységű érzékelőre van szükség, akkor fototranzisztoros áramköröket használnak. Használatuk az elektromos energia megtakarítása érdekében célszerű, mivel egy hagyományos készülék minimális válaszhatára 5 lux, amikor a környező tárgyak még jól megkülönböztethetők. A 2 lux küszöb mély szürkületnek felel meg, amely után 10 perccel később sötétedés áll be.

Kézi világításvezérlés mellett is célszerű fotórelét használni, hiszen elfelejthetjük lekapcsolni a lámpát, és erről a szenzor magától „gondoskodik”. Könnyen telepíthető, és az ára meglehetősen kedvező.

A fotocellák jellemzői

A fotórelé kiválasztását a következő tényezők határozzák meg:

  • fotocella érzékenység;
  • tápfeszültség;
  • kapcsolási teljesítmény;
  • külső környezet.

Az érzékenységet a keletkező fotoáram és a külső fényáram arányaként jellemezzük, és μA/lm-ben mérjük. Ez a frekvenciától (spektrális) és a fényintenzitástól (integrál) függ. A mindennapi életben a világítás szabályozásához az utolsó jellemző fontos, a teljes fényáramtól függően.

A névleges feszültség a készülék házán vagy a mellékelt dokumentumban található. A külföldön gyártott eszközök eltérő tápfeszültség-szabványokkal rendelkezhetnek.

Az érintkezők terhelése azon lámpák teljesítményétől függ, amelyekhez a fotórelé csatlakozik. A világítási fotorelé áramkörök biztosíthatják a lámpák közvetlen kapcsolását az érzékelő érintkezőin vagy az indítókon keresztül, ha nagy a terhelés.

Kültéren az alkonykapcsolót egy lezárt átlátszó burkolat alá helyezzük. Védelmet nyújt a nedvesség és a csapadék ellen. Hideg időszakokban végzett munka során fűtést használnak.

Gyári modellek

Korábban a fotórelé áramkört kézzel szerelték össze. Most erre nincs szükség, mivel az eszközök olcsóbbak lettek, és a funkcionalitás bővült. Nemcsak külső vagy belső világításra használják, hanem növényi öntözés, szellőztető rendszerek stb.

1. FR-2 fotórelé

A gyári modelleket széles körben használják automatizálási eszközökben, például az utcai világítás szabályozására. Napközben gyakran láthat égő lámpákat, amelyeket elfelejtett lekapcsolni. A fotóérzékelőkkel nincs szükség kézi világításvezérlésre.

Az iparilag gyártott fr-2 fotorelé áramkör az utcai világítás automatikus vezérlésére szolgál. Itt van a K1 relé is. Az R4 és R5 ellenállású FSK-G1 fotoellenállás a VT1 tranzisztor aljához csatlakozik.

Az áramellátás egyfázisú, 220 V-os hálózatról történik, alacsony megvilágítás mellett az FSK-G1 ellenállása nagy és a VT1 alapú jel nem elegendő a nyitáshoz. Ennek megfelelően a VT2 tranzisztor is zárva van. A K1 relé feszültség alatt van, és működési érintkezői zárva vannak, így a lámpák égve maradnak.

Amikor a megvilágítás a működési küszöbértékre nő, a fotoellenállás ellenállása csökken és kinyílik, majd a K1 relé kikapcsol, megnyitva a lámpák tápfeszültségét.

2. A fotórelé típusai

A modellek választéka elég nagy ahhoz, hogy kiválaszthassa a megfelelőt:

  • a termék testén kívül elhelyezett távérzékelővel, amelyhez 2 vezeték van csatlakoztatva;
  • Lux 2 - egy nagy megbízhatóságú és minőségi eszköz;
  • fotórelé 12 V-os tápegységgel és nem nagyobb terheléssel;
  • modul DIN-sínre szerelt időzítővel;
  • IEC készülékek hazai gyártótól kiváló minőségben és funkcionalitással;
  • AZ 112 - automata gép nagy érzékenységgel;
  • Az ABB, LPX az európai minőségi eszközök megbízható gyártói.

A fotórelé csatlakoztatásának módjai

Érzékelő vásárlása előtt ki kell számítania a lámpák által fogyasztott teljesítményt, és 20% -os ráhagyással kell vennie. Jelentős terhelés esetén az utcai fotórelé áramköre egy elektromágneses indító további felszerelését biztosítja, amelynek tekercsét a fotórelé érintkezőin keresztül be kell kapcsolni, és a terhelést tápérintkezőkkel kell kapcsolni.

Ezt a módszert ritkán használják otthon.

Telepítés előtt ~220 V tápfeszültség ellenőrzésre kerül A bekötés megszakítóról történik. A fotóérzékelőt úgy kell felszerelni, hogy a zseblámpa fénye ne essen rá.

A készülék sorkapcsokat használ a vezetékek csatlakoztatására, ami megkönnyíti a telepítést. Ha hiányoznak, akkor csatlakozódobozt használnak.

A mikroprocesszorok használatának köszönhetően a fotorelé más elemekkel való kapcsolási rajza új funkciókat kapott. Az akcióalgoritmushoz időzítőt és mozgásérzékelőt adtak.

Kényelmes, ha a lámpák automatikusan bekapcsolnak, amikor valaki egy lépcsőn vagy egy kerti ösvényen halad el. Ezenkívül a művelet csak sötétben történik. Az időzítő használata miatt a fotórelé nem reagál az elhaladó autók fényszóróira.

A mozgásérzékelős időzítő legegyszerűbb bekötési rajza soros. A drága modellekhez speciális programozható áramköröket fejlesztettek ki, amelyek figyelembe veszik a különféle működési feltételeket.

Fotórelé utcai világításhoz

A fotórelé csatlakoztatásához az áramkört a testére kell helyezni. Ez megtalálható a készülék dokumentációjában.

Három vezeték jön ki a készülékből.

  1. Semleges vezető – lámpákhoz és fotóreléhez közös (piros).
  2. Fázis - csatlakoztatva a készülék bemenetéhez (barna).
  3. Potenciális vezető a feszültség ellátásához a fotórelétől a lámpákhoz (kék).

A készülék fázismegszakítás vagy fáziskapcsolás elvén működik. A színjelölések gyártónként eltérőek lehetnek. Ha van földelő vezeték a hálózatban, az nincs csatlakoztatva a készülékhez.

A beépített érzékelővel ellátott modellekben, amely átlátszó tokban található, az utcai világítás önállóan működik. Csak árammal kell ellátni.

A távérzékelőkkel ellátott opciók akkor használhatók, ha a fotórelé elektronikus tartalma kényelmesen el van helyezve a vezérlőpulton más eszközökkel együtt. Ekkor nincs szükség önálló telepítésre, tápvezetékekre és magasban végzett karbantartásra. Az elektronikus egységet beltérben helyezik el, az érzékelőt pedig a szabadba viszik.

Az utcai világítás fotóreléjének jellemzői: diagram

Amikor egy fotórelét kültéren telepít, figyelembe kell vennie néhány tényezőt.

  1. A tápfeszültség rendelkezésre állása, valamint az érintkezők és a terhelés megfelelő teljesítménye.
  2. Az eszközök felszerelése gyúlékony anyagok közelébe és agresszív környezetben nem megengedett.
  3. A készülék alapja alul található.
  4. Az érzékelő előtt ne legyenek mozgó tárgyak, például faágak.

A vezetékek egy kültéri csatlakozódobozon keresztül csatlakoznak. A fotórelé mellé van rögzítve.

Fotóközvetítő kiválasztása

  1. A válaszküszöb beállításának lehetősége lehetővé teszi az érzékelő érzékenységének beállítását az évszaktól vagy felhős időben. Az eredmény energiamegtakarítás.
  2. Minimális munkaerőköltség szükséges a beépített érzékeny elemmel ellátott fotórelé felszerelésekor. Ez nem igényel különleges készségeket.
  3. Az időzítő relé jól programozható az igényeinek és a beállított üzemmódban történő működésnek megfelelően. Beállíthatja, hogy a készülék éjszaka kikapcsoljon. A készülék testén található jelzés és a nyomógombos vezérlés megkönnyíti a beállításokat.

Következtetés

A fotórelé használata lehetővé teszi a lámpa bekapcsolásának időtartamának automatikus szabályozását. Most már nem kell lámpagyújtónak lenni. A fotórelé áramkör, emberi beavatkozás nélkül, esténként felkapcsolja a lámpákat az utcákon, reggel pedig lekapcsolja. A készülékek vezérelhetik a világítási rendszert, ami növeli annak erőforrását és megkönnyíti a működést.

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. A hagyományos ellenállás fő jellemzője az ellenállás é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 az elektronikus áramkör paraméterei folyamatosan változnak, elsősorban a fotoellenálláson keresztüli feszültségesésben vagyunk érdekeltek. 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. Akár fényérzékelőn alapuló biztonsági rendszert is készíthet, amely egy zárt szekrény vagy széf kinyitása és megvilágítása után azonnal működésbe lép. 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 legtöbb ember infravörös sugárzást is „lát”. 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 a megvilágítás változásaira való alacsony reakciósebesség is. 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 lapra 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, melynek két funkciója van az áramkörünkben: korlátozza az áramkörben az áramerősséget, és egy osztóval előállítja a szükséges feszültséget az á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 a 10 K gyors váltást ad a fény kezdetén. 1K esetén a fényérzékelő pontosabban érzékeli a magas fényszinteket.

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 a villanykörtét a különböző világítási fokozatok be-/kikapcsolására.

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.
  • Ahhoz, hogy a fényérzékelő fényszintjének digitális értékét (0-tól 1023-ig) a LED fényerő PWM tartományába (0-tól 255-ig) konvertáljuk, a map() függvényt használjuk.

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.

Következő projektünkhöz fotoellenállást fogunk használni. És megfontoljuk egy éjszakai lámpa megvalósítását a hálószobában, amely automatikusan bekapcsol, amikor sötét van, és kikapcsol, amikor világos lesz.

A fotoellenállás ellenállása a rá eső fénytől függ. A fotoellenállást egy hagyományos 4,7 kOhm-os ellenállással összekapcsolva feszültségosztót kapunk, amelyben a fényerőtől függően változik a fotoellenálláson áthaladó feszültség.

Az osztó feszültségét az Arduino ADC bemenetére kapcsoljuk. Ott összehasonlítjuk a kapott értéket egy bizonyos küszöbértékkel, és be- vagy kikapcsoljuk a lámpát.

Az elosztó kapcsolási rajza az alábbiakban látható. Ha a megvilágítás növekszik, a fotoellenállás ellenállása csökken, és ennek megfelelően az osztó kimenetén (és az ADC bemenetén) nő a feszültség. Amikor a megvilágítás csökken, minden fordítva történik.

Az alábbi képen az összeszerelt áramkör látható egy kenyérvágódeszkán. A 0V és 5V feszültségek az Arduino-tól származnak. Az A0 tűt ADC bemenetként használják.

Az alábbiakban egy Arduino vázlat látható. Ebben az oktatóanyagban egyszerűen be- és kikapcsoljuk az Arduino kártyába épített LED-et. A 13-as lábhoz egy világosabb LED-et csatlakoztathat (~220 ohmos ellenálláson keresztül). Ha erősebb terhelést, például izzólámpát csatlakoztat, akkor azt relén vagy tirisztoron keresztül kell csatlakoztatni.

A programkódban vannak kommentált részek, ezek a hibakeresésre szolgálnak. Lehetőség lesz az ADC értékének szabályozására (0 és 1024 között). Ezenkívül meg kell változtatnia a kódban szereplő 500-as értéket (be- és kikapcsolási küszöb) arra az értékre, amelyet kísérletileg választott ki a megvilágítás megváltoztatásával.

/* ** Éjszakai fény ** ** www.hobbytronics.co.uk */ int sensorPin = A0; // az ADC bemeneti lábának beállítása előjel nélküli int sensorValue = 0; // a fotoellenállás digitális értéke void setup() ( pinMode(13, OUTPUT); Serial.begin(9600); // soros adatkimenet indítása (tesztelés céljából) void loop() ( sensorValue = analogRead(sensorPin); // érték kiolvasása a fotoellenállásból if(sensorValue<500) digitalWrite(13, HIGH); // включаем else digitalWrite(13, LOW); // выключаем // Для отладки раскомментируйте нижеследующие строки //Serial.print(sensorValue, DEC); // вывод данных с фоторезистора (0-1024) //Serial.println(""); // возврат каретки //delay(500); }