2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
V tomto návode sa naučíme, ako vytvoriť semafor a ako ho ovládať pomocou karty Drivemall.
Uvidíme, ako vytvoriť semafory pre autá a chodcov pomocou rezervačného tlačidla.
Ak nemáme drivermall, môžeme použiť arduino, ale pod odkazom na vývoj Drivemall.
Výhodou uprednostnenia Drivemall pred klasickou doskou Arduino je zníženie zložitosti pripojení, čo vedie k prehľadnejšiemu nastaveniu. Toto je však voliteľné: všetky výsledky sú stále platné pre dosku arduino, dosku na chlieb a dostatok dupontných prepojok na pripojenie.
Krok 1: Kusovník
- Baord Drivemall / ArduinoMega
- 4 led červená
- 4 led zelená
- 4 led žltá
- 8 tranzistor npn
- 16 odporov 220 ohmov
- 8 odporov 22 kOhm
- 1 rezistor 1k ohm
- kábel
- 1 tlačidlo
Krok 2: Pripojenia
Semafor sa ovláda pomocou dvoch tranzistorov PNP zapojených podľa schémy na obrázku 2. Prevádzka tranzistora PNP je veľmi jednoduchá, keď je základňa pripojená k GND, je povolený prechod prúdu medzi emitorom a kolektorom.
Tranzistory používame na zníženie počtu kolíkov dosky potrebných na zapnutie každého jednotlivého semaforu.
Ak sú teda oba ZÁKLADY VDD, rozsvieti sa červená LED dióda, alebo aby bola jasnejšia, LED 21 17 14 6.
Ak napájame ZÁKLAD druhého tranzistora, rozsvietia sa LED 3 15 18 19.
Ako posledné, ak prepojíme oba ZÁKLADY na GND, rozsvietia sa LED 20 16 13 10
Pripojenie tlačidla je namiesto toho klasický odpor pripojený k GND na jednom pine tlačidla a druhom k VDD.
Zaregistrované piny Arduino sú od 1 do 10.
Krok 3: Firmvér
Zelene svieti pravidelne iba jeden zo semaforov. Po stlačení tlačidla pre chodcov sa v nasledujúcom období svetelná signalizácia pre chodcov zmení na zelenú
Aby bolo možné bez prieťahov v reálnom čase ovládať tlačidlové volanie pre chodcov, bola použitá funkcia millis (), ktorá vracia čas v milisekundách od zapnutia zariadenia, aby ho bolo možné použiť
príklad
nepodpísaný dlhý prúd Millis = millis ();.
if (currentMillis - previousMillis> 2000 a bt03 == true a bbot == false)
{
Serial.println (1);
T1 ();
previousMillis = súčasnýMillis;
bt1 = pravda;
BT03 = nepravda;
}
Do každej slučky načítame aktuálny čas a ak je prúd mínus predchádzajúci väčší ako zvolený čas, zadajte príkaz if, ak chcete zmeniť stav semaforu, ktorý aktivuje booleovskú premennú pre nasledujúci prechod, samozrejme prvú booleovskú premennú platí už pred vstupom do slučky.
Krok 4: Vylúčenie
Tento tutoriál bol vytvorený ako súčasť projektu Makerspace for Inclusion, spolufinancovaného z programu Erasmus + Európskej komisie.
Cieľom projektu je podpora neformálnej formy vzdelávania ako prostriedku na podporu sociálneho začlenenia mladých ľudí, neformálneho vzdelávania, ktoré je možné nájsť v rámci tvorivých priestorov.
Tento tutoriál odráža iba názory autorov a Európska komisia nezodpovedá za žiadne použitie informácií, ktoré sú v nich uvedené.