Schéma zapojení Arduina pro běžící blinkr. Dynamické blinkry - běžící světla vyrábíme ze sady KIT

Mnoho automobilových nadšenců ke zlepšení vzhled jejich auta, vylaďte jejich „Vlaštovku“ pomocí LED světel. Jednou z možností tuningu je běžící blinkr, který na sebe upozorňuje ostatní účastníky silničního provozu. Článek poskytuje pokyny pro instalaci a konfiguraci směrových světel s běžícími světly.

[ Skrýt ]

montážní návod

LED žárovky jsou polovodičové prvky, které svítí pod vlivem elektrického proudu. Hlavním prvkem v nich je křemík. V závislosti na tom, jaké nečistoty jsou použity, se barva žárovek mění.

Fotogalerie "Možné možnosti pro dynamické ukazatele směru"

Nástroje a materiály

Chcete-li spustit směrový signál vlastníma rukama, budete potřebovat následující nástroje:

  • páječka;
  • boční řezáky nebo kleště;
  • páječka a pájecí materiál;
  • tester.

Z Dodávky musíte připravit sklolaminát. Je potřeba pro výrobu desky s plošnými spoji, na kterou bude umístěn polovodičový prvek. Jsou vybrány požadované LED. V závislosti na charakteristikách LED a hodnotách proudu a napětí palubní sítě se vypočítávají charakteristiky ochranných odporů. Pomocí výpočtů se vybere zbytek síťových komponent (autorem videa je Evgeny Zadvornov).

Pracovní sekvence

Než uděláte směrová světla, musíte zvolit správné schéma.

Poté na základě schématu vytvořte tištěný spoj a aplikujte na něj označení pro přizpůsobení budoucím prvkům.

Sestava se skládá z posloupnosti akcí:

  1. Nejprve vypněte napájení vozu odpojením záporného pólu baterie.
  2. Dále je třeba odstranit staré ukazatele směru a opatrně je rozebrat.
  3. Staré žárovky by měly být odšroubovány.
  4. Spáry je třeba očistit od lepidla, odmastit, omýt a nechat uschnout.
  5. Namísto každého starého prvku je instalován nový směrový signál běžící oheň.
  6. Další montáž a instalace lamp se provádí v opačném pořadí.
  7. Po instalaci jsou vodiče připojeny.

V další fázi je do sítě zařazen další stabilizovaný zdroj energie. Napájení je na jeho vstup přiváděno z mezilehlého relé a výstup je připojen k diodě. Je lepší jej umístit na palubní desku.

Při připojování LED je nutné zajistit, aby byla anoda připojena k plusu zdroje a katodě k mínusu. Pokud není zapojení správně provedeno, polovodičové prvky nebudou svítit a mohou dokonce shořet.


Vlastnosti instalace a nastavení ukazatelů směru jízdy

Lze nainstalovat dynamická směrová světla namísto konvenční LED diody. Za tímto účelem vyjmou, demontují desku s LED diodami a odpory omezujícími proud. Na opakovači musíte odtrhnout sklo z těla. Reflektor by měl být poté opatrně vyříznut a odstraněn.

Na místě vzdáleného reflektoru je instalována deska SMD 5730, na které jsou umístěny žluté LED diody. Vzhledem k tomu, že opakovač má zakřivený tvar, deska bude muset být vrstvená a mírně ohnuta. Ze staré desky je potřeba odříznout část s konektorem a připájet pro připojení ovladače. Poté se všechny součásti vrátí na své místo.

Pro nastavení doby svícení LED světel je k mikrokontroléru připájen spínač. Po nalezení vhodné rychlosti se místo spínače připájejí propojky. Při připojení dvou svorek k zemi bude minimální doba mezi blikáním LED 20 ms. Když jsou kontakty sepnuté, bude tato doba 30 ms.


Emisní cena

Z denního svícení můžete vypálit blinkry. Jejich cena je 600 rublů. Jako světelné zdroje v tomto případě můžete vzít "pixelové" RGB LED v počtu 7 kusů pro každý běžící blinkr. Cena jednoho prvku je 19 rublů. Chcete-li ovládat LED diody, musíte si zakoupit Arduino UNO v hodnotě 250 rublů. Celkové náklady tedy budou 1060 rublů.

Designérem běžících světel z Aliexpressu je plošný spoj a sada rádiových součástek. Jediné, co musíte udělat, je připájet součástky k desce.

Ale z něj můžete získat zajímavější efekty běžících světel. Například na blinkry do auta nebo do návěstidla stop nebo jen tak na girlandy na dovolenou.


Tento obvod může pracovat v rozsahu napájecího napětí 3-15 voltů. Generátor pulsů je namontován na čipu NE555, poté jsou pulsy přiváděny do dekadického čítače s dekodérem - čipem CD4017 (nebo K561IE8), k jehož výstupům jsou LED připojeny přes odpory omezující proud.

Rychlost spínání návěstidel je regulována ladícím odporem. Přidejte obvod s klopnými obvody a výstupními tranzistorovými spínači. Není potřeba žádné programování atd. Ve výsledku zajímavější světelné efekty běžící světla. Potřebujete vyrobit další desku plošných spojů se spouštěči K561TM2 a vypínači na KT815. Puls z každého výstupu K561IE8 je přiváděn na spouštěcí vstup podle principu „latch“, to znamená, že signál na výstupu spouště zůstává konstantní, dokud z pinu 11 čipu CD4017 (K561IE8) nepřijde resetovací impuls. Za cyklus se zapne 9 kanálů.

Zvažte vytvoření běžícího blinkru jako u Audi na příkladu světlometu z vozu Renault Clio. Pojďme dělat blinkry a DRL v jednom zařízení.

Co k tomu potřebujete: LED pásek skládající se z LED diod ws2812b Arduino nano ovladač(lze použít v jakémkoli jiném provedení) Automobilový průmysl Nabíječka pro mobilní telefony S USB výstup. Jelikož Arduino ovladač potřebuje napětí 5V, použijeme tuto nabíječku jako měnič napětí z 12V na 5V. Stabilizátor napětí pro 5V KR142EN5V (KREN5V) nebo jakýkoli jiný importovaný analog. 3 rezistory 10 kΩ jako pull-up rezistor.

Schéma zapojení

Ovladač arduino musí být připojen k síti auta přes převodník 12V -> 5V, aby napětí do obvodu pocházelo ze zapnutí "zapalování". Ke stabilizátoru napětí KREN5V je třeba připojit kladný vodič z aktuálního blinkru. Tento článek pojednává o připojení a firmwaru pouze jednoho blinkru, pro vytvoření druhého blinkru je potřeba obdobně připojit druhý LED pásek k libovolnému volnému digitálnímu výstupu Arduino (například 7) a také přidat kód pro to ve firmwaru podle našeho příkladu.

firmware ovladače

Pro práci s pixelovými LED budete potřebovat knihovnu . Můžete jej nainstalovat následovně: Sketch -> Include Library -> Manage Libraries. Dále do vyhledávacího menu zadejte název knihovny Adafruit_NeoPixel.ha klikněte na tlačítko nainstalovat. Poté vložte skicu do programu a vyměňte počet LED v kódu (používáme 22 diod):

#zahrnout // zahrnout knihovnu
Proužek Adafruit_NeoPixel = Adafruit_NeoPixel(22, 8, NEO_GRB + NEO_KHZ800);
int t,t1,t2,t3,t4,p2,p1 = 0;// časová proměnná
void setup()(
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
digitalWrite(2, NÍZKÁ);
digitalWrite(3, NÍZKÁ);
digitalWrite(4, NÍZKÁ);

strip.begin();
strip.show();

}
void loop() (
if (digitalRead(2) == LOW) ( //Pokud je ukazatel směru vypnutý
for(int i = 0; i< 23; i++) {
strip.setPixelColor(i, strip.Color(255,255,255)); // R=255, G=255, B=255 - bílá barva LED, při zapnutí rozsvítit běžící světla
}
strip.show();
}

if ((digitalRead(2) == VYSOKÝ) & (t == 1)) ( // kontrola, zda je zapnutý ukazatel směru
for(int i = 0; i< 23; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 0)); // zhasne všechny diody
}
strip.show();
for(int k = 0; k< 3; k++){ // цикл до трех - сигнал «перестроения» , при кратковременном включении мигает 3 раза,

for(int i = 0; i< 23; i++){

if (digitalRead(2) == HIGH) (k = 0;) // pokud dostaneme další kladný signál během blikání blinkru, tak vynulujte počítadlo tak, aby blinkr zablikal ještě alespoň 3x
strip.setPixelColor(i, strip.Color(255, 69, 0)); // R=255, G=69, B=0 - barva LED

zpoždění((t4)/22);
strip.show();

}
if (digitalRead(2) == HIGH) (t4=t4+20;) // pokud všechny diody svítí žlutě, ale signál z relé je stále zapnutý, tak zvýšíme dobu hoření
if (digitalRead(2) == LOW) (t4=t4-20;) // pokud všechny diody svítí žlutě, ale signál z relé je stále zapnutý, prodloužíme dobu hoření

for(int i = 0; i< 23; i++){

strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=0, G=0, B=0 - barva LED

zpoždění((t3)/22);
strip.show();

}
if ((digitalRead(2) == NÍZKÁ)) (t3=t3+20;)
if ((digitalRead(2) == VYSOKÝ)) (t3=t3-20;)
}

if ((digitalRead(2) == VYSOKÝ) & (t == 0)) ( // zkontrolujte, zda je zapnutý ukazatel směru

t1 = milis(); // zapamatovat si, v kolik hodin se zapnul
for(int i = 0; i< 22; i++) {
strip.setPixelColor(i, strip.Color(255, 69, 0)); // při prvním zapnutí blinkru rozsvítíme všechny diody žlutě
}
strip.show();
while (digitalRead(2) == VYSOKÁ) ()
t2 = milis(); // zapamatovat si, kdy se blinkr vypnul
t4=t2-ti;

for(int i = 0; i< 22; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 0)); // zhasne diody při ztrátě signálu z odbočovacího relé
}
strip.show();
while (digitalRead(2) == NÍZKÁ) (
if ((millis()-t2)>2000)(break;)
}
if ((millis()-t2)<2000) {
t3 = milis()-t2; // doba, na kterou zhasnou blinkry
t = 1; // příznak, víme, že hodnota času je uložena.
}
}

if (digitalRead(4) == HIGH) ( //speciální signály
for(int j = 0; j< 16; j++) {
for(int i = 0; i< 22; i++) {
strip.setPixelColor(i, strip.Color(255, 0, 0)); // R=255, G=0, B=0 - barva LED
}
strip.show();
zpoždění(20);
for(int i = 0; i< 22; i++){

}
strip.show();
zpoždění(20);
}

for(int j = 0; j< 16; j++) {
for(int i = 0; i< 22; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 255)); // R=0, G=0, B=255 - barva LED
}
strip.show();
zpoždění(20);
for(int i = 0; i< 22; i++){
strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=0, G=0, B=0 - barva LED
}
strip.show();
zpoždění(20);
}
}

if (digitalRead(3) == HIGH) ( //strobe
for(int j = 0; j< 24; j++) {
for(int i = 0; i< 22; i++) {
strip.setPixelColor(i, strip.Color(255, 255, 255)); // R=255, G=255, B=255 - barva LED
}
strip.show();

zpoždění(15);
for(int i = 0; i< 22; i++){
strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=0, G=0, B=0 - barva LED
}
strip.show();
zpoždění(15);
}
zpoždění(500);

Totéž proveďte u druhého blinkru.

Video, jak funguje naše čelovka

Všichni, kdo viděli více či méně moderní a ne podruhé auto, a pokud šlo ještě o jízdu, už dávno pro sebe poznamenali jednu z užitečných možností... Lidé tomu říkají líný blinkr nebo zdvořilost směrovka. Celá jeho podstata spočívá v tom, že při odbočování vpravo nebo vlevo se řidič pouze jednou dotkne páčky blinkrů, aniž by ji zafixoval. To znamená, že jednoduše nechá fungovat obvody ukazatelů směru, ale nezapne stejný spínač. Výsledkem je, že po uvolnění páky ukazatele směru fungují ještě 3-4krát a řidič v tuto chvíli již může dělat své vlastní podnikání, to znamená zcela se vzdát vozovce. Tato možnost je velmi užitečná, když musíte změnit jízdní pruh. Když je páčka ukazatelů směru plně zapnuta, nedojde k automatickému vypnutí kvůli nevýznamnému úhlu natočení volantu, což znamená, že bude nutné šťouchnout tam a zpět se samotným ukazatelem nebo jej neustále podpírat. s rukou na pokraji zapnutí, abyste simulovali činnost ukazatele směru. A pokud existuje taková možnost, pak se jen trochu dotkl páky a zapomněl. Obecně si myslíme, že podstata práce byla plně odhalena, ale nyní stojí za zmínku možná implementace takové možnosti na vašem stroji.

Které elektrické obvody jsou vhodné pro zdvořilý blinkr na Arduinu

Než se pustíte do všech vážných problémů s výrobou zdvořilého ukazatele směru, musíte pochopit, pro která schémata elektrického zapojení je vhodný, aniž byste museli upravovat elektrický obvod v autě.
Zde jsou uvedeny dvě hlavní možnosti, které se v zásadě liší. První je, když se zapnou blinkry, když jsou připojeny jako zátěž. To znamená, že k zahrnutí dochází v důsledku přepínání obvodu směrových světel, ve kterých je umístěna samotná páka směrových světel, je to on, kdo uzavře obvod, po kterém dojde k operaci. V tomto případě nebude fungovat využít naší možnosti, protože když páka otevře okruh s lampami, okamžitě vypneme možnost světelné indikace, i když na samotnou páku přijde signál, dál to prostě nejde.
Druhá možnost je naše, kdy existují řídicí signály a jsou výstupní výkonové signály. V tomto případě můžete místo běžného relé umístit pouze obvod, na který bychom vás rádi upozornili.

Reléový napájecí modul, který lze zakoupit na internetu pro řízení zátěže

Náčrt a schéma líného (slušného) blinkru na Arduinu

Takže o použití Arduina jako hlavní jednotky jako líných blinkrů lze polemizovat, protože to také není ideální řešení, které má své nevýhody. Řekněme, že po zapnutí zapalování bude nutné mít konstantní výkon, pro zajištění rychlosti bude nutné zapojit silové obvody. Samotné páskování z nepotřebných rádiových součástek je zde přitom v zásadě zbytečné, protože v tomto případě stačí mikrokontrolér naprogramovat a používat pouze jej. Toto mínus je ale zároveň plusem, protože programovat Arduino si může dovolit každý, kdo ho má, a na mikrokontroléry budete potřebovat i programátor.
Právě napsat program bude jedním z nejtěžších úkolů. Zde bude muset začátečník strávit více než jednu hodinu svého volného času a studovat fungování algoritmů, ale naštěstí existuje internet a my ano. Takže tady je skica.

int switchPinR=8; int switchPinL=7; intledPinR=11; intledPinL=12; boolean ledOn = false; int i=0; intz=0; void setup() ( // vložte kód nastavení sem, aby se spustil jednou: pinMode(switchPinR, INPUT); pinMode(switchPinL, INPUT); pinMode(ledPinR, OUTPUT); pinMode(ledPinL, OUTPUT); Serial.begin(9600 ); ) void loop() ( // sem vložte svůj hlavní kód, aby se spouštěl opakovaně: //2 label: if (digitalRead(switchPinR) == HIGH && digitalRead(switchPinL) == HIGH) ( digitalWrite(ledPinR, HIGH) ; digitalWrite(ledPinL, HIGH); i=0; while (i<7) { ledOn = !ledOn; digitalWrite(ledPinR, ledOn); digitalWrite(ledPinL, ledOn); delay(400); i++; z++; if (digitalRead(switchPinL) == LOW && digitalRead(switchPinR) == LOW && z>=7) ( break; ) ) ) else ( digitalWrite(ledPinR, LOW); digitalWrite(ledPinL, LOW); z=0; ) // Smyčka alarmu, pokud (digitalRead(switchPinR) == HIGH && digitalRead(switchPinL) = = HIGH) (goto label;) //Směrovka vpravo. if (digitalRead(switchPinR) == HIGH) ( digitalWrite(ledPinR, HIGH); i=0; while (i<7) { ledOn = !ledOn; digitalWrite(ledPinR, ledOn); delay(400); i++; z++; if (digitalRead(switchPinR) == LOW && z>=7) ( break; ) ) ) else ( digitalWrite(ledPinR, LOW); z=0; ) //Levý směrový signál. if (digitalRead(switchPinL) == HIGH) ( digitalWrite(ledPinL, HIGH); i=0; while (i<7) { ledOn = !ledOn; digitalWrite(ledPinL, ledOn); delay(400); i++; z++; if (digitalRead(switchPinL) == LOW && z>=7) ( break; ) ) ) else ( digitalWrite(ledPinL, LOW); z=0; )) )

Ve zkratce můžeme shrnout, že skica má 2 vstupy a 2 výstupy. Zároveň na vstupu kladného, ​​tedy vysoké úrovně signálu na vstupu (8.7), dostaneme určitý počet bliknutí (z nebo i) na odpovídajícím výstupu (11.12). Zkrátka něco takového. To znamená, že pokud chcete ve skice něco změnit ohledně počtu bliknutí a výstupů vstupů, pak věnujte pozornost těmto proměnným. Pokud bude nutné změnit délku bliknutí, pak by měla být vaše pozornost upřena na funkci zpoždění.
Další funkcí programu je poněkud neobvyklý výstup alarmu. Nejprve se vypracuje levý a pravý ukazatel a poté se zapne alarm nouzového světla. To je způsobeno tím, že se může zapnout pouze v případě, že je vstup vysoký současně na vstupech 8 a 7. A tato podmínka bude splněna až na druhý cyklus, protože stisknutí dvou tlačítek současně nebude fungovat jen fyzicky. Rychlost mikrokontroléru vám umožní rychleji přečíst vysoký výstup z některého tlačítka a rozhodnout, že je to stále podmínka pro fungování blinkru a ne alarm. Ačkoli byste se tím neměli obtěžovat, kromě toho, že poděkovat na cestě bude problematické.

Funkce připojení líného (zdvořilého) blinkru k Arduinu v autě

Jako výstup byste neměli používat pin 13, protože při každém zapnutí a vypnutí napájení mohou indikátory, které budou připojeny k tomuto výstupu, blikat.
Při přechodu z řídicích signálů na napájecí signály použijte příslušné bloky zakoupené na internetu nebo vámi sestavené. O takových blocích – modulech jsme již mluvili.
Při příjmu signálu 1 z napětí 12 voltů umístěte před vstup rezistor 10 kΩ.

To jsou vlastně všechna slova na rozloučenou při výrobě líného blinkru pro auto na mikrokontroléru Arduino a teď asi to samé ve videu ...


Zdravím všechny kutily! Dnes se podíváme na jednu z mnoha možností použití LED pásku WS2812B na adresovatelných RGB LED. Tyto pásky (stejně jako samostatně namontované LED diody WS2812B) lze použít k osvětlení pozadí „Ambilight“ počítačových monitorů a televizorů, dynamického osvětlení v autě, obrazu, fotorámečku, akvária atd. Jsou široce používány při navrhování jakýchkoli prostor, ve formě novoročních osvětlení nebo světelných show. Použití LED pásku typu WS2812B umožňuje získat velké množství zajímavých projektů.

WS2812B LED je RGB LED vestavěná do stejného pouzdra jako čip WS2801.


Samotná LED WS2812B je SMD prvek určený pro povrchovou montáž. Uvnitř se LED skládá z krystalů červeného světla (červená), zeleného světla (zelená) a modrého světla (modrá) v jednom balení. S touto LED můžete získat širokou škálu barevných odstínů světelného záření.

RGB LED se ovládá přes desku mikrokontroléru Arduino.
Od Číňanů jsem dostal LED pásek WS2812B.Je to 1 metr dlouhý segment se 144 LED. Už dlouho jsem chtěl zkoušet různé experimenty. S pomocí knihoven pro Arduino - Adafruit Neopixel a Fast led můžete získat spoustu velmi neobvyklých světelných efektů. Pak jsem se ale rozhodl, že zkusím udělat dynamické blinkry pro auto v tzv. “Audi stylu.” Toto schéma jsem ještě neuvedl do praxe (jak to vezmou naši gibbddeshnici?), ale efekt se ukázal jako být velmi atraktivní.

Deska Arduino Uno slouží jako ovladač pro ovládání LED pásku, lze použít i jiné desky - Arduino Nano, Arduino Pro mini).
Podívejte se na celý proces ve videu:


Seznam nástrojů a materiálů.
-deska Arduino Uno;
- snižovací deska 12V \ 5V při 3A;
- rezistory 100Kom-4ks;
-rezistory 47Kom-4ks;
- rezistory 500 Ohm-1ks;
-tlačítka (pro simulaci zahrnutí signálů) -4ks;
- prkénko na chleba
-šroubovák;
laboratorní napájení
- páječka;
- cambric;
- tester.
- propojovací vodiče.

Krok první. Sestavení schématu.


Obvod jsem sestavil pomocí prkénka (bradboard). Rezistory připojené k digitálním vstupům Arduino jsou potřebné pro převod vstupních signálů automobilu z 12 na 5 voltů. 500 ohmový odpor pro ochranu řídicího vedení LED pásku WS2812B.
Foto desky


Jako převodník z 12V na 5V jsem použil hotovou desku z Aliexpressu. Lze použít jakýkoli převodník s vhodnými parametry. Převodník je potřebný pro stabilní napájení Arduina a LED pásku WS2812B.


Krok dva. Programování Arduina.

Digitální vstupy desky Arduino č. 3,4 slouží k zapínání levého a pravého závitu. Pin číslo 5 - rozsvícení brzdového světla, pin číslo 6 - zapnutí zpátečky. Pin číslo 8 - ovládací signální páska WS2812B.

V Arduino IDE nahrajte skicu (odkaz výše). Dvě možnosti skici - jedna pro přední část vozu, druhá pro zadní část. Použijte, co potřebujete. Na začátku náčrtu můžete nastavit počet potřebných LED diod. Rychlost směrových světel si také můžete upravit podle svého vozu. Můžete také změnit jas LED pomocí parametru strip.Color(103,31,0) - změňte první dvě číslice z 0 na 255. To znamená, že můžete trochu experimentovat.

Když stisknete požadované tlačítko, dáme signál k povolení požadovaného parametru. Při správném sestavení obvodu většinou okamžitě začne fungovat.

Fotka se zpracovává.






S tímto víkendovým designem se ukázal dobrý experiment. Bylo to zajímavé