LA CLOCHE

Il y en a qui ont lu cette news avant vous.
Abonnez-vous pour recevoir les derniers articles.
E-mail
Nom
Nom de famille
Aimeriez-vous lire The Bell
Pas de spam

Ou sur des guirlandes, etc.

D'une manière ou d'une autre, j'ai commandé un kit de bricolage KIT d'AliExpress - feux de circulation sur LED (). J'ai été attiré par le prix ridicule de 63 roubles et la possibilité de m'entraîner à souder des éléments radio SMD.



Ce constructeur se compose d'une carte de circuit imprimé de 20x55 mm et, par conséquent, d'un ensemble de composants radio nécessaires. Le tableau indique les emplacements d'installation de tous les composants et leurs valeurs nominales, il n'y a donc pas de difficultés particulières d'installation.

L'ensemble du processus de fabrication et le fonctionnement du circuit peuvent être visionnés dans la vidéo :

Liste des outils et matériaux
- un ensemble de feux de position sur une puce CD4017 ou K561IE8 ();
-Tournevis;
- les ciseaux;
- fer à souder;
- batiste;
- batterie rechargeable d'un téléphone portable;
- Alimentation 12V ;
- fils de connexion;
- textolite en feuille pour carte de circuit imprimé;
- microcircuits K561TM2 ;
-résistances ;
- Transistors KT815 (ou analogues);
-DEL.

La première étape. Kit de dessoudage de PCB d'AliExpress.

Il suffit de souder les composants du kit sur la carte. Au vu de la taille miniature des éléments radio SMD, j'ai utilisé une "troisième main" avec une loupe. Tout d'abord, j'ai soudé des résistances, des condensateurs et d'autres composants de circuit à l'exception des microcircuits. À la fin, nous soudons les microcircuits et les LED.

Ce circuit fonctionne de 3 à 15V. Le générateur d'impulsions est assemblé sur une puce NE555, puis les impulsions sont envoyées à un compteur décimal avec un décodeur - une puce CD4017 (K561IE8), à dix sorties dont les LED sont connectées via des résistances de limitation de courant. La vitesse de commutation des feux de circulation est régulée par une résistance d'accord.

Schéma constructeur.


Mon circuit a fonctionné la première fois que je l'ai allumé.

deuxième étape. Modernisation du schéma des feux de circulation.
Plus tard, au cours des expériences, la puce CD4017 est tombée en panne. Sur un fil rapide, j'ai dû le remplacer par un analogue domestique K561IE8.
Je voulais obtenir des effets d'éclairage plus intéressants des feux de circulation. En conséquence, j'ai assemblé une autre carte de circuit imprimé avec des déclencheurs K561TM2 et des touches d'alimentation sur KT815. Une impulsion de chaque sortie K561IE8 est envoyée à l'entrée de déclenchement selon le principe du "verrouillage", c'est-à-dire qu'à la sortie de déclenchement, le signal reste constant jusqu'à ce que l'impulsion de réinitialisation arrive de la jambe 11 du microcircuit CD4017 (K561IE8). 9 canaux s'allumeront par cycle. Les interrupteurs de puissance sur les transistors KT815 sont conçus pour connecter des charges jusqu'à 1-1,5A. Si vous devez connecter une charge plus puissante, vous devez remplacer le KT815, respectivement, par des transistors plus puissants. Depuis que j'ai utilisé quatre microcircuits K561TM2, j'ai obtenu un circuit pour huit canaux. Dans ce circuit, vous pouvez obtenir 9 canaux de contrôle LED, mais vous devez ensuite ajouter une autre puce K561TM2 au circuit en connectant un déclencheur (la puce K561TM2 se compose de deux déclencheurs), et également ajouter un interrupteur à transistor.

Schéma après modification.



Pour tester le travail, j'ai connecté des morceaux d'une bande LED avec trois LED à chacun des huit canaux.


J'ai remplacé le potentiomètre 50kΩ par 470kΩ pour élargir la plage de réglage de la fréquence d'impulsion. Trouvé dans

De nombreux automobilistes, afin d'améliorer l'apparence de leur voiture, dotent leur Swallow de feux à LED. L'une des options de réglage est un clignotant en marche, qui attire l'attention des autres usagers de la route sur lui-même. L'article fournit des instructions pour l'installation et la configuration des clignotants avec feux de circulation.

[ Cacher ]

instructions de montage

Les lampes à LED sont des éléments semi-conducteurs qui brillent sous l'influence d'un courant électrique. L'élément principal en eux est le silicium. Selon les impuretés utilisées, la couleur des ampoules change.

Galerie de photos "Options possibles pour les indicateurs de direction dynamiques"

Outils et matériaux

Pour faire un clignotant en marche de vos propres mains, vous aurez besoin des outils suivants:

  • fer à souder;
  • pince coupante ou pince coupante;
  • fer à souder et matériel de soudure;
  • testeur.

À partir des consommables, vous devez préparer la fibre de verre. Il est nécessaire à la fabrication d'une carte de circuit imprimé sur laquelle sera placé un élément semi-conducteur. Les LED requises sont sélectionnées. En fonction des caractéristiques des LED et des valeurs de courant et de tension du réseau de bord, les caractéristiques des résistances de protection sont calculées. À l'aide de calculs, les autres composants du réseau sont sélectionnés (l'auteur de la vidéo est Evgeny Zadvornov).

Séquence de travail

Avant de faire des clignotants, vous devez choisir le bon schéma.

Ensuite, sur la base du schéma, créez une carte de circuit imprimé et appliquez-y des marquages ​​pour accueillir les futurs éléments.

L'assemblage consiste en une séquence d'actions :

  1. Tout d'abord, coupez l'alimentation de la voiture en débranchant la borne négative de la batterie.
  2. Ensuite, vous devez retirer les anciens indicateurs de direction et les démonter soigneusement.
  3. Les vieilles ampoules doivent être dévissées.
  4. Les joints doivent être nettoyés de la colle, dégraissés, lavés et laissés sécher.
  5. A la place de chaque ancien élément, un nouveau clignotant feu de marche est installé.
  6. L'assemblage et l'installation ultérieurs des lampes s'effectuent dans l'ordre inverse.
  7. Après l'installation, les fils sont connectés.

À l'étape suivante, une source d'alimentation stabilisée supplémentaire est incluse dans le réseau. L'alimentation est fournie à son entrée à partir d'un relais intermédiaire et la sortie est connectée à une diode. Il est préférable de le placer dans le tableau de bord.

Lors de la connexion des LED, il est nécessaire de s'assurer que l'anode est connectée au plus de la source d'alimentation et la cathode au moins. Si la connexion n'est pas effectuée correctement, les éléments semi-conducteurs ne s'allument pas et peuvent même griller.


Caractéristiques d'installation et de réglage des indicateurs de sens de marche

Vous pouvez installer des clignotants dynamiques à la place des LED conventionnelles. Pour ce faire, ils retirent, démontent la carte avec des LED et des résistances de limitation de courant. Sur le répéteur, vous devez arracher le verre du corps. Le réflecteur doit ensuite être soigneusement découpé et retiré.

À la place du réflecteur à distance, une carte SMD 5730 est installée, sur laquelle se trouvent des LED jaunes. Le répéteur ayant une forme incurvée, la planche devra être stratifiée et légèrement pliée. De l'ancienne carte, vous devez couper la partie avec le connecteur et la souder pour connecter le contrôleur. Ensuite, tous les composants sont remis à leur place.

Pour régler le temps de fonctionnement des lumières LED, un interrupteur est soudé au microcontrôleur. Lorsqu'une vitesse appropriée est trouvée, des cavaliers sont soudés à la place de l'interrupteur. Lors de la connexion de deux bornes à la terre, le temps minimum entre les clignotements de la LED sera de 20 ms. Lorsque les contacts sont fermés, ce temps sera de 30 ms.


Prix ​​d'émission

Vous pouvez faire un feu de clignotant à partir des feux de jour. Leur coût est de 600 roubles. En tant que sources lumineuses dans ce cas, vous pouvez prendre des LED RVB "pixel" en quantité de 7 pièces pour chaque clignotant en marche. Le coût d'un élément est de 19 roubles. Pour contrôler les LED, vous devez acheter un Arduino UNO d'une valeur de 250 roubles. Ainsi, le coût total sera de 1060 roubles.

Le concepteur de feux de circulation d'Aliexpress est une carte de circuit imprimé et un ensemble de composants radio. Tout ce que vous avez à faire est de souder les composants sur la carte.

Mais à partir de là, vous pouvez obtenir des effets plus intéressants des feux de circulation. Par exemple, pour les clignotants de voiture ou dans un signal d'arrêt ou simplement sur des guirlandes pour les vacances.


Ce circuit peut fonctionner dans la plage de tension d'alimentation de 3 à 15 volts. Le générateur d'impulsions est assemblé sur une puce NE555, puis les impulsions sont envoyées à un compteur décimal avec un décodeur - une puce CD4017 (ou K561IE8), aux sorties desquelles les LED sont connectées via des résistances de limitation de courant.

La vitesse de commutation des feux de circulation est régulée par une résistance d'accord. Ajoutez un circuit avec des bascules et des commutateurs à transistor de sortie. Aucune programmation requise, etc. En conséquence, des effets d'éclairage plus intéressants des feux de circulation peuvent être obtenus. Vous devez créer une autre carte de circuit imprimé avec des déclencheurs K561TM2 et des touches d'alimentation sur KT815. Une impulsion de chaque sortie K561IE8 est envoyée à l'entrée de déclenchement selon le principe du «verrouillage», c'est-à-dire que le signal à la sortie de déclenchement reste constant jusqu'à ce que l'impulsion de réinitialisation arrive de la broche 11 de la puce CD4017 (K561IE8). 9 canaux sont activés par cycle.

Il a dit l'année dernière "Gop" - il est temps de sauter :)
Ou plutôt, pour faire l'examen promis des clignotants en marche.
J'ai commandé 1 mètre de ruban noir WS2812B (144 LED) dans un tube en silicone, lors de la commande, j'ai choisi "Black 1m 144led IP67" (peut-être que quelqu'un aimera la couleur blanche du substrat, il y a un tel choix).

Une petite mise en garde

J'ai reçu une bande soudée à partir de deux morceaux d'un demi-mètre. L'inconvénient est le point faible de la soudure (les contacts peuvent se rompre avec le temps) et l'écart accru entre les LED.
Renseignez-vous auprès du vendeur avant d'acheter

Des fils de contact ont été soudés à la bande des deux côtés pour la connexion en série de plusieurs pièces, car Je n'en avais pas besoin, puis je l'ai soudé sur un côté du fil, j'ai tout scellé avec un mastic neutre et j'ai enroulé un peu plus de ruban électrique noir.



Fixé au verre avec du ruban adhésif transparent double face, par exemple,.

Détails d'installation

J'ai dégraissé les surfaces, j'ai d'abord collé le ruban adhésif sur le tube (je l'appellerai ainsi, même si la section transversale est rectangulaire), coupé l'excédent saillant d'un ruban plus large, mis les bords du tube dans l'espace entre le plafond et les parties supérieures des panneaux décoratifs des piliers arrière (j'ai caché les fils de contact avec le connecteur derrière un panneau ), centrés et ont commencé à appuyer contre le verre, en retirant lentement la couche protectrice du ruban.
Malheureusement, il n'y a pas de vidéo - il n'y avait pas de mains libres pour le tournage, et les voitures de chacun sont différentes.
Si quelque chose n'est pas clair - demandez dans les commentaires.
Le test de chaleur d'été a réussi - rien ne s'est décollé ou n'a flotté.
Le seul point négatif est que l'angle d'inclinaison du verre est doux, les LED brillent plus vers le haut. Par une journée ensoleillée, il est difficile de voir, mais comme ce sont des signaux en double, alors

Passons maintenant au bourrage électronique.
J'ai utilisé mais récemment découvert

Pour environ le même coût, nous obtenons plus de petits pains

L'esquisse sans aucune modification fonctionnera également sur Wemos lors de la programmation dans l'IDE Arduino, et si vous implémentez un petit serveur Web, puis une fois connecté via Wi-Fi, vous pouvez modifier les valeurs de variables telles que le délai entre les clignotements, la quantité de décélération lors d'un freinage d'urgence, etc.
Ici, à l'avenir, si quelqu'un est intéressé par la mise en œuvre d'un projet sur ESP8266, je peux publier un exemple pour modifier les paramètres via l'interface Web, les enregistrer sur EEPROM, puis les lire.
Le lancement du serveur Web peut être mis en œuvre, par exemple, en allumant le clignotant et en appuyant sur la pédale de frein lorsque le contact est mis (dans la procédure de configuration, interrogez l'état des entrées correspondantes).

Pour mettre en œuvre le mode clignotant lors d'un freinage important a été acheté
Le croquis surveille le niveau de décélération lorsque la pédale de frein est enfoncée, s'il dépasse 0,5 G (décélération dure, mais pas de grincement de frein), puis un mode clignotant est activé pendant quelques secondes pour attirer une attention supplémentaire.
Les signaux de commande vers les entrées Arduino à partir du "plus" des arrêts, des clignotants et de la marche arrière sont alimentés par une isolation galvanique - des optocoupleurs avec des résistances de limitation de courant, qui forment finalement le niveau BAS aux entrées Arduino (constamment tirés vers le plus à travers des résistances de 10kΩ ).
Alimentation - 5 volts via un convertisseur abaisseur DC-DC.
Le tout est plié comme un sandwich et emballé dans une boîte adaptée, sur laquelle j'ai marqué le sens d'installation avec une flèche pour la bonne orientation du capteur de gravité

Schéma et photo



La valeur des résistances pull-up (vers plus) est standard - 10 kOhm, les résistances optocoupleurs limitant le courant - 1 kOhm. Les optocoupleurs ont été abandonnés sur les anciennes cartes, deux ont obtenu PC123, deux - PC817.


Sur la première photo, vous pouvez voir deux broches supplémentaires, je les ai faites pour les clignotants. Étant donné que dans ma voiture, lorsque le levier de la colonne de direction est activé, un court-circuit à la masse se produit, j'ai connecté les fils au bloc levier et aux entrées Arduino. Si le commutateur de colonne de direction commute plus ou prend un signal des ampoules "+" du clignotant gauche / droit, connectez-les via une isolation galvanique.



Eh bien, maintenant le croquis lui-même (Arduino IDE)

#comprendre #comprendre //quelques commentaires généraux // j'ai désactivé l'une des LED extérieures, car ils brillaient sur les panneaux décoratifs des racks //vu dans l'exemple de cette boucle for (int i=1; i<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 = 50 ; //puis changer les cycles dans le bloc STOP pour (int i=1; i<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); }

J'ai essayé de le commenter au maximum, mais s'il y a des questions, j'essaierai d'ajouter des commentaires (donc, je le place dans le texte de la critique, et non en fichier joint). Soit dit en passant, cela s'applique également à d'autres points de l'examen - je le compléterai également s'il y a des questions importantes dans les commentaires.

Et enfin, une démonstration de travail (j'ai utilisé un croquis avec un mode démo pour la vidéo).

Mise à jour J'ai fait un croquis avec un mode démo spécifiquement pour tout intégrer dans une courte vidéo.
Le feu stop ne clignote que lors d'un freinage important (cela a été écrit ci-dessus), lorsqu'il est lisse et debout dans les embouteillages, il brûle simplement sans gêner les conducteurs par derrière.
La luminosité dans l'obscurité n'est pas excessive, car. à cause de l'inclinaison du verre, les lumières sont dirigées plus vers le haut que vers l'arrière.
Les lumières régulières fonctionnent comme d'habitude, cette bande les duplique.

Je prévois d'acheter +97 Ajouter aux Favoris J'ai aimé la critique +89 +191

LA CLOCHE

Il y en a qui ont lu cette news avant vous.
Abonnez-vous pour recevoir les derniers articles.
E-mail
Nom
Nom de famille
Aimeriez-vous lire The Bell
Pas de spam