Dinamik dönüş sinyali. Kendiniz nasıl yapılır dinamik dönüş sinyalleri (birikim ile) kitinden DIY seti Aliexpress'den

Veya çelenkler, vb.

Her nasılsa, LED'lerde Aliexpress-sürüş ışıkları ile ayarlanmış bir Kit DIY sipariş ettim. 63 ruble komik fiyatını ve SMD radyo elemanlarını uygulama yeteneğini çekti.



Bu tasarımcı, 20x55mm boyutunda ve sırasıyla gerekli radyo bileşenleri kümesi olan bir baskılı devre kartından oluşur. Kurul, tüm bileşenlerin ve mezuniyetlerinin kurulum sitelerini gösterir, bu nedenle özel kurulumda zorluklar yoktur.

Programın üretim ve çalışması süreci videoda görüntülenebilir:

Araçlar ve Malzemeler Listesi
- CD4017 veya K561I8 () çip () çipi () 'nin çalıştırılması.
-Tornavida;
- Makas;
-Paller;
-kembrik;
-Bir cep telefonundan büyük pil;
-Block Gücü 12V;
-Sontik teller;
Baskılı devre kartı için -folize edilmiş textolite;
-Microshem K561TM2;
-Resistörler;
-Transistörler KT815 (veya analoglar);
-Lodiodes.

Adım bir. PCB'yi Aliexpress ile ayarlayın.

Her şey, setin bileşenlerini yeniden yapılandırmanız gereken tek şey. Minyatür boyutlarında SMD radyo elemanları göz önüne alındığında, bir büyüteçle "üçüncü eli" kullandı. İlk olarak, çipin yanı sıra dirençler, kondansatörler ve devrenin diğer bileşenleri. Sonunda, cips ve LED'ler şarkı söyleriz.

Bu şema 3 ila 15V arasında çalışır. Nabız jeneratörü, NE555 yongasına monte edilir, daha sonra darbeler CD4017 kod çözücüsü (K561I8) ile ondalık sayacına, LED'lerin akım sınırlayıcı dirençler yoluyla bağlandığı on tüzellere bağlanır. Çalışan ışıkların anahtarlama hızı, kesilmiş bir dirençle düzenlenir.

Tasarımcı şeması.


Şemam ilk açtığınızda kazandı.

İkinci adım. Çalışan ışık şemasının modernizasyonu.
Daha sonra, deneyler sürecinde CD4017 çipi yüzleşti. Tellerin üzerinde hızlı bir şekilde, K561I8'in yerli analoguyla değiştirmek zorunda kaldı.
Çalışan ışıkların daha ilginç bir aydınlatma efekti elde etmek istedim. Sonuç olarak, K561TM2 tetikleyicileri ve KT815'te güç tuşları ile başka bir baskılı devre kartı topladım. Her bir verimden gelen nabız K561i8, tetikleyici çıkıştaki "Mandal" prensibindeki tetiğin girişine beslenir, sinyal, sıfırlama darbesinin Ayak 11 CD4017 cipsinden (K561I8) gelmesine sabit kalır. 9 kanal döngünün üzerinde gizlenmiştir. KT815 transistörlerinde güç tuşları, yükü 1-1,5a'ya bağlamak için tasarlanmıştır. Daha güçlü bir yük bağlamanız gerekiyorsa, sırasıyla, daha güçlü transistörleri, KT815'in yerini almak gerekir. Dört K561TM Microcircuits2'yi uyguladığım için, sekiz kanalın şeması çıktı. Bu şemada, 9 LED kontrol kanalı alabilirsiniz, ancak daha sonra bir tetiği (K561TM2 çipi iki tetikleyiciden oluşur), bir tetikleyici (K561TM2 çipi iki tetikleyiciden oluşur) bağlayabilirsiniz ve bir transistör anahtarı ekleyebilirsiniz.

Yeniden işlendikten sonra şema ..



İşi doğrulamak için, LED bandı dilimlerinin sekiz kanalının her birine üç LED ile doğrulamak için.


Frekans ayar limitlerini genişletmek için bir 50kom kontur direnci 470kom ile değiştirildi. Bulunan B.

Aliexpress ile tasarımcı çalışan ışıklar basılı bir devre kartı ve bir dizi radyo bileşenidir. İhtiyacınız olan tek şey, bileşenleri ücrete yerleştirmek.

Ancak ondan koşma ışıklarının daha ilginç etkilerini alabilirsiniz. Örneğin, otomotiv dönüş sinyalleri için veya bir duruş sinyalinde veya tatil için sadece çelenklerde.


Bu şema 3 -15 voltluk besleme voltaj aralığında çalışabilir. Nabız jeneratörü, NE555 yongasına monte edilir, daha sonra darbeler, CD4017 yongası (veya K561I8) ile dekoder - CD4017 yongası (veya K561I8) ile ondalık sayacına beslenir, bunların akım-limit dirençleriyle LED'lerin bağlandığı çıkışlara bağlanır.

Çalışan ışıkların anahtarlama hızı, kesilmiş bir dirençle düzenlenir. Tetikleyiciler ve çıkış transistör tuşlarıyla bir diyagram ekleyin. Hiçbir şey programlamanıza gerek yok. Sonuç olarak, koşu ışıklarının daha ilginç bir aydınlatma efektleri alabilirsiniz. K561TM2 tetikleyicileri ve KT815'te güç tuşları olan başka bir basılı devre kartı yapmanız gerekir. Her bir verimden gelen nabız K561I8, tetikleyici sinyalin çıkışında olan "Mandal" prensibine göre tetik girişine beslenir CD4017 çipinin (K561I8) çıkışından (K561I8) çıkışının 11 çıkışından önce . Döngü 9 kanal içerir.

Arabalarının görünümünü iyileştirmek için birçok araba meraklısı, "yutmak "larını LED ışıklarıyla ayarlayın. Ayarlama seçeneklerinden biri, hareketdeki diğer katılımcılara dikkat çeken koşu dönüş sinyalidir. Makale, çalışan ışıklarla dönüş sinyallerini kurmak ve yapılandırmak için talimatlar sağlar.

[Saklamak]

Montaj talimatları

LED lambalar, elektrik akımının etkisi altında parlayan yarı iletken elemanlardır. İçlerinde ana eleman silikondur. Hangi safsızlıkların kullanıldığına bağlı olarak, ampullerin rengi değişir.

Fotoğraf Galerisi "Dinamik dönüş işaretleri için olası seçenekler"

Araçlar ve Malzemeler

Koşu dönüş sinyalini kendi ellerinizle yapmak için aşağıdaki araçlara ihtiyaç duyulacaktır:

  • havya;
  • büfeler veya plakalar;
  • lehimleme için lehimleme demir ve malzeme;
  • tester.

Sarf malzemelerinden bir fiberglas hazırlamanız gerekir. Yarı iletken elemanın yerleştirileceği bir baskılı devre kartının imalatı için gereklidir. Gerekli LED'leri seçin. LED'lerin özelliklerine ve gemide ağın akım ve voltajının değerlerine bağlı olarak, koruyucu dirençlerin özellikleri hesaplanır. Hesaplamaları kullanarak, kalan ağ bileşenleri seçilir (Video Yazar tarafından Eugene Zadvornov tarafından).

Performans dizisi

Dönüş sinyallerini yapmadan önce, uygun bir şema seçmeniz gerekir.

Ardından, şemaya dayanarak, yazdırılan bir devre kartı yapın ve gelecekteki unsurları barındırmak için işaretleme uygulayın.

Meclis, bir eylem dizisinden oluşur:

  1. İlk olarak, negatif terminali bataryadan kapatarak arabayı enerji vermelisiniz.
  2. Daha sonra, eski dönüş işaretlerini kaldırmanız ve dikkatlice sökmeniz gerekir.
  3. Eski ampuller çıkmalıdır.
  4. Eklemlerin eklemleri yapıştırıcıdan temizlenmeli, yağdırmalı, yıkanmalı ve kurumalı olmalıdır.
  5. Her eski öğenin yerine çalışan yeni bir dönüş sinyali kurulu.
  6. Daha sonra, fenerlerin montajı ve montajı ters sırada yapılır.
  7. Kurulumdan sonra, teller bağlanır.

Bir sonraki aşamada, ek bir stabilize güç kaynağı dahildir. Bir ara röleden girişine gelir ve çıktı diyota bağlanır. Gösterge panelinde daha iyi yerleştirin.

LED'leri bağlarken, anotun güç kaynağına plus'a bağlanmasını sağlamak için gereklidir ve katod eksidir. Bağlantı yanlışsa, yarı iletken elemanlar parlamaz ve hatta öldürmez.


Koşu Torna İşaretçilerinin Kurulumu ve Ayarlanmasının Özellikleri

Sıradan LED'ler yerine dinamik dönüş sinyallerini ayarlayabilirsiniz. Bunun için, LED'li bir tahta ve akım kirli dirençleri sökülür. Tekrarlayıcıda davadan camı yırtmanız gerekir. O zaman reflektörü dikkatlice kesmeli ve çıkarmalısınız.

SMD 5730 panosu, sarı LED'lerin bulunduğu uzak reflektörün yerine ayarlanır. Tekrarlayıcı eğri bir form olduğundan, ücret biraz paketlemek ve biraz bükmek zorunda kalacaktır. Eski tahta, denetleyiciyi bağlamak için kısımları konektörle ve lehimle kesmeniz gerekir. Daha sonra, tüm bileşenler yere iade edilir.

LED ışıkları olan süreyi mikrodenetleyiciye, bir anahtar lehimine ayarlamak için. Uygun bir hız bulunduğunda, Süveter, anahtar yerine lehimlenir. LED'lerin salgınları arasındaki minimum sürenin kütlesi ile iki sonuca bağlarken, 20 ms olacaktır. Kişilerle iletişim kurarken, bu sefer 30 ms olacaktır.


Soru Fiyat

Gündüz çalışan ışıklardan ateş eden bir dönüş sinyali yapabilirsiniz. Maliyeti 600 ruble. Bu durumda ışık kaynakları olarak, her koşu dönüş sinyali için 7 adet miktarda "piksel" RGB LED'lerini alabilirsiniz. Bir elemanın maliyeti 19 ruble'dir. LED'leri yönetmek için, 250 ruble değerinde Arduino uno satın almalısınız. Böylece toplam maliyet 1060 ruble olacaktır.

Son bir yıl daha "GOP" dedi - atlama zamanı :)
Aksine, koşu dönüş sinyallerine vaat edilen genel bakış.
1 metre siyah bant WS2812B (144 LED) bir silikon tüpte sipariş edildi, sipariş verildiğinde "Siyah 1M 1444LED IP67" seçtiğinde (belki de birisi alt tabakanın beyaz rengini beğenecek, böyle bir seçim var).

Küçük bir uyarı

Bant geldim, iki yarım metrelik parçadan satıldı. Bunun eksi, başakların savunmasız bir yeridir (temaslar kırılabilir) ve LED'ler arasında büyütülmüş bir boşluktur.
Satın almadan önce, bu an satıcıya danışın

Kasete her iki tarafa da lehimlenmiştir. Birkaç parçanın tutarlı bir bağlantısı için kablolarla temas edin, çünkü İhtiyacım olmadım, sonra tel sıkıldığı bir tarafta, her şey nötr bir sızdırmazlık maddesi ile dikildi ve biraz daha fazla siyah bant sarılmış.



Örneğin, çift taraflı şeffaf yapışkan bant kullanarak cama becerdin.

Kurulumun detayları

Yüzeyi yağdırdılar, ilk önce yapışkan bandını tüpe yapıştırın (arayacağım, en azından en az bir kesit ve dikdörtgen), çıkıntılı aşırı şeritleri keser, tüpün kenarlarını tavan ve üst kısımlar arasındaki yuvadaki kenarlarını uyudum. Arka rafların dekoratif panellerinin (konnektörün bir panelde saklandığı ile temas kabloları), cama bastırmaya ve kurdonun koruyucu tabakasını yavaşça çekerek camına bastırmaya başlar.
Ne yazık ki, çekim için serbest eliniz yoktur ve herkesin farklı arabaları vardır.
Bir şey anlaşılmazsa - yorumlarda sorun.
Yaz sıcağı kontrolü başarılı oldu - hiçbir şey kazmadı ve yüzmedi.
Sadece eksi, camın eğim açısı naziktir, LED'ler daha fazla parlıyor. Güneşli bir günde, kötü bir şekilde görülebilir, ancak bunlar yinelenen sinyaller olduğundan, o zaman

Şimdi elektronik dolguya gidin.
Kullandım, ama çok uzun zaman önce kendim için keşfettim

Aynı maliyet hakkında daha fazla çörek alın

Özel değişiklikler olmadan, Arduino IDE ortamında programlanarak wemos üzerinde çalışacaktır ve küçük bir web sunucusu uygularsanız, daha sonra bir Wi-Fi'ye bağlandığında, bu tür değişkenlerin değerlerini yanıp sönme arasındaki gecikme süresi olarak değiştirebilirsiniz. , Acil frenleme sırasında yavaşlama değeri vb.
Bundan sonra, eğer birinin ESP8266'da proje uygulamasına ilgi duyuyorsa, ayarları web arayüzü aracılığıyla değiştirmek için bir örnek gönderebilirim, ardından EEPROM'a, sonraki okumaya kaydeder.
Web sunucusunun piyasaya sürülmesi, örneğin, dönüş sinyalini açarak ve kontağı açtığınızda frenlere basılarak (karşılık gelen girdilerin durumunu yoklamak için kurulum prosedüründe) uygulanabilir.

Keskin bir frenleme ile yanıp sönen bir rejimi uygulamak için satın alındı
Eskiz halinde, 0.5g (keskin yavaşlama, fakat frenler olmadan) geçerse, fren pedalına basıldığında yavaşlama seviyesi izlenir, daha sonra ilave ilgi çekmek için yanıp sönen bir mod etkinleştirilir.
Arduino girişlerinde "artı" durakları, dönüş sinyalleri ve arka vuruşlardaki kontrol sinyalleri, elektrolizle - optokuplörler yoluyla, sonuçta Arduino girişlerinde düşük seviyeyi oluşturan (sürekli olarak artı 10kom aracılığıyla çekilmiş) dirençler).
Güç kaynağı - aşağı doğru bir DC-DC dönüştürücü aracılığıyla 5 volt.
Bütün bu durum, bir sandviçten oluşur ve okun, yerçekimi sensörünün doğru oryantasyonu için kurulum yönünü not ettiği uygun bir kutudan oluşur.

Şema ve fotoğraf



Dirençlerin pull-up'larının (plus'a) mezun olması standarttır - 10 com, dirençlerin optokuplörlerini sınırlandırır - 1k. Opoparas eski panolardan düştü, iki PC123, iki - PC817 düştü.


İlk fotoğrafta iki ek çıktı görebileceğiniz, onları dönüş sinyalleri için yaptım. Arabamda, arabamda, çalma kolunu açtığınızda, yerde bir kapatma, telleri kol bloğuna ve arduino girişlerine bağladım. ALTWORCHED kolu artı gidiyorsa veya sol / sağa dönüş sinyalinin "+" ampullerinden sinyali alıyorsa, ardından galvanik kavşaktan bağlayın.



Şimdi, şimdi kendisini kapatın (Arduino IDE)

#Dahil etmek. #Dahil etmek. // birkaç genel yorumlar // bir aşırı LED'i kapattım, çünkü Rafların dekoratif panellerinde tespit edildi // bunun için bu döngü örneğinde görüldü (int i \u003d 1; ben<143; i++) //если отключать не нужно, заменяем на for (int i=0; i<144; i++) //задний ход и аварийка у меня не используются, т.к. в первом случае яркость никакая, во втором надо подключать входы к лампам поворотников //поворотники и стоп-сигнал одновременно не включаются, чтобы это реализовать, нужно переписывать соответствующий код скетча (делить ленту на три секции, подбирать тайминги миганий, менять диапазон переменных циклов). //Дерзайте - все в ваших руках // Пин для подключения управляющего сигнала светодной ленты const int PinLS = 2; //Пины для подключения датчиков //если более удобно будет подключать контакты в другом порядке - просто поменяйте значения переменных const int buttonPinL = 3; const int buttonPinR = 4; const int buttonPinS = 6; const int buttonPinD = 5; //начальные статусы входов (подтянуты к плюсу) int buttonStateS = HIGH; int buttonStateD = HIGH; int buttonStateL = HIGH; int buttonStateR = HIGH; // пауза pause_pov1 (в миллисекундах) нужна, чтобы синхронизировать циклы "пробегания" полоски и включения лампочки поворотника // такое может быть, если используется меньше половины светодиодов // в моем случае паузы нет (pause_pov1 = 0) int pause_pov1 = 1; // этой паузой регулируем длительность состояния, когда все светодиоды выключены //я определял опытным путем - включал поворотник, засекал по отдельности время ста мыргов лампочкой и ста беганий полоски, разницу делил на 100, на полученное время увеличивал или уменьшал значение переменной (в зависимости от того, отставали или убегали вперед лампочки) int pause_pov2 = 62; // переменная для получения значения ускорения int ix; Adafruit_NeoPixel strip = Adafruit_NeoPixel(144, PinLS, NEO_GRB + NEO_KHZ800); Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345); void setup() { pinMode(buttonPinS, INPUT); pinMode(buttonPinD, INPUT); pinMode(buttonPinL, INPUT); pinMode(buttonPinR, INPUT); strip.begin(); // гасим ленту for (int i=0; i<144; i++) strip.setPixelColor(i, strip.Color(0,0,0)); strip.show(); accel.begin(); // ограничиваем измеряемый диапазон четырьмя G (этого хватит с большим запасом) accel.setRange(ADXL345_RANGE_4_G); accel.setDataRate(ADXL345_DATARATE_100_HZ); } void loop() { // СТОПЫ: если включены - высший приоритет //Чтобы сделать меняющуюся по ширине полоску в зависимости от интенсивности торможения //(уточнение - никакой светомузыки, ширина полосы после нажатия на тормоз не меняется!) //от плавного торможения до тапки в пол. //Добавляем еще одну переменную, например, ix2, //присваиваем ей значение ix с коэффициентом умножения, //заодно инвертируем и округляем до целого //ix = event.acceleration.x; //ix2 = -round(ix*10); //ограничиваем для плавного торможения в пробках //(чтобы не менялась при каждом продвижении на 5 метров) //if (ix2<10) ix2 = 0; //и для резкого торможения. //Реальный диапазон изменения переменной ix - от 0 до -5 //для максимальной ширины полосы при G равном или большем 0.5 //if (ix2 >50) ix2 \u003d 50; // Sonra durdurma bloğundaki döngüleri (int i \u003d 1; i) değiştirin.<143; i++) на for (int i=51-ix2; i<93+ix2; i++) //Получаем минимальную ширину полоски ~30 см (для стояния в пробке) и максимальную для резкого торможения //конец комментария buttonStateS = digitalRead(buttonPinS); if (buttonStateS == LOW) { sensors_event_t event; accel.getEvent(&event); ix = event.acceleration.x; // проверка резкого торможения - мигающий режим // значение 5 - это 0,5G, минус - торможение if (ix < -5) { for (int is=0; is<15; is++) { for (int i=1; i<143; i++) strip.setPixelColor(i, strip.Color(240,0,0)); strip.show(); delay(10 + is*10); for (int i=1; i<143; i++) strip.setPixelColor(i, strip.Color(0,0,0)); strip.show(); delay(10 + is*3); buttonStateS = digitalRead(buttonPinS); if (buttonStateS == HIGH) return; } } // помигали - и хватит, включаем постоянный режим, если педаль тормоза еще нажата // или если не было резкого торможения и предыдущее условие не сработало if (buttonStateS == LOW) { for (int i=1; i<143; i++) strip.setPixelColor(i, strip.Color(200,0,0)); strip.show(); while(buttonStateS == LOW){ buttonStateS = digitalRead(buttonPinS); delay(50); } // плавно гасим for (int is=0; is<20; is++) { for (int i=1; i<143; i++) strip.setPixelColor(i, strip.Color(190 - is*10,0,0)); strip.show(); delay(10); } // СТОПЫ конец } } else // если СТОПЫ выключены { // ЗАДНИЙ ХОД: если включен - средний приоритет buttonStateD = digitalRead(buttonPinD); if (buttonStateD == LOW) { for (int i=1; i<37; i++) strip.setPixelColor(i, strip.Color(63,63,63)); for (int i=107; i<143; i++) strip.setPixelColor(i, strip.Color(63,63,63)); strip.show(); while(buttonStateD == LOW){ buttonStateD = digitalRead(buttonPinD); delay(50); } //плавно гасим for (int is=0; is<16; is++) { for (int i=1; i<37; i++) strip.setPixelColor(i, strip.Color(60 - is*4,60 - is*4,60 - is*4)); for (int i=107; i<143; i++) strip.setPixelColor(i, strip.Color(60 - is*4,60 - is*4,60 - is*4)); strip.show(); delay(10); } } buttonStateL = digitalRead(buttonPinL); buttonStateR = digitalRead(buttonPinR); // если включена аварийка if (buttonStateL == LOW && buttonStateR == LOW) { for (int il=0; il<71; il++) { strip.setPixelColor(71-il, strip.Color(63,31,0)); strip.setPixelColor(il+72, strip.Color(63,31,0)); strip.show(); delay(pause_pov1); } for (int il=0; il<71; il++) { strip.setPixelColor(71-il, strip.Color(0,0,0)); strip.setPixelColor(il+72, strip.Color(0,0,0)); strip.show(); delay(pause_pov1); } delay(pause_pov2); } // если включен ЛЕВЫЙ ПОВОРОТНИК if (buttonStateL == LOW && buttonStateR == HIGH) { for (int il=0; il<71; il++) { strip.setPixelColor(il+72, strip.Color(220,120,0)); strip.show(); delay(pause_pov1); } for (int il=0; il<71; il++) { strip.setPixelColor(il+72, strip.Color(0,0,0)); strip.show(); delay(pause_pov1); } delay(pause_pov2); } // если включен ПРАВЫЙ ПОВОРОТНИК if (buttonStateL == HIGH && buttonStateR == LOW) { for (int il=0; il<71; il++) { strip.setPixelColor(71-il, strip.Color(220,120,0)); strip.show(); delay(pause_pov1); } for (int il=0; il<71; il++) { strip.setPixelColor(71-il, strip.Color(0,0,0)); strip.show(); delay(pause_pov1); } delay(pause_pov2); } //правый поворотник конец } //конец условия else Стоп // задержка для следующего опроса датчиков delay(10); }

Maksimumda almaya çalıştım, ancak sorular olsaydı, yorum eklemeye çalışacağım (bu nedenle, ekli bir dosyayı değil, inceleme metninde var.). Bu, bu arada, diğer inceleme kalemleriyle ilgilidir - yorumlarda önemli sorular olacaksa da tamamlayacağım.

Ve nihayet bir işin gösterimi (video için, taslağını demo moduyla kullandığım).

Güncellemek. Demo modu ile kapsar, özel olarak her şeyi tek bir kısa videoda barındırmak için yaptı.
Durdurma sinyali sadece keskin bir frenleme ile yanıp söner (yukarıda yazılmıştır), trafik sıkışıklığında pürüzsüz ve ayakta dururken, sürücüleri arkadan tahriş edici değil.
Karanlıktaki parlaklık aşırı değil, çünkü Tilt camı nedeniyle uyuyanlar sırttan yukarı doğru yönlendirilir.
Tam ışıklar her zamanki gibi çalışır, bu şerit onları çoğaltır.

+97 almayı planlıyorum Favorilere ekle İncelemeyi beğendim +89 +191