Obsah:
- Krok 1: Krok 1: Vytvořte světelné čepice
- Krok 2: Krok 2: Příprava sloupku z PVC
- Krok 3: Krok 3: Sestavení RGB LED pásků a pískování akrylových desek
- Krok 4: Krok 4: Připojte RGB LED pásky k Arduinu
- Krok 5: Krok 5: Napište kód Arduino
Video: Inteligentní interaktivní semafor: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Jste připraveni postavit nejlepší a nejinteraktivnější semafor na světě? Dobrý! V tomto tutoriálu vysvětlíme, jak si jej můžete vytvořit sami pomocí Arduina.
Požadované komponenty:- Arduino (..duh)- LM317 Mosfet- 2x 60 cm analogové RGB LED pásky (12V)- PVC trubice (1 m x 125 mm)- kabely (červené a černé)- kovové desky pro světelné čepice- akryl pro světlo -ikony (ikony.svg najdete na flaticon.com)- Spraycan černobílý nátěr.- Elektrická páska- Všechny požadované pájecí součásti- Displej s požadovaným štítem (nepoužívá se v tutoriálu)
Krok 1: Krok 1: Vytvořte světelné čepice
Design je opravdu na vás. Vyrobili jsme čepici 15x15 cm, která drží světla. Vystřihli jsme kovové desky na správnou velikost a pomocí kovového ohýbačky (ne, ne od Avatara) ohýbáme čepice ve správných tvarech. Zadní desky byly vyrobeny z jiné součásti.
Krok 2: Krok 2: Příprava sloupku z PVC
Vyřízněte 2 otvory v tyči z PVC, aby odpovídaly světelným čepicím. Poté použijte stříkací pistoli s černou barvou k natření celé věci na černo. Pokud chcete, můžete na spodní část sloupu přidat bílé pruhy (běžné v Nizozemsku).
Krok 3: Krok 3: Sestavení RGB LED pásků a pískování akrylových desek
Dále budete muset sestavit RGB LED pásky uvnitř světelné krytky. Nasaďte je těsně kolem víčka a umístěte je co nejblíže k přední části.
Dále budete muset pískovat vybraný symbol pro na akrylovou desku. Vezměte si pásku a zakryjte celou akrylovou desku. Poté vystřihněte požadovaný tvar/postavu. Poté můžete desku opískovat, abyste získali efekt podobný matnému sklu.
Krok 4: Krok 4: Připojte RGB LED pásky k Arduinu
Nyní přichází ošemetná část: připojení RGB LED pásků k Arduinu. Když připojujete kolíky, ujistěte se, že jste připojili 12 V na 12 V pásku. Mezi každou barvu, tak červenou nebo zelenou, musíte vložit mosfet. Připojte data LED pásky ke střednímu kolíku mosfetu a levý pin k vašemu Arduinu. Pravý kolík se musí vrátit zpět na zem Arduina.
Krok 5: Krok 5: Napište kód Arduino
Tento kód Arduino je řízen bluetooth, protože jsme nepoužili interní displej. Kód je tedy řízen pomocí zpráv bluetooth ve funkci loop ().
#definovat r 6 #definovat g 11 #zahrnout
SoftwareSerial mySerial (10, 11); // RX, TX
#define angryLength 4
#define klesajícíDélka 3 #define happyLength 4 #define onPhoneLength 13 #define talkingLength 5 #define walkingLength 4 #define walkingOutLength 4 #define wavingLength 6
tlačítko boolStisknuto;
int aktuálníMillis; int předchozíMillis;
int animation1Delay;
int animation2Delay; int animation3Delay; int animation4Delay;
bool animation1Done = false;
bool animation2Done = false; bool animation3Done = false; bool animation4Done = false; bool animation5Done = false;
bool blockLight = false;
bool lightRed = true;
int currentAnimationDelay;
neplatné nastavení () {
// sem vložte svůj instalační kód, aby se spustil jednou: pinMode (r, OUTPUT); pinMode (g, VÝSTUP);
Serial.begin (9600);
mySerial.begin (38400); Serial.setTimeout (25); buttonPressed = false; currentMillis = 0; previousMillis = 0;
animation1Delay = walkingLength * 1000;
animation2Delay = wavingLength * 1000; animation3Delay = happyLength * 1000; animation4Delay = walkingOutLength * 1000;
// currentAnimationDelay = animation1Delay * 1000;
lightRed = true; }
prázdná smyčka () {
// zpoždění (20);
// sem vložte svůj hlavní kód, aby běžel opakovaně: unsigned long currentMillis = millis (); if (buttonPressed == true) {if (animation1Done == false) {if (currentMillis - previousMillis> animation1Delay) {Serial.println ("0"); previousMillis = aktuálníMillis; animation1Done = true; }} else if (animation2Done == false a animation1Done == true) {if (currentMillis - previousMillis> animation2Delay) {Serial.println ("1"); previousMillis = aktuálníMillis; animation2Done = true; }} else if (animation3Done == false a animation2Done == true) {if (currentMillis - previousMillis> animation3Delay) {Serial.println ("2"); //Serial.println("sound:green "); previousMillis = aktuálníMillis; animation3Done = true; lightRed = false; }} else if (animation4Done == false a animation3Done == true) {if (currentMillis - previousMillis> animation4Delay) {previousMillis = currentMillis; animation4Done = true; Serial.println ("FLSH"); }}}
pokud (Serial.available ()) {
Řetězec str = Serial.readString (); if (str == "CMD: BUTTON_PRESSED") {
animation1Done = false;
animation2Done = false; animation3Done = false; animation4Done = false; animation5Done = false;
animation1Delay = walkingLength * 1000;
animation2Delay = wavingLength * 1000; animation3Delay = happyLength * 1000; animation4Delay = walkingOutLength * 1000;
// currentAnimationDelay = animation1Delay * 1000;
lightRed = true; Serial.println ("3"); buttonPressed = true; previousMillis = aktuálníMillis; }
if (str == "ČERVENÁ") {
blockLight = false; lightRed = true; }
if (str == "ZELENÁ") {
blockLight = false; lightRed = false; }
if (str == "SVĚTLO: ZELENÉ: VYPNUTO") {
blockLight = true; analogWrite (g, 255); } if (str == "SVĚTLO: ZELENÉ: ZAPNUTO") {blockLight = true; analogWrite (g, 0); } //Serial.println(str); }
if (blockLight == false) {
if (lightRed == true) {
analogWrite (r, 0); analogWrite (g, 255); } if (lightRed == false) {analogWrite (r, 255); analogWrite (g, 0); }}}
Doporučuje:
BBC Micro: bit and scratch - interaktivní volant a hra pro řidiče: 5 kroků (s obrázky)
BBC Micro: bit and Scratch - interaktivní volant a hra pro řízení: Jednou z mých úkolů v tomto týdnu je použít BBC Micro: bit k propojení s programem Scratch, který jsme napsali. Myslel jsem, že to byla ideální příležitost použít můj ThreadBoard k vytvoření vestavěného systému! Moje inspirace pro scratch p
Interaktivní konferenční stolek LED Arduino: 6 kroků (s obrázky)
Interaktivní LED konferenční stolek Arduino: Vytvořil jsem interaktivní konferenční stolek, který rozsvítí LED světla pod předmětem, když je předmět umístěn nad stůl. Rozsvítí se pouze LED diody, které jsou pod tímto objektem. Toho se dosahuje efektivním využitím senzorů přiblížení a když přiblížení
Inteligentní budík: inteligentní budík vyrobený z Raspberry Pi: 10 kroků (s obrázky)
Chytrý budík: Chytrý budík vyrobený z Raspberry Pi: Chtěli jste někdy chytré hodiny? Pokud ano, toto je řešení pro vás! Vytvořil jsem inteligentní budík, toto jsou hodiny, u kterých můžete podle času na webu změnit čas budíku. Když se spustí alarm, ozve se zvuk (bzučák) a 2 kontrolky
Inteligentní zahradničení založené na IoT a inteligentní zemědělství pomocí ESP32: 7 kroků
Inteligentní zahradničení založené na IoT a inteligentní zemědělství pomocí ESP32: Svět se mění v čase a také v zemědělství. V dnešní době lidé integrují elektroniku do všech oblastí a zemědělství pro to není výjimkou. Toto sloučení elektroniky v zemědělství pomáhá zemědělcům a lidem, kteří spravují zahrady
Semafor Arduino: 8 kroků (s obrázky)
Semafor Arduino: Tento projekt byl vytvořen s 5mm LED diodami a LED montážním hardwarem T1-3/4 Clear Standard pro lepší vizualizaci, a tak pomocí 3 LED pro samostatné zobrazení jeho barev Červená, Žlutá & Zelená resp