Mundarija:

RC avtomashinasidan qanday ajoyib robot yasash mumkin: 11 qadam
RC avtomashinasidan qanday ajoyib robot yasash mumkin: 11 qadam

Video: RC avtomashinasidan qanday ajoyib robot yasash mumkin: 11 qadam

Video: RC avtomashinasidan qanday ajoyib robot yasash mumkin: 11 qadam
Video: Уй шароитида робот ясаш || Uy sharoitida robot yasash 2024, Noyabr
Anonim
RC avtomobilidan qanday ajoyib robot yasash mumkin
RC avtomobilidan qanday ajoyib robot yasash mumkin

Bu ajoyib loyiha o'rta maktab o'quvchilari yoki havaskor robot qilishni istagan har qanday havaskorlar uchun. Men uzoq vaqt interaktiv robot yaratishga harakat qilardim, lekin siz elektronika yoki maxsus dasturlash tillarini bilmasangiz, uni yaratish oson emas. Endi nqBASIC deb nomlangan dasturlash tili mavjud bo'lib, u o'z robotini yaratish uchun mutlaqo bepul.

1 -qadam: Sizga nima kerak?

Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?
Sizga nima kerak?

Bu ajoyib loyiha uchun sizga ba'zi qismlar kerak bo'ladi.1) Boring va ikkita shahar dvigateliga ega RC avtomashinasini toping. Men 12 dollar evaziga momaqaldiroq mashinasi deb nomlangan juda arzon mashinani topdim. 2) Sizga SSMI deb nomlangan Servo Sensor boshqaruv kartasi kerak bo'ladi. Bu erda ithttps://www.technologicalarts.ca/catalog/product_info.php? Currency = USD & products_id = 2763) olish uchun havola bor) Sizga NanoCore12DX deb nomlangan ushbu taxtaga mikro -nazoratchi kerak bo'ladi https://www.technologicalarts.ca/catalog/ product_info.php? cPath = 50_36_92 & products_id = 4294) Agar siz robotni interaktiv qilishni xohlasangiz, sizga ikkita sensor kerak bo'ladi https://www.technologicalarts.ca/catalog/product_info.php? Sizning robotingiz dastur uchun. Http://www.nqbasic.com saytiga o'ting va bepul yuklab oling. 7) 4 ta AA batareyasi (ishqoriy yoki qayta zaryadlanuvchi)

2 -qadam: RC avtomobilini ajratib oling

RC Car Apart -ni oling
RC Car Apart -ni oling

1) Men barcha elektronikani oldim. Kabelni RC avtomashinasi ichidagi nazorat birligidan uzing, faqat batareyani qoldiring, chunki SSMI (NanoCore12DX uchun Servo/Sensor/Dvigatel interfeysi platasi) ni yoqish to'g'ri edi.

3 -qadam: DC kabellari va batareya kabellari biriktirilgan

Bog'langan shahar kabellari va batareya kabellari
Bog'langan shahar kabellari va batareya kabellari

R/C avtomashinasining ikkita shahar dvigatelida allaqachon kabellar bor edi, shuning uchun men ularni SSMI -dagi ulanadigan ulagichlarga (SSMI platasi bilan birga keladi) uladim. Men batareya kabeli bilan ham shunday qildim.

4 -qadam: LED kabellari

LED kabellari
LED kabellari
LED kabellari
LED kabellari
LED kabellari
LED kabellari
LED kabellari
LED kabellari

4 ta kabel qoldi. Ular ingichka. Bu g'ildiraklardan keladigan kabellar. Bu RC avtomashinasida orqa g'ildiraklar ichida LEDlar mavjud. Har bir g'ildirakdan ikkita kabel keladi. Sizning robotingiz ushbu LEDlar yordamida chiroyli bo'lishi mumkin. Men robotni yanada qiziqarli qilish uchun mana shu LEDlarni ishlatishga qaror qildim. Siz bu kabellarni rasmda ko'rishingiz mumkin. Men SSMI kartasini o'rnatish uchun yaxshi tekis sirt qilish uchun mashinaning orqa qismidan mashinaning old qismiga kelgan qora plastmassani o'rnatdim. Men SSMI -ni o'rnatish uchun velcrosdan foydalanardim. Agar xohlasangiz, siz ikki tomonlama lentani ishlatishingiz mumkin, keyin men LED kabellarini mashinaning old qismidagi teshiklardan o'tkazdim. Men SSMI -ni mashinaga o'rnatdim, keyin shahar motorlarini va batareya vilkalarini o'z joylariga uladim.

5 -qadam: LED kabellarini SSMI kartasiga ulang

LED kabellarini SSMI kartasiga ulang
LED kabellarini SSMI kartasiga ulang
LED kabellarini SSMI kartasiga ulang
LED kabellarini SSMI kartasiga ulang
LED kabellarini SSMI kartasiga ulang
LED kabellarini SSMI kartasiga ulang

Keyin LED kabellarini kerakli joylarga ulang. Qaysi ulagichlardan foydalanishingiz mumkinligi haqida SSMI karta qo'llanmasidan bilib olishingiz kerak. Davom eting va ularni men qilgan joylarga ulang. Keyinchalik, agar xohlasangiz, ushbu kabellarni turli joylarga qo'yishni o'rganishingiz mumkin

6 -qadam: Sensorlarni ulang

Sensorlarni ulash
Sensorlarni ulash
Sensorlarni ulash
Sensorlarni ulash
Sensorlarni ulash
Sensorlarni ulash
Sensorlarni ulash
Sensorlarni ulash

Sensor kabellarini kerakli joylarga ulang.

7 -qadam: Sizning robotingiz aylanishga tayyor

Sizning robotingiz aylanishga tayyor
Sizning robotingiz aylanishga tayyor

Sizning robot uskunangiz tayyor. Endi siz uni dasturlashingiz kerak.

8 -qadam: Dasturiy ta'minotni o'rnating

Dasturiy ta'minotni o'rnating
Dasturiy ta'minotni o'rnating

Http://www.nqbasic.com saytiga o'ting va dasturni veb -saytdan yuklab oling. Barcha ko'rsatmalar veb-saytda- kompyuterni qanday o'rnatish va unga tayyor qilish. Bundan tashqari, YouTube -da dasturiy ta'minotni qanday qilib bepul ro'yxatdan o'tkazish mumkinligi ko'rsatilgan. Ro'yxatdan o'tishda ikkilanmang. Aks holda kodingizni kompilyatsiya qila olmaysiz.

9 -qadam: Dasturga tayyor

Dasturga tayyor
Dasturga tayyor

Kompyuterning ketma -ket portini SSMI ketma -ket portiga ulang.1) nqBASIC -ni ishga tushiring va loyihani tanlang va yangi loyihani tanlang 2) loyihangizga nom bering va uni saqlang. ro'yxatidan. Bu SSMI bilan ishlaydigan yagona modul.4) Fayl/Yangi faylni tanlang. Bu faylni loyihangizga qo'shishni xohlaysizmi, deb so'raydi. Ha deb ayting.5) Faylga nom bering va Saqlash tugmasini bosing.

10 -qadam: Manba kodini nusxalash va joylashtirish

/* Bu yerdan shu matn oxirigacha nusxa ko'chirish DIP32 (8mHz)*/dim M00 uchun namuna yangi pwm (PP0) sifatida dim M01 yangi pwm (PP1) xira M11 yangi pwm (PP2) kabi dim M10 yangi pwm (PP3) sifatida dim IR1 yangi ADC sifatida (PAD05) // Sharp Sensor uchun ADC obyekti (old) dim IR1Result yangi bytedim IR2 sifatida yangi ADC (PAD03) // Sharp Sensor uchun ADC obyekti (Orqa) dim IR2Result yangi bytedim myChar sifatida yangi bayt / /Qabul qilingan belgilarni S ni yangi SCI sifatida saqlash uchun o'zgaruvchi (PS0, PS1) // SCI ob'ekti SPK yangi DIO (PM4) sifatida // SSIMda dinamikdan foydalanish vaqti = 20dim davomiyligi yangi so'z sifatida // Musiqiy eslatmalarConst A4 = 568 // Robot WLED1 -ni yangi DIO (PM2) sifatida ko'rganida ovoz chiqaradigan musiqiy eslatmalar // WLED2 g'ildiraklaridagi LEDlar yangi DIO (PM3) sifatida // G'ildiraklar halqasidagi LEDlar yangi bayt sifatidaConst OFF = 0Const ON = 1Const FOREVER = 1Const A = 200Const B = 10Const DEL_1MSEC = 1000sub DelayMsec (bayt millisekundlarda) while (millisekundlar> 0) System. Delay (DEL_1MSEC) // 1 millisekund millisekni tashkil qilish uchun 1000 mikrosaniyani kechiktiring. onds = millisekundlar - 1 tugash paytida subsub sub stop () // motorlarni to'xtatish M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250), 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) subobub goback () // robot qaytadi M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 180). PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. () // robotni oldinga siljiting M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) // chap shahar M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) // o'ng dcend subsub wait3 () // o'z kechikishlarim DelayMsec (A) DelayMsec (A)) DelayMsec (A) subububni kutish4 () DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) oxirgi subububni kutish5 () DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) end subsub wait10 () // long delay loop = 1 while (loop <11) DelayMsec (A) loop = loop + 1 end while subsub playsound () // eslatmalarni ijro etish muddati = ontime while (Duration> 0) SPK. PIN_Out (PM4, ON) tizimi. Kechiktiruvchi (A2) SPK. PIN_Out (PM4, O'chirilgan) tizim. Kechikish (A2) davomiyligi = davomiyligi - 1 bosh, DelayMsec (B) davomiyligi = ish vaqti (davomiyligi> 0) SPK. PIN_Out (PM4, ON) tizimi. Kechiktirish (A3) SPK. PIN_Out (PM4, O'chirish) tizimi. Kechikish (A3) davomiyligi = davomiyligi - 1 bosh, DelayMsec (B) davomiyligi = ish vaqti (davomiyligi> 0) SPK. PIN_Out (PM4), ON) tizimi. Delay (A4) SPK. PIN_Out (PM4, O'chirilgan) tizimi. Kechiktirish (A4) davomiyligi = davomiyligi - 1 bosh, DelayMsec (B) pastki pastki PWM. PWM_Res_PP0145 (TIMER_D) IV_16, 0) PWM. S. SER_Put_string ("Bu sinov") IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (WAIT, ADC_MODE_8ONCE) // IR2. ADC_Read (PAD03, IR2Result) S. SER_Put_decimal (IR2Result, hyper -theSPERUP_SPACE) terminal S. SER_Put_char ('\ n') // S. SER_Put_char ('\ r') giper terminalida yangi satr yarating, agar ((IR1Result == 25) yoki (IR1Result> 25)) stop () playsound () wait5 () WLED1. PIN_Out (PM2, ON) WLED2. PIN_Out (PM3, ON) goback () wait5 () if ((IR2Result == 25) yoki (IR2Result> 25)) stop () playsound () wait5 () burilish () wait3 () goahead () end turnright () wait3 () else goahead () if if if ((IR2Result == 25) or (IR2Result> 25)) WLED1. PIN_Out (PM2, ON) WLED2. PIN_Out (PM3), ON) stop () wait5 () turnright () wait3 () WLED1. PIN_Out (PM2, OFF) WLED2. PIN_Out (PM3, OFF) goahead () wait3 () other goahead () end while end end m ain

11 -qadam: kompilyatsiya qiling va robotingizga yuklang

Robotingizga batareyalarni qo'yganingizga ishonch hosil qiling va uni yoqing, siz SSMI yonib turgan yashil LEDni ko'rishingiz kerak, Nanocore12DX modulida kichik kalit bor, uning yuk holatida ekanligiga ishonch hosil qiling. Nqbasic -ga o'ting va Qurish va yuklashni tanlang. Bu sizning kodingizni tuzadi va uni robotga yuklaydi. Robotingizdan ketma -ket kabelni uzing va NanoCore12DX modulida yukni ishga tushirish holatiga o'tkazing. Robotingizni tekis yuzaga qo'ying va SSMI -da reset tugmasini bosing. Agar sizda bu qadamlar bilan bog'liq muammolar bo'lsa, nqBASIC forumiga yozishdan tortinmang. Men u erda bo'laman va sizning barcha savollaringizga javob beraman.

Tavsiya: