Hirdetések

  • (csúszda) kedd
    • emléknap Douglas Addams számára, a Hitchhiker-féle Útmutató a galaxishoz c
    • ezen a napon minden jó nyomkövetőnek látható helyen van a törölközője;)

Éjszakai fény projekt

A hozzávalók

  • Mint említettem, szükségünk lesz:
    • LED, amely fényforrásként fog működni,
    • PIR érzékelő, amely érzékeli a mozgást,
    • LDR érzékelő, amelyet a fényintenzitás érzékelésére használunk, és
    • vagy egy gomb az egész be- vagy kikapcsolásához

Államdiagram

A létrehozott eszközben a következő állapotokat tudjuk azonosítani:

  • Államok (az angol államtól), a
  • állapotok közötti átmenet (az angol átmenetből).

Az ezt az eszközt ábrázoló állapotdiagramot a következő ábra mutatja:

arduino
Éjszakai fény: állapotdiagram

1. A LED villanása

Ha ki akarjuk számolni ennek az ellenállásnak a nagyságát, akkor megtehetjük Ohm törvénye. Tudnunk kell azonban:

  • feszültségesés a LED-en (úgynevezett előrefeszültség)
  • a hurokban áramló áram nagysága

Az Arduino táblán lévő csapon átmenő maximális áram 40mA. Egy LED esetében azonban 20mA árammal számolhatunk.

A LED-en a feszültségesés annak típusától függ, ill. színek. Tehát számoljunk 1,7 V értékkel.

Így a megfelelő ellenállás 165 Ohm. A legközelebbi gyártási ellenállás 220 Ohm.

GPIO csapok

Arduino UNO

jegyzet

A digitális csapok csak két értékkel működnek:

  • HIGH - logika 1 (igaz), feszültségszint 5V
  • LOW - logika 0 (hamis), feszültségszint 0V

jegyzet

Természetesen ez nem pontosan 5V és pontosan 0V.

Kimeneti GPIO Pin beállítása

A kimeneti GPIO tűvel végzett munkát egy LED dióda segítségével mutatjuk be, amely a 6. érintkezőhöz van csatlakoztatva .

  • pin - GPIO PIN-szám
  • mode - pin működési mód, amely lehet INPUT, OUTPUT (vagy INPUT_PULLUP néven is)

A LED a kimeneti működtető és a GPIO 6-os csatlakozóhoz van csatlakoztatva. Beállításai így fognak kinézni:

Figyelem

Konstans használata esetén a memóriafogyasztás megegyezik egy makró használatával, ami valószínűleg a fordító optimalizálásának köszönhető.

Villan a LED

(slide) A digitalWrite () függvény segítségével logikai értéket írhatunk egy digitális csapra. Két paramétere van:

  • pin - GPIO PIN-szám
  • érték - logikai 0 (LOW) vagy logikai 1 (HIGH) érték

Superloop

Így valósítottuk meg valóban a Blink példát.

2. A mozgás olvasása a PIR érzékelőről

Csatlakoztatunk egy PIR érzékelőt az Arduino UNO táblához a mozgás érzékeléséhez. Logikai HIGH szintet generál a kimeneten, amikor mozgást észlel. Ellenkező esetben logikai LOW szint lesz az érzékelő kimenetén .

jegyzet

A PIR érzékelő működésével kapcsolatos további információkért javaslom elolvasni pl. cikk A HC-SR501 PIR érzékelő működése és összekapcsolása az Arduinóval.

(csúsztatás) A PIR érzékelőnek három csapja van:

  • VCC - tápegység
  • GND - föld
  • OUT - digitális kimenet
PIR érzékelő: Pinout

jegyzet

PIR érzékelő: Board

A PIR érzékelő kimenete a GPIO 1. sz. 4, amelyet bemenetként állítunk be:

  • pin - GPIO PIN-szám

A függvény a HIGH vagy a LOW logikai szint értékét adja vissza .

Az érzékelő kimenetét a loop () funkció olvassa le. Ezután azonnal felhasználhatjuk az olvasási értéket a LED be- vagy kikapcsolásához:

Soros vonal

egyszerű és olcsó

csak két kábel elegendő a megvalósításához (azonban négyre van szükség együtt - a kommunikáció kétirányú (full duplex))

A 8b. Ábra általában továbbításra kerül, amelyhez az elején egy START bit, a végén pedig egy paritásbit bitű STOP bit tartozik (lehet, hogy nem is)

Soros kommunikáció

  • írási funkciók - pl. Serial.print (), Serial.println ()
  • olvasási funkciók - pl. Serial.read (), Serial.readString ()

jegyzet

Példa

Felhúzható és lehúzható ellenállások

3. A fény intenzitásának mérése LDR érzékelővel

Analóg bemenet

További felhasználások

További források