2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
V tomto tutoriálu se naučíme, jak vytvořit semafor a jak jej ovládat pomocí karty Drivemall.
Uvidíme, jak vytvořit semafory pro auta a chodce pomocí tlačítka rezervace.
Pokud nemáme drivermall, můžeme použít arduino, ale pod odkazem pro vývoj Drivemall.
Výhoda upřednostňování Drivemall před klasickou deskou Arduino spočívá ve snížení složitosti připojení, což vede k přehlednějšímu nastavení. Toto je však volitelné: všechny výsledky jsou stále platné s deskou arduino, breadboardem a dostatečným množstvím dupontních propojek pro připojení.
Krok 1: Kusovník
- Baord Drivemall / ArduinoMega
- 4 LED červená
- 4 LED zelená
- 4 LED žlutá
- 8 tranzistorů npn
- 16 odporů 220 ohmů
- 8 odporů 22 kOhm
- 1 rezistor 1k ohm
- kabel
- 1 tlačítko
Krok 2: Připojení
Semafor je řízen pomocí dvou tranzistorů PNP zapojených podle schématu na obrázku 2. Provoz tranzistoru PNP je velmi jednoduchý, když je základna připojena k GND, je povolen průchod proudu mezi emitorem a kolektorem.
Tranzistory používáme ke snížení počtu kolíků na desce potřebných k zapnutí každého jednotlivého semaforu.
Pokud jsou tedy oba ZÁKLADY VDD, rozsvítí se červená LED dioda, aby byla jasnější, LED 21 17 14 6.
Pokud napájíme ZÁKLAD druhého tranzistoru, rozsvítí se LED 3 15 18 19.
Pokud jako poslední připojíme oba ZÁKLADY k GND, rozsvítí se LED 20 16 13 10
Připojení tlačítka je místo toho klasický odpor připojený k GND na jednom pinu tlačítka a druhý k VDD.
Registrované piny Arduino jsou od 1 do 10.
Krok 3: Firmware
Zeleně svítí pravidelně pouze jeden ze semaforů. Po stisknutí tlačítka pro chodce se v dalším období změní semafor pro chodce na zelenou
Aby bylo možné bez prodlení v reálném čase spravovat volání tlačítka pro chodce, byla použita funkce millis (), která vrací čas v milisekundách od zapnutí zařízení, takže jej lze použít
příklad
nepodepsaný dlouhý proud Millis = millis ();.
if (currentMillis - previousMillis> 2000 a bt03 == true a bbot == false)
{
Serial.println (1);
T1 ();
previousMillis = aktuálníMillis;
bt1 = true;
BT03 = false;
}
Načítáme aktuální čas do každé smyčky a pokud je proud mínus předchozí je větší než zvolený čas, zadejte if pro změnu stavu semaforu, který aktivuje booleovskou proměnnou pro další přechod, samozřejmě první booleovskou proměnnou platí již před vstupem do smyčky.
Krok 4: Vyloučení
Tento tutoriál byl vytvořen jako součást projektu Makerspace for Inclusion, spolufinancovaného programem Evropské komise Erasmus +.
Projekt si klade za cíl podporovat neformální formu vzdělávání jako prostředek k podpoře sociálního začleňování mladých lidí, neformální vzdělávání lze nalézt v tvůrčích prostorech.
Tento výukový program odráží pouze názory autorů a Evropská komise nenese odpovědnost za jakékoli použití zde uvedených informací.