Obsah:
- Krok 1: Krok 1: Vytvorte svetelné kryty
- Krok 2: Krok 2: Príprava pólu z PVC
- Krok 3: Krok 3: Zostavenie RGB LED pásikov a pieskovanie akrylových dosiek
- Krok 4: Krok 4: Pripojte RGB LED pásiky k Arduinu
- Krok 5: Krok 5: Napíšte kód Arduino
Video: Inteligentný interaktívny semafor: 5 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Ste pripravení postaviť najlepší a najinteraktívnejší semafor na svete? Dobre! V tomto návode vám vysvetlíme, ako si ho môžete vytvoriť sami pomocou Arduina.
Požadované komponenty:- Arduino (..duh)- LM317 Mosfet- 2x 60 cm analógové RGB LED pásy (12V)- PVC trubica (1 m x 125 mm)- Káble (červené a čierne)- Kovové platne pre žiarovky- Akryl pre svetlo -ikony (ikony.svg nájdete na flaticon.com)- čiernobiely lak na sprej.- elektrická páska- všetky požadované spájkovacie komponenty- displej s požadovaným štítom (nepoužíva sa v návode)
Krok 1: Krok 1: Vytvorte svetelné kryty
Dizajn je skutočne na vás. Vyrobili sme čiapku 15x15 cm na uchytenie svetiel. Vystrihli sme kovové platne na správnu veľkosť a pomocou kovového ohýbača (nie, nie od spoločnosti Avatar) sme čiapky ohýbali v správnych tvaroch. Zadné dosky boli vyrobené z iného komponentu.
Krok 2: Krok 2: Príprava pólu z PVC
Do stĺpika z PVC vyrežte 2 otvory tak, aby zodpovedali krytkám svetla. Potom použite sprej na čiernu farbu na natretie celej veci na čierno. Ak chcete, môžete na spodok tyče pridať biele pruhy (bežné v Holandsku).
Krok 3: Krok 3: Zostavenie RGB LED pásikov a pieskovanie akrylových dosiek
Ďalej budete musieť zostaviť RGB LED pásy do žiarovky. Nasaďte ich tesne okolo uzáveru a umiestnite ich čo najbližšie k prednej časti.
Ďalej budete musieť pieskovaný symbol na akrylovej doske opieskovať. Vezmite si pásku a pokryte celú akrylovú dosku. Potom vystrihnite požadovaný tvar/postavu. Potom môžete doštičku pieskovať, aby ste získali efekt podobný matnému sklu.
Krok 4: Krok 4: Pripojte RGB LED pásiky k Arduinu
Teraz prichádza náročná časť: pripojenie RGB LED pásikov k Arduinu. Keď pripájate kolíky, uistite sa, že ste zapojili 12 V na 12 V vášho prúžku. Medzi každú farbu, takú červenú alebo zelenú, musíte dať mosfet. Pripojte údaje LED pásky k strednému kolíku mosfetu a ľavý kolík k vášmu Arduinu. Pravý kolík sa musí vrátiť na zem Arduina.
Krok 5: Krok 5: Napíšte kód Arduino
Tento kód Arduino je ovládaný bluetooth, pretože sme nepoužili interný displej. Kód je teda ovládaný prostredníctvom správ bluetooth vo funkcii loop ().
#define r 6 #definujte g 11 #include
SoftwareSerial mySerial (10, 11); // RX, TX
#define angryDĺžka 4
#define klesáDĺžka 3 #define happyLength 4 #define onPhoneLength 13 #define talkingLength 5 #define walkingLength 4 #define walkingOutLength 4 #define wavingLength 6
tlačidlo boolStlačené;
int currentMillis; int predchádzajúciMillis;
int animation1Odklad;
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é nastavenie () {
// sem vložte svoj inštalačný kód, aby sa spustil raz: pinMode (r, OUTPUT); pinMode (g, VÝSTUP);
Serial.begin (9600);
mySerial.begin (38400); Serial.setTimeout (25); buttonPressed = false; currentMillis = 0; predchádzajúciMillis = 0;
animation1Delay = walkingLength * 1000;
animation2Delay = wavingLength * 1000; animation3Delay = happyLength * 1000; animation4Delay = walkingOutLength * 1000;
// currentAnimationDelay = animation1Delay * 1000;
lightRed = true; }
prázdna slučka () {
// zdržanie (20);
// sem vložte svoj hlavný kód, aby sa spúšťal opakovane: nepodpísaný dlhý aktuálnyMillis = millis (); if (buttonPressed == true) {if (animation1Done == false) {if (currentMillis - previousMillis> animation1Delay) {Serial.println ("0"); previousMillis = súčasnýMillis; animation1Done = true; }} else if (animation2Done == false a animation1Done == true) {if (currentMillis - previousMillis> animation2Delay) {Serial.println ("1"); previousMillis = súčasnýMillis; animation2Done = true; }} else if (animation3Done == false a animation2Done == true) {if (currentMillis - previousMillis> animation3Delay) {Serial.println ("2"); //Serial.println("sound:green "); previousMillis = súčasnýMillis; animation3Done = true; lightRed = false; }} else if (animation4Done == false a animation3Done == true) {if (currentMillis - previousMillis> animation4Delay) {previousMillis = currentMillis; animation4Done = true; Serial.println ("FLSH"); }}}
ak (Serial.available ()) {
Reťazec str = Serial.readString (); ak (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 = súčasnýMillis; }
ak (str == "ČERVENÁ") {
blockLight = false; lightRed = true; }
ak (str == "ZELENÉ") {
blockLight = false; lightRed = false; }
ak (str == "SVETLO: ZELENÉ: VYPNUTÉ") {
blockLight = true; analogWrite (g, 255); } if (str == "SVETLO: ZELENÉ: ZAPNUTÉ") {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); }}}
Odporúča:
BBC Micro: bit and scratch - interaktívny volant a hra pre vodiča: 5 krokov (s obrázkami)
BBC Micro: bit and Scratch - interaktívny volant a hra pre vodičov: Jednou z mojich úloh v tomto týždni je použiť BBC Micro: bit na prepojenie s programom Scratch, ktorý sme napísali. Myslel som si, že to bola ideálna príležitosť použiť môj ThreadBoard na vytvorenie vstavaného systému! Moja inšpirácia pre nulové p
Interaktívny konferenčný stolík LED Arduino: 6 krokov (s obrázkami)
Interaktívny konferenčný stolík LED Arduino: Vyrobil som interaktívny konferenčný stolík, ktorý rozsvieti LED svetlá pod predmetom, keď je predmet položený nad stôl. Rozsvietia sa iba LED diódy, ktoré sú pod týmto predmetom. To sa dosahuje efektívnym použitím senzorov priblíženia a keď blízky
Inteligentný budík: inteligentný budík vyrobený z Raspberry Pi: 10 krokov (s obrázkami)
Inteligentný budík: Inteligentný budík vyrobený z Raspberry Pi: Už ste niekedy chceli inteligentné hodiny? Ak je to tak, toto je riešenie pre vás! Vyrobil som inteligentný budík, toto sú hodiny, v ktorých môžete zmeniť čas budíka podľa webových stránok. Keď sa spustí alarm, zaznie zvuk (bzučiak) a 2 svetlá
Interaktívny Minecraft Nezadávajte meč/znak (ESP32-CAM): 15 krokov (s obrázkami)
Interaktívny Minecraft Nezadávajte meč/znak (ESP32-CAM): Existuje skutočne niekoľko dôvodov, prečo tento projekt vznikol: 1. Ako autor kooperatívnej multitaskingovej knižnice TaskScheduler som bol vždy zvedavý, ako skĺbiť výhody kooperatívneho multitaskingu s výhodami pre-emptívneho
Interaktívny laserový generátor listov s Arduinom: 11 krokov (s obrázkami)
Interaktívny laserový generátor listov s Arduino: Lasery je možné použiť na vytváranie neuveriteľných vizuálnych efektov. V tomto projekte som skonštruoval nový typ laserového displeja, ktorý je interaktívny a prehráva hudbu. Zariadenie otáča dvoma lasermi a vytvára dva svetelné listy podobné víru. Priložil som snímač vzdialenosti