Svetofor, transport signallari, svetoforlar yoki robotlar joylashgan signalizatsiya moslamalari


Download 265.31 Kb.
bet5/9
Sana27.01.2023
Hajmi265.31 Kb.
#1129692
1   2   3   4   5   6   7   8   9
Bog'liq
Piyodalar svetaforini vaqt bo\'yicha yonib o\'chishi dasturini ishlab

Sxematik diagramma.

Eskizda ko'rinishi mumkin bo'lganidek, kod ko'proq bo'lib qoldi, ammo vazifalar Kodni kamaytirish va mantiqni soddalashtirish uchun ishlatiladi. Ammo biz ushbu oddiy misolni va qanday funktsiyani va qanday qilib o'zgaruvchini funktsiyalarga etkazish kerakligini ko'rib chiqdik rivojlanish muhiti.
Nima degan tushuncha vazifalar qanday qilib ularni keyingi darsda qandaydir yordam berishini e'lon qilish kerak.
Shunday qilib, siz Arduino seriyasining eng yaxshi egasisiz ("Asosiy" ("Asosiy", "Arduino" va "Smart Home") birinchi misolni uladingiz va "Salom , Dunyo "Arduino uchun (O'rnatilgan LED bilan miltillovchi). Bu yaxshi, siz Arduino asosida rassom ishlab chiqaruvchi loyihaning birinchi qadamini qo'ydingiz. Endi biz yanada murakkab va foydali loyihani ko'rib chiqamiz - arduino-ga asoslangan ikkita svetofor. Siz yaratgan robotlar yo'lning chorrahasida harakat qilishingiz mumkin.

II Bob. Amaliy qism.
2.1 Svetofor moduli
Assambleya uchun svetofor Arduino Arduino to'plamlarining har birida mavjud bo'lgan quyidagi ma'lumotlar kerak bo'ladi:

  1. Arduino UNO;

  2. USB kabeli;

  3. Prototiplik to'lovi;

  4. Simlar "dada papasi" - 7 dona;

  5. 220 ohmga qarshi turadi - 6 dona;

  6. Qizil LED - 2 dona;

  7. Yashil - 2 dona;

  8. Sariq LED - 2 dona.

LED - bu elektr tokini to'g'ridan-to'g'ri yorug'lik nuriga aylantiradigan yarimo'tkazgich qurilmasi. LEDlarning rang xususiyatlari unda ishlatiladigan yarimo'tkazgichning kimyoviy tarkibiga bog'liq. LED spektrning tor qismida yoriqlar. Bizning loyihamizda Arduino svetoforlarini yaratish uchun biz svetoforning uchta rangiga mos keladigan uchta rangdagi (yashil, sariq, qizil), biz uchta rangda (yashil, sariq, qizil) ishlatamiz.
LEDlar qutbli bo'lib, u ularni ulash uchun yo'nalishda. LED (uzunroq) ijobiy natijasi anode deb ataladi, salbiy katod deb ataladi. Barcha diodlar singari, LEDlar oqimlar faqat bitta yo'nalishda - katodga anae-ga kirishga imkon beradi. Amaldagi salbiy javob berishdan oqilona oqlanganligi sababli, LED (LED) 5V raqamli signalga ulangan bo'lishi kerak va katod erga ulangan bo'lishi kerak.
Biz birinchi svetoforning LETlarini D7, D8, D9 raqamli xulosalariga ulaymiz va ikkinchi svetoforlar D11, D11 ARDUININ BOSQIDA Raqamli xulosalarga olib keladi. LEDlar har doim ketma-ket harakatlanuvchi licher sifatida harakatlanadigan rezistor bilan bog'lanishi kerak. Qarshilik qiymati qanchalik katta bo'lsa, u hozirgi paytda qanchalik cheklaydi. Ushbu tajribada biz 220 ohmning yuz qiymati bilan rezistordan foydalanamiz.
Endi eskizni yozishni boshlaylik. Darsning birinchi qismida biz bitta svetofor ishining eskizini yozamiz.
Biz svetofor quyidagicha ishlashini bilamiz: bir muncha vaqt yashil chiroq (yashil LED). Keyin qizil rangda "yonish" qizil va keyin sariq rangda porlaydi aylanada. "Yashil, sariq" va qizil rangdagi "yonish vaqti va sariq yo'lning yonish chastotasi konteynerlarni olib keladi
#Defin vaqt_gren 10000 #Defin Vaqt_red 10000 #Defin Vaqt_tefin 3000 #Defin Vaqt_blink 300
Keling, konstantalarga olib kelaylik va svetoforning ulanishiga (bu misolda biz bitta svetoforni ko'rib chiqamiz)
#Defin PIN_Green1 7 #defin PIN 9 #Defin PIN_yse 8
Yaratilgan va o'zgaruvchan ko'kragini tashkil qilish (blindyuele \u003d Haqiqiy - LED "yorug'lik", "yorug'lik", blinkyuele \u003d "To'liqlangan" Siz allaqachon bilganingizdek, Arduino Raqamli xulosalar kirish va chiqish sifatida ishlashi mumkin. Raqamli chiqish rejimi PINMode () buyrug'i bilan belgilanadi. Setup () protseduralarida siz LET ishlab chiqarish sifatida ulangan barcha ARDUPUINA Xarafatlarini o'zgartirasiz va ularga pastni (i.e., LED ni o'chirib qo'ying).
// Arduino mahsulotlarini PINMode chiqishlari (PIN_GREN1, chiqish) sifatida sozlash; Pinmode (PIN_YOWSE1, Chiqish); Pinmode (PIN_RRRE1, chiqish); // va barcha digital yozma LED liklarini (PIN_GREN1, past) joylashtiring; DigitalWrite (PIN_YOWSE1, past); DigitalWrite (PIN_RRRR1, past);
Loop () protsedurada svetoforning ishini ishga tushiring. Qizil va yashil liniyalarning yonish davomiyligi va sariq rangli funktsiya bilan yarqirab ketadi.
Sariq LETni o'chirish uchun biz vaqt_bink davomiyligidan foydalanamiz. Blinklyely \u003d! Blinkliya elkasbasining qiymatini qarama-qarshi tomonga o'zgartiramiz va sariq rangning holatini o'zgartiramiz.
Uchun (IN I \u003d 0; i<="" p="" >
Arduino Ilardan yangi eskizni yarating, kodni 1 ro'yxatidan olib chiqing va Arduinoning narxiga eskizni haydang. Sizga shuni eslatib o'tamizki, "Arduino" yozuvida siz bortni (Arduino BMT) va boshqaruv ulanish portini tanlashingiz kerak.
1-listing 1.
// #defin PIN_Green1 7-ulanish uchun ARDUININA Xulosalari #defin Pin_ReD1 8 #Defin PIN_RED_GEED vaqti_Defin 5000 // Sariq #defin vaqti_yy 3000 // kun Sariq #defin vaqti_blink 300 miltillash // o'zgaruvchan miltillovchi miltillash uchun miltillaydi \u003d haqiqat; VOLD sozlash (// Arduino mahsulotlarini PINMode (PIN_RELD1, chiqishi) sifatida sozlash (PIN_GRED1, past); digitalwrite (PIN_YOWSE1, Past); Digitalwrite (PIN_RRED1, past); SOGOP funktsiyasi davom etadi va undan yuqori versiyasi (// Yashil Digen1, yuqori); kechikish funksiyasi; kechikish funksiyasi; Uchun o'tirish (IN I \u003d 0; i<="" p="" >
Yuklangandan so'ng, biz svetoforimizning ishlashini kuzatamiz (2,3,4 rasmiga qarang). Vaqt_green doimiyligini o'zgartirish orqali, vaqt_red, Vaqt_yuche, har bir yoritilgan kunning "yonish" vaqtini o'zgartiramiz, vaqtingiz dukkakli edi.

Ushbu maqolada biz Arduino Uno va Nano-ga asoslangan miltillovchi ledlar bilan svetofor loyihasini ko'rib chiqamiz. Uch rangli LED yoritgichli svetoforni kirish darajasidagi loyiha deb atash mumkin. Ammo uning asosida siz qiziqarli va foydali qurilmalarni, masalan, bolalarni yo'l harakati qoidalariga o'rgatish uchun simulyatorlarni yasashingiz mumkin. Ushbu loyiha, shuningdek, yangi boshlanuvchilarga Arduino muhitida dasturlash haqida ko'proq ma'lumot olish, sxemalarni yig'ish bilan shug'ullanish va yangi qiziqarli muhandislik o'yinchoqlaridan bahramand bo'lish imkonini beradi.


Javoblar uchun rahmat, tugatdim, tugmachani o'zgartirishim kerak edi, ehtimol nikoh, men doimo 1 berdim. Umuman olganda, agar kimdir kod va mantiqni yuklashi kerak bo'lsa:
Avtomobil uchun qizil doimiy ravishda yonadi, piyodalar uchun-yashil. Agar piyoda svetofordagi tugmachani bossa (shunchaki ikki marta tekshirish ahmoqdan himoya deb ataladi) va 5 soniyadan ko'proq vaqt o'tdi. oxirgi bosishdan boshlab, avtomobillar uchun sariq va qizil, piyodalar uchun mos ravishda yashil rang yonadi. Yashil piyodalar miltillay boshlaganda, ko'r piyodalar uchun karnay yoqiladi.
Svetoforning navbatchilik rejimini yoqish uchun operator tugmasi kerak, ya'ni.mashina uchun sariq miltillaydi, piyodalar yonmaydi.
Umid qilamanki, kimdir foydali bo'lishi mumkin, kodga ko'ra, men iloji boricha izoh berishga harakat qildim.
Endi bu quyidagilarni yuklab olish davom etmoqda eskiz Arduino va iltimos, o'zingizning hunarmandchiligingiz bilan seving!
Boolean k \u003d 0; VOLD sozlash () (2, chiqish); pinmose (3, chiqish);) xoletsice (4, chiqish);) xoletsice (2, chiqishi); digitalwrite (3.0); Digitalwrite (4, 0) ; Kechikish (3500); uchun (int i \u003d 0; i<6; i++) { digitalWrite(2, k); k = !k; delay(800); } digitalWrite(2,0); digitalWrite(3,1); digitalWrite(4,0); delay(3500); for(int i = 0; i<6; i++) { digitalWrite(3, k); k = !k; delay(800); } digitalWrite(2,0); digitalWrite(3,0); digitalWrite(4,1); delay(3500); for(int i = 0; i<6; i++) { digitalWrite(4, k); k = !k; delay(800); } }
Eskizni o'zgartiring va miltillash vaqtini va ularning kechikishini belgilang!
Dacenenore, ixlosmandlar, hamdardlik va vaziyatning nurlari uchun yaxshi sog'liq!))
Uning o'zi faqat ushbu harakatga va uning temir yo'liga borishi mumkin, ammo shunga qaramay, men bahorni kutmasdan nima qilishim mumkinligini boshlashga qaror qildi. Tanlov transport chiroqini avtomatlashtirishga tushdi. Men radio havaskorman va yaqinda mashhur Arduino modullari uchun turli xil asboblarni ishlab chiqganim sababli, ular asos sifatida qabul qilindi. Tanlov Arduino Nanoga tushdi, chunki u bizning maqsadlarimiz uchun eng mos keladi va bortda USB-TTL adapteriga ega (men asosan Arduino Pro Mini-dan foydalanaman, lekin unchalik qulay emas, ammo narx uchdan bir baravar past).
Bandlik holati Mening tizimim cheklovli kalitlar shaklida va geronlar shaklida bo'lishi mumkin bo'lgan ikkita kondensialni yopadi va shunchaki trolley turar joyida yopilgan petpinlar bo'lishi mumkin. Men hozirgina kliplardan aloqadaman. Maqolani yozish davriga kelib, Hertone bilan variantni allaqachon boshdan kechirgan - hamma narsa yaxshi ishlaydi. Amalga oshiriladigan zaxiraning harakat yo'nalishini aniqlashda ikkita aloqa guruhidan foydalanishning mohiyati, ya'ni PSning bir yo'nalishda qancha vaqt o'tishi bilan (xoch urish va har bir mashina kontaktlarni yopib qo'yaylik) ) Svetofor kerakli signalni ko'rsatadi. Ushbu tizimning asosiy afzalligi shundaki, uni o'yinchoqdan har qanday temir yo'lda, temir yo'lni yopadigan klassik tizimdan farqli o'laroq, ularda bir qator cheklovlarni keltirib chiqaradi.
Davom etishdan oldin, men Arduino haqida o'qishga o'xshash narsalarni to'plashingizni maslahat beraman, u qanday qilib kompyuterga qanday ulanishni, Arduino Ilardan qanday foydalanishni qanday ishlatishini tavsiya qilaman Rivojlanish muhiti va boshqalar.
Matn versiyasida material juda katta bo'ladi, men videolarda ishimni buzdim. Dasturlar (eskizlar), kerakli qismlarga, kerakli qismlarga va boshqa mavzularda videolar.
Shunday qilib, birinchi videoda, bu eng oddiy variant haqida - ikkita rangli svetofor haqida bo'ladi. Bunday ibtidoiy sxema bitta estafetada amalga oshirilishi aniq, ammo kelajakda siz buni ma'lum bir ehtiyojlaringizga eta olishingiz uchun dastur mantig'ini tushunish kerak. Men dasturchi emasman, shuning uchun ko'prik tepmang - men iloji boricha tushuntirib beraman \u003d)

Download 265.31 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling