Pokračujeme v sérii lekcí „Arduino pro začátečníky“. Dnes připojíme fotorezistor (fotobuňku) k desce Arduino. Fotorezistory se používají v robotech jako světelné senzory. Článek obsahuje video návod, výpis programu, schéma zapojení a potřebné komponenty.

Fotorezistor – rezistor, jehož odpor závisí na jasu světla dopadajícího na něj. V našem modelu se LED rozsvítí pouze v případě, že jas světla nad fotorezistorem je menší než určitá, tento jas lze softwarově upravit.

Fotorezistory se používají v robotice jako světelné senzory. Fotorezistor zabudovaný v robotu umožňuje určit stupeň osvětlení, určit bílé nebo černé plochy na povrchu a v souladu s tím se pohybovat po linii nebo provádět jiné akce.

Video návod na sestavení modelu Arduino s fotorezistorem:

K sestavení modelu se servopohonem budeme potřebovat:

  • Deska Arduino
  • 6 vodičů samec-samec
  • fotorezistor
  • light-emitting diode
  • odpor 220 ohmů
  • odpor 10 kOhm
  • Program Arduino IDE, který lze stáhnout z webu Arduino.

Nezbytné komponenty pro připojení fotorezistoru k Arduinu

Nezbytné komponenty pro připojení fotorezistoru k Arduinu

Schéma zapojení pro model Arduino s fotorezistorem:

7 schéma

Schéma zapojení fotorezistoru na Arduinu

Pro tento model je vhodný následující program (program můžete jednoduše zkopírovat do Arduino IDE):

int led = 13; //proměnná s číslem pinu LED
int ldr = 0; //a fotorezistor
void setup() // postup nastavení
pinMode(led, OUTPUT); //indikuje, že LED je výstup
>
void loop() //cyklus procedur
if (analogRead(ldr) < 800) digitalWrite(led, HIGH);
//pokud je indikátor osvětlení menší než 800, zapněte LED
else digitalWrite(led, LOW); //jinak vypněte
>

Takto vypadá sestavený model Arduina s fotorezistorem:

připravený

Připravený model pro připojení fotorezistoru na Arduinu

Pokud LED nereaguje na změny v osvětlení, zkuste změnit číslo 800 v programu, pokud je stále zapnutý, snižte jej, pokud není zapnutý, zvyšte jej.

Viz též:

Příspěvky z lekce:

  1. První lekce: LED
  2. Lekce dvě: Tlačítko
  3. Lekce třetí: Potenciometr
  4. Lekce čtvrtá: Servopohon
  5. Lekce pátá: Tříbarevná LED
  6. Lekce šest: Piezo prvek
  7. Lekce sedm: Fotorezistor
  8. Osmá lekce: Pohybový senzor (PIR) a e-mail
  9. Lekce devátá: Připojení snímače teploty a vlhkosti DHT11 nebo DHT22

Všechny příspěvky webu „Enterifying Robotics“ pod značkou Arduino.

Náš YouTube kanál, kde jsou zveřejňovány videonávody.

Nevím, kde koupit Arduino? Všechny komponenty použité v lekci jsou součástí většiny hotových stavebnic Arduino, lze je zakoupit i samostatně. Podrobné pokyny k výběru jsou zde. Nízké ceny, speciální nabídky a doprava zdarma na AliExpress a DealExtreme. Pokud nemáte čas čekat na balíček z Číny, doporučujeme internetové obchody Amperka a DESSY. Nízké ceny a rychlé dodání nabízí internetový obchod ROBstore. Podívejte se také na seznam prodejen.

ČTĚTE VÍCE
Jaký dokument je nutný k použití porcelánové kameniny na fasádách?

Světelný senzor je zařízení, které umožňuje našemu zařízení vyhodnocovat úroveň světla. Proč je takový senzor potřeba? Například, aby systém pouličního osvětlení rozsvítil lampy pouze tehdy, když na město padne noc.

Další aplikací světelných senzorů je detekce překážek pro robota procházejícího bludištěm. Nebo detekce čar pomocí robotického sledovače (LineFollower). Ale v těchto dvou případech se používá speciální světelný zdroj ve spojení se světelným senzorem.

Začneme jednoduchým příkladem a k mikrokontroléru Arduino Uno připojíme jeden z nejběžnějších senzorů – fotorezistor. Jak název napovídá, fotorezistor je rezistor, který mění svůj odpor v závislosti na světle dopadajícím na něj. Tento rádiový prvek vypadá takto:

Arduino: fotorezistorový světelný senzor

Fotorezistory se liší rozsahem odporu. Například:

  • VT83N1 – 12-100 kOhm;
  • VT93N2 – 48-500 kOhm.

To znamená, že ve tmě je odpor fotorezistoru 100 kOhm a při určitém zkušebním osvětlení je 12 kOhm. Konkrétně v případě těchto LED mělo testovací osvětlení tyto parametry: osvětlení -10 Lux a výhřevnost barvy – 2856K.

Světelné senzory často využívají kromě fotorezistoru také fotodiodu a fototranzistor. Obě vypadají jako typické LED:

SFH229

Seznam požadovaných součástí

Chcete-li provést jednoduchý příklad s fotorezistorem, budete potřebovat řadič kompatibilní s Arduino, odpory, prkénko na krájení a několik vodičů typu samec-to-male. Potřebné komponenty můžete vložit do košíku přímo zde a poté zadat objednávku v našem internetovém obchodě.

Připojení

Abyste mohli připojit náš fotorezistor k Arduino Uno, budete si muset zapamatovat lekci o analogově-digitální konverzi (ADC). Koneckonců na výstupu obvodu fotorezistoru dostaneme určité napětí, v rozsahu od 0 do 5 Voltů, které budeme muset přeměnit na velmi konkrétní číslo, se kterým již bude program mikrokontroléru pracovat. Mějte na paměti, že Arduino Uno má 6 analogových vstupů na nohách A0-A5, připojíme fotorezistor podle následujícího schématu:

photox1_scheme

Vzhled rozložení

photox1_bb

Podívej, co se stalo. Jednoduše jsme postavili běžný dělič napětí, jehož horní rameno se bude měnit v závislosti na úrovni světla dopadajícího na fotorezistor. Napětí odebrané ze spodní strany přivedeme na analogový vstup, který jej převede na číslo od 0 do 1023.

DSC_0006

Program

Po zapojení fotorezistoru podle jednoduchého obvodu začneme psát program. První věc, kterou uděláme, je výstup surového signálu z analogového vstupu na sériový port, abychom jednoduše pochopili, jak se mění hodnota na vstupu A0. Odpovídající program vypadá takto:

ČTĚTE VÍCE
Je možné nanést silikonový tmel jako druhou vrstvu?

Spuštěním tohoto programu v našem hackspace jsme ze senzoru obdrželi následující hodnoty:

photo_1

Nyní zakryjme senzor rukou:

photo_2

Je vidět, že se hodnota velmi mění. Od 830 v případě přímého světla, až po 500 v případě zastínění (vzhled překážky v dráze světla). Když známe toto chování, můžeme numericky určit spouštěcí práh. Nechť se rovná řekněme 600. Ne přesně 500, protože se chceme chránit před náhodnou aktivací. Najednou nad senzorem proletí moucha – bude lehce zastíněná a ukáže 530.

Nakonec do programu přidáme nějakou akci, která se provede, pokud úroveň osvětlení klesne pod danou hranici. Nejjednodušší věc, kterou můžeme udělat, je rozsvítit standardní LED #13 na Arduinu. Výsledkem je program jako tento:

Senzor zakryjeme rukou (nebo zhasneme světlo v místnosti) – rozsvítí se LED. Sundáme ruku a zhasne. Funguje to však. Nyní si představte, že nerozsvítíte LED, ale pošlete signál do relé, které rozsvítí lampu ve vchodu vašeho domu. Výsledkem je hotové zařízení pro úsporu energie. Nebo dejte takový senzor na robota, a když padne noc, jde s vámi do postele 🙂 Obecně, jak řekl profesor Farnsworth, světelný senzor má tisíc a jedno použití!

K zamyšlení

Za prvé, aby nedošlo k sestavení obvodu na prkénko, můžete použít hotový modul s fotorezistorem a děličem napětí na desce.

Světelný senzor na fotorezistoru

Tento modul je vhodný, pokud potřebujete vytvořit prototyp zařízení nebo miniškolního projektu, který by neměl selhat při žádném dotyku s dráty.

Za druhé, k měření osvětlení v luxech používají světelní inženýři sofistikovanější senzory zvané luxmetry. Úkolem takového senzoru je snímat světlo, stejně jako lidské oko. Modul expozimetru se také snadno připojí k Arduinu, ale o tom v jiné lekci.