Mundarija:
- 1-qadam: 1-qadam: yorug'lik qopqoqlarini yarating
- 2 -qadam: 2 -qadam: PVX qutbini tayyorlash
- 3 -qadam: 3 -qadam: RGB LED chiziqlarini yig'ish va akril plastinkalarni qum bilan tozalash
- 4 -qadam: 4 -qadam: RGB LED chiziqlarini Arduino -ga ulang
- 5 -qadam: 5 -qadam: Arduino kodini yozing
Video: Smart interaktiv svetofor: 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Dunyodagi eng yaxshi va interaktiv svetoforni qurishga tayyormisiz? Yaxshi! Ushbu qo'llanmada biz Arduino -dan qanday qilib o'zingiz qurishingiz mumkinligini tushuntiramiz.
Kerakli komponentlar:- Arduino (..duh)- LM317 Mosfet- 2x60 sm analog RGB LED chiziqlar (12V)- PVX quvur (1m x 125mm)- Kabellar (qizil va qora)- Yorug'lik qopqog'i uchun metall plitalar- Yorug'lik uchun akril. - piktogramma (.svg piktogramma uchun flaticon.com saytini tekshiring)- Spraycan qora va oq bo'yoq.- Elektr tasmasi- Barcha kerakli lehim komponentlari- Kerakli ekranli displey (qo'llanmada ishlatilmaydi)
1-qadam: 1-qadam: yorug'lik qopqoqlarini yarating
Dizayn haqiqatan ham sizga bog'liq. Chiroqlarni ushlab turish uchun biz 15x15 sm hajmdagi qopqoq tayyorladik. Biz metall plitalarni kerakli o'lchamda kesib oldik va to'g'ri bichimdagi qopqoqlarni egish uchun metall bükücü (no, Avatar) ishlatdik. Orqa panellar boshqa komponentdan qilingan.
2 -qadam: 2 -qadam: PVX qutbini tayyorlash
PVX qutbidagi yorug'lik qopqog'iga mos keladigan 2 teshikni kesib oling. Keyin hamma narsani qora rangga bo'yash uchun qora bo'yoq purkagichidan foydalaning. Agar xohlasangiz, qutbning pastki qismiga oq chiziqlar qo'shishingiz mumkin (Gollandiyada keng tarqalgan).
3 -qadam: 3 -qadam: RGB LED chiziqlarini yig'ish va akril plastinkalarni qum bilan tozalash
Keyin siz RGB LED chiziqlarini yorug'lik qopqog'iga yig'ishingiz kerak. Ularni qopqoq atrofiga mahkam o'rnating va iloji boricha old tomonga yaqinroq joylashtiring.
Keyin akril plastinkada tanlangan belgini qum bilan tozalashingiz kerak bo'ladi. Bir oz lenta oling va butun akril plitani yoping. Keyin kerakli shaklni/shaklni kesib oling. Shundan so'ng, siz muzli oynaga o'xshash effekt olish uchun plastinkani qum bilan tozalashingiz mumkin.
4 -qadam: 4 -qadam: RGB LED chiziqlarini Arduino -ga ulang
Endi qiyin qism keladi: RGB LED chiziqlarini Arduino -ga ulash. Pimlarni ulayotganingizda, chiziqni 12v ga 12v qo'yganingizga ishonch hosil qiling. Qizil yoki yashil ranglarning har birining orasiga mosfet qo'yish kerak. Chiziqli ma'lumotni mosfetning o'rta piniga va chap pinni Arduino -ga ulang. O'ng pin Arduino tagiga qaytishi kerak.
5 -qadam: 5 -qadam: Arduino kodini yozing
Bu Arduino kodi bluetooth orqali boshqariladi, chunki biz ichki displeydan foydalanmaganmiz. Shunday qilib, kod bluetooth xabarlari orqali loop () funktsiyasida boshqariladi.
#define r 6 #define g 11 #include
SoftwareSerial mySerial (10, 11); // RX, TX
#g'azablangan uzunlikni aniqlang 4
#yiqilish uzunligini 3 belgilang #baxtli uzunlikni aniqlang 4 #telefon uzunligini aniqlang 13 #gaplashishni aniqlang 5 #aniq yurishni aniqlang uzunlik 4 #aniq yurishni aniqlang uzunlik 4 #to'lqinni aniqlang uzunlik 6
bool tugmasi bosildi;
int currentMillis; int previousMillis;
int animatsiyasi1Delay;
int animation2Delay; int animatsiya3Delay; int animation4Delay;
bool animatsiyasi1Done = noto'g'ri;
bool animation2Done = noto'g'ri; bool animatsiya3Done = noto'g'ri; bool animation4Done = noto'g'ri; bool animatsiyasi5Done = noto'g'ri;
bool blockLight = noto'g'ri;
bool lightRed = rost;
int currentAnimationDelay;
bo'sh o'rnatish () {
// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying: pinMode (r, OUTPUT); pinMode (g, OUTPUT);
Serial.begin (9600);
mySerial.begin (38400); Serial.setTimeout (25); buttonPressed = false; currentMillis = 0; oldingiMillis = 0;
animatsiya1Delay = yurish uzunligi * 1000;
animation2Delay = wavingLength * 1000; animatsiya3Delay = happyLength * 1000; animation4Delay = walkingOutLength * 1000;
// currentAnimationDelay = animation1Delay * 1000;
lightRed = rost; }
void loop () {
// kechikish (20);
// qayta ishga tushirish uchun asosiy kodingizni bu erga qo'ying: unsigned long currentMillis = millis (); if (buttonPressed == true) {if (animation1Done == false) {if (currentMillis - previousMillis> animation1Delay) {Serial.println ("0"); oldingiMillis = joriyMillis; animatsiya1Done = rost; }} if if (animation2Done == false va animation1Done == true) {if (currentMillis - previousMillis> animation2Delay) {Serial.println ("1"); oldingiMillis = joriyMillis; animatsiya2Done = rost; }} boshqa if (animation3Done == noto'g'ri va animation2Done == rost) {if (currentMillis - previousMillis> animation3Delay) {Serial.println ("2"); //Serial.println("sound:green "); oldingiMillis = joriyMillis; animatsiya3Done = rost; lightRed = noto'g'ri; }} boshqa if (animation4Done == noto'g'ri va animation3Done == rost) {if (currentMillis - previousMillis> animation4Delay) {previousMillis = currentMillis; animatsiya4Done = rost; Serial.println ("FLSH"); }}}
agar (Serial.available ()) {
String str = Serial.readString (); agar (str == "CMD: BUTTON_PRESSED") {
animatsiya1Done = noto'g'ri;
animatsiya2Done = noto'g'ri; animatsiya3Done = noto'g'ri; animatsiya4Done = noto'g'ri; animatsiya5Done = noto'g'ri;
animatsiya1Delay = yurish uzunligi * 1000;
animation2Delay = wavingLength * 1000; animatsiya3Delay = happyLength * 1000; animation4Delay = walkingOutLength * 1000;
// currentAnimationDelay = animation1Delay * 1000;
lightRed = rost; Serial.println ("3"); buttonPressed = rost; oldingiMillis = joriyMillis; }
agar (str == "RED") {
blockLight = noto'g'ri; lightRed = rost; }
agar (str == "Yashil") {
blockLight = noto'g'ri; lightRed = noto'g'ri; }
agar (str == "LIGHT: GREEN: OFF") {
blockLight = to'g'ri; analogWrite (g, 255); } agar (str == "LIGHT: GREEN: ON") {blockLight = true; analogWrite (g, 0); } //Serial.println(str); }
agar (blockLight == noto'g'ri) {
agar (lightRed == rost) {
analogWrite (r, 0); analogWrite (g, 255); } if (lightRed == false) {analogWrite (r, 255); analogWrite (g, 0); }}}
Tavsiya:
Arduino bilan interaktiv lazer varaq generatori: 11 qadam (rasmlar bilan)
Arduino bilan interaktiv lazer varaq generatori: lazerlardan ajoyib vizual effektlarni yaratish uchun foydalanish mumkin. Ushbu loyihada men interaktiv va musiqa ijro etadigan lazer displeyining yangi turini qurdim. Qurilma ikkita lazerni aylantirib, girdobga o'xshash ikkita yorug'lik varag'i hosil qiladi. Men masofa sensori bilan jihozlanganman
Shovqinli svetofor - DIY 3D bosilgan: 8 qadam (rasmlar bilan)
Shovqinli svetofor - DIY 3D bosilgan: Hamma jim ishlashni xohlaydi va yaxshi ish muhiti bo'lishi muhim. Biz bu loyihani ushbu taklifga erishish uchun qildik. Shovqinli svetofor JBni boshqaruvchi "svetofordan" iborat
Fadecandy, ishlov berish va Kinect bilan interaktiv LED gumbaz: 24 qadam (rasmlar bilan)
Fadecandy, Processing va Kinect bilan interaktiv LED gumbaz: WhatWhen in Dome - 4378 LED bilan qoplangan 4,2 metrli geodezik gumbaz. LEDlarning har biri alohida xaritada joylashtirilgan. Ular Windows ish stolida Fadecandy va Processing tomonidan boshqariladi. Gumbaz ustunlaridan biriga Kinect biriktirilgan, shuning uchun
DragonBoard 410c bilan aqlli svetofor simulyatsiyasi: 7 qadam (rasmlar bilan)
DragonBoard 410c bilan aqlli svetofor simulyatsiyasi: | MATERIALLAR: MDF 1.20 Mts. x 1,20 Mts.8 LEDlar: · 2 ko'katlar va middot; 2 sariq va o'rta; 2 qizil va middot; 2 ta oq karton, bitta bo'lak. Dragon Board 410c BladeWiresSilikon silikonli qurol, O'yinchoq mashinasiProtoboardPush tugmasi
5 ta Arduino va 5 ta NRF24L01 simsiz modullari yordamida 4 tomonlama svetofor tizimi: 7 qadam (rasmlar bilan)
5 Arduinos va 5 NRF24L01 simsiz modullaridan foydalangan holda 4 tomonlama svetofor tizimi: Bir oz oldin men non panelida bir juft svetoforni ko'rsatadigan ko'rsatma yaratdim, shuningdek, NRF24L01 simsiz modulidan foydalanishning asosiy asosini ko'rsatadigan boshqa ko'rsatma yaratdim. Meni o'yladi! Juda ko'p narsa bor