Hogyan készítsünk Arduino alapú közlekedési lámpa vezérlőt?

A közlekedési lámpák olyan jelzőberendezések, amelyek segítségével szabályozható a forgalom egy út, gyalogos átkelőhelyek és más helyek kereszteződésein. A fény három színének kombinációja: vörös, sárga és zöld. A piros lámpa arra utasítja az embereket, hogy álljanak meg, a sárga azt mondja, hogy készüljenek fel vagy indítsák be a motort, ha az le van kapcsolva, és a zöld lámpa azt jelzi, hogy szabadon haladhat.



Közlekedési lámpák

Ebben a projektben négyirányú forgalmi jelző rendszert fogunk készíteni mikrokontroller segítségével. Megégetjük a C kód az Arduino Uno táblán, hogy elmondja neki, hogyan kell be- és kikapcsolni a LED-eket, hogy a kapcsolás tökéletes időzítése elérhető legyen a jelzési folyamatban. 4 LED 4 kombinációját használják és teszik a kenyérlapra a tesztelés céljából.



Hogyan készítsünk négyirányú forgalmi jelet a Seeeduino v4.2 használatával?

A közlekedési jelzőtáblák a legfontosabbak, amelyeket az utakra telepítenek, hogy a forgalom zökkenőmentes és egyenletes maradjon, és ez minimalizálja a balesetek esélyét. Kicsi kenyérlapon készíthetjük el ezt a projektet. Gyűjtsünk néhány információt erről a projektről, és kezdjünk el dolgozni.



1. lépés: Az alkatrészek összegyűjtése

A projektek megkezdésének legjobb módja az, hogy a kezdetekor elkészíti a teljes alkotóelemek listáját, és az egyes komponensek rövid tanulmányozásával végzi el. Ez segít elkerülni a kellemetlenségeket a projekt közepén. Az alábbiakban a projektben használt összes alkatrész teljes listája található.



  • Seeeduino V4.2
  • Jumper huzalok
  • LED (4x zöld, 4x sárga, 4x piros)
  • 12 V AC - DC adapter

2. lépés: Az alkatrészek tanulmányozása

Most, hogy ismerjük projektünk kivonatát, és az összes alkatrészről teljes listánk is van, lépjünk előre egy lépéssel előre, és nézzünk át egy rövid tanulmányt a használni kívánt komponensekről.

Seeeduino v4.2 az egyik legjobb Arduino kompatibilis kártya a világon, amely az Atmega 328 MCU mikrovezérlőn alapul. mert könnyen használható, stabilabb és jobban néz ki, mint sok más tábla. Az Arduino bootloaderre épül. UART-USB átalakítóként ATMEGA16U2-vel rendelkezik, mivel ebből FTDI chipként használható. mikro USB-kábellel csatlakozik a számítógéphez, amelyet általában android-kábelnek hívnak. A kártya tápellátására DC aljzat is használható. a bemeneti teljesítménynek 7 V és 15 V között kell lennie.

Seeeduino



NAK NEK Kenyérlemez forrasztás nélküli eszköz. Ideiglenes prototípusú elektronikus áramkörök és tervek készítésére és tesztelésére használják. Az elektronikus alkatrészek nagy része egyszerűen a kenyérlapra van csatlakoztatva, csak a csapjaikat a kenyérlapba helyezve. Fémcsík van lefektetve a kenyérlemez lyukain, és a lyukak meghatározott módon vannak összekötve. A furatok csatlakozásait az alábbi ábra mutatja:

Kenyérlemez

3. lépés: Működési elv

Nézzünk át egy rövid bevezetést a négyirányú forgalmi jel projekt működési elvére. Mivel ez négyirányú, tizenkét LED-re és három LED négy kombinációjára lesz szükségünk. A kód úgy van megírva, hogy ha az egyik kombináció zöld fényt mutat, akkor az összes többi kombináció piros fényt mutat. Ha egy jel zöldről sárgára vagy vörösről sárgára változik, akkor a LED-ek egy másik kombinációja szintén egy tranzakciót mutat vörösről sárgára vagy sárgáról pirosra.

Mindezt a jelek átmenete közötti késleltetéssel fogjuk megtenni. Például egy LED csaknem tizenöt másodpercig zöld, a LED csaknem két másodpercig sárga marad. A piros LED időtartama a zöld LED időtartamától függ. Ez azt jelenti, hogy ha egy LED tizenöt másodpercig zöld, akkor az összes többi piros LED tizenöt másodpercig világít.

4. lépés: Az áramkör elkészítése

Most, hogy ismerjük az alkatrészek fő működését, lépjünk előre, és kezdjük meg az alkatrészek összeállítását az áramkör létrehozásához. Az összes alkatrész helyes csatlakoztatásához hajtsa végre a következő lépéseket a kenyérlapon.

  1. Először vegye be az összes LED-et, és csatlakoztassa őket a kenyérlapba a megfelelő sorrendben, piros, sárga és zöld színben.
  2. Készítsen közös kapcsolatot az al LED-ek földelésével. Jobb, ha 220 ohmos ellenállást csatlakoztatunk a LED pozitív kivezetésére.
  3. Most csatlakoztassa ennek megfelelően a csatlakozó vezetékeket.
  4. Most csatlakoztassa a LED-eket az Arduino-hoz az alábbi kapcsolási rajz szerint. A LED-1, a LED-2-től a LED-12-ig az Arduino Uno kártya 1-es, 2-es és 12-es tűjéhez csatlakozik.
  5. Töltse fel a kódot az Arduino Uno készülékbe, és tápellátást adjon rá egy laptop vagy az AC-DC adapter segítségével.
  6. Az áramkör úgy néz ki, mint az alább látható kép:

    Kördiagramm

5. lépés: Az Arduino használatának megkezdése

Ha még nem ismeri az Arduino IDE-t, ne aggódjon, mert az alábbiakban a kód égetésének világos lépéseit láthatja a mikrokontroller táblán az Arduino IDE használatával. Az Arduino IDE legújabb verzióját innen töltheti le itt és kövesse az alábbi lépéseket:

1). Amikor az Arduino kártya csatlakozik a számítógépéhez, nyissa meg a „Vezérlőpult” elemet, majd kattintson a „Hardver és hang” elemre. Ezután kattintson az „Eszközök és nyomtatók” elemre. Keresse meg annak a portnak a nevét, amelyhez Arduino táblája csatlakozik. Az én esetemben ez a „COM14”, de előfordulhat, hogy más lesz a számítógépén.

Port megtalálása

2). Most nyissa meg az Arduino IDE-t. Az Eszközök közül állítsa az Arduino táblát a következőre: Arduino / Genuino UNO.

Tábla beállítása

3). Ugyanabban az Eszköz menüben állítsa be a portszámot, amelyet a kezelőpanelen látott.

Port beállítása

4). Töltse le az alább mellékelt kódot, és másolja be az IDE-be. A kód feltöltéséhez kattintson a feltöltés gombra.

Feltöltés

A kódot letöltheti ide kattintva.

6. lépés: Kód

A kód jól kommentált és magától értetődő, de ennek ellenére a kód egy részét alább röviden elmagyarázzák.

1. Az elején megadják az összes csapot, amelyet később összekapcsolnak az Arduinóval.

int led1 = 1; // piros lámpa 1 int led2 = 2; // sárga fény 1 int led3 = 3; // zöld fény 1 int led4 = 4; // piros lámpa 2 int led5 = 5; // sárga fény 2 int led6 = 6; // zöld fény 2 int led7 = 7; // piros lámpa 3 int led8 = 8; // sárga fény 3 int led9 = 9; // zöld fény 3 int led10 = 10; // piros fény 4 int led11 = 11; // sárga fény 4 int led12 = 12; // zöld fény 4

2. void setup () egy olyan függvény, amelyben deklaráljuk, hogy az Arduino tábla összes csapja INPUT vagy OUTPUT néven használható. A Baud Rate is ebben a funkcióban van beállítva. A Baud Rate az a kommunikációs sebesség bit / másodpercben, amellyel a mikrovezérlő kártya kommunikál a külső eszközökkel. Ez a funkció csak egyszer működik, amikor megnyomják a mikrokontroller kártya engedélyező gombját.

void setup () {Serial.begin (9600;) // A Baud Rate értéke 9600 pinMode (led1, OUTPUT); // Az összes LED-hez csatlakoztatott érintkezõ OUTPUT pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); pinMode (led7, OUTPUT); pinMode (led8, OUTPUT); pinMode (led9, OUTPUT); pinMode (led10, OUTPUT); pinMode (led11, OUTPUT); pinMode (led12, OUTPUT); }

3. void loop egy olyan funkció, amely egy ciklusban ismételten fut. Ebben a funkcióban kódoljuk az egész eljárást, amellyel a mikrovezérlő vezérli a külső LED-eket. Az alábbiakban egy kis darab kódot adunk meg. Itt az első oldal zöld lámpája világít, és az összes többi oldalon világít a piros lámpa. Ezek a lámpák ebben az állapotban 15 másodpercig maradnak. 15 másodperc elteltével az első és a második oldal sárga lámpája felgyullad a másik két oldalon, a piros lámpa pedig folyamatosan világít. Két másodperc késés után az első oldalon világít a piros, a második oldalán pedig a zöld fény. Ez mindaddig megtörténik, amíg mind a négy oldalon be nem kapcsolják a zöld lámpákat, egymás után, majd a hurok megismétlődik.

digitalWrite (led1, LOW); // Az első oldal piros lámpája nem világít digitalWrite (led2, LOW); // sárga lámpa f első oldala ki van kapcsolva a digitalWrite (led3, HIGH); // Az első oldal zöld fénye a digitalWrite-en van (led4, HIGH); // A seconf oldal piros lámpája világít a digitalWrite-en (led5, LOW); // a második oldal sárga lámpája nem világít digitalWrite (led6, LOW); // a második oldal zöld fénye ki van kapcsolva a digitalWrite (led7, HIGH); // A harmadik oldal piros lámpája világít a digitalWrite-en (led8, LOW); // a harmadik oldal sárga fénye ki van kapcsolva a digitalWrite (led9, LOW); // a harmadik oldal zöld fénye ki van kapcsolva a digitalWrite (led10, HIGH); // a negyedik oldal piros lámpája világít a digitalWrite-en (led11, LOW); // a negyedik oldal sárga fénye ki van kapcsolva a digitalWrite (led12, LOW); // a negyedik oldal zöld fénye kikapcsolt késleltetés (15000); 15 másodperces késés miatt az első oldal zöld és a másik három oldal piros lámpája 15 másodpercig bekapcsolva marad. digitalWrite (led1, LOW); // az első oldal piros lámpája nem világít digitalWrite (led2, HIGH); // Az első oldal sárga lámpája világít a digitalWrite-en (led3, LOW); // az első oldal zöld fénye ki van kapcsolva a digitalWrite (led4, LOW); // a második oldal piros lámpája nem világít digitalWrite (led5, HIGH); // A második oldal sárga lámpája világít a digitalWrite-en (led6, LOW); // a második oldal zöld fénye ki van kapcsolva a digitalWrite (led7, HIGH); // A harmadik oldal piros lámpája világít a digitalWrite-en (led8, LOW); // a harmadik oldal sárga fénye ki van kapcsolva a digitalWrite (led9, LOW); // a harmadik oldal zöld fénye ki van kapcsolva a digitalWrite (led10, HIGH); // a negyedik oldal piros lámpája világít a digitalWrite-en (led11, LOW); // a negyedik oldal sárga fénye ki van kapcsolva a digitalWrite (led12, LOW); // a negyedik oldal zöld fénye kikapcsolt késleltetés (2000); 2 másodperces késés miatt az első és a másik oldal sárga lámpája továbbra is bekapcsol

Tehát ez volt az egész eljárás egy négyirányú forgalmi jel előállításához. Élvezheti, hogy a tanuláshoz vagy az iskolai projekthez készíti el.