İçindekiler:

RC Arabadan Havalı Robot Nasıl Yapılır: 11 Adım
RC Arabadan Havalı Robot Nasıl Yapılır: 11 Adım

Video: RC Arabadan Havalı Robot Nasıl Yapılır: 11 Adım

Video: RC Arabadan Havalı Robot Nasıl Yapılır: 11 Adım
Video: Arka sırada araba kullanmak 2024, Kasım
Anonim
RC Arabadan Havalı Bir Robot Nasıl Yapılır?
RC Arabadan Havalı Bir Robot Nasıl Yapılır?

Bu harika proje lise öğrencileri veya harika bir robot yapmak isteyen herhangi bir hobi için. Uzun zamandır etkileşimli bir robot yapmaya çalışıyordum ama herhangi bir elektronik veya özel programlama dili bilmiyorsanız bir tane yapmak kolay değil. Artık kendi robotunuzu yapmak için tamamen ücretsiz olan nqBASIC adında bir programlama dili var.

Adım 1: Neye İhtiyacınız Var?

Neye ihtiyacın var?
Neye ihtiyacın var?
Neye ihtiyacın var?
Neye ihtiyacın var?
Neye ihtiyacın var?
Neye ihtiyacın var?
Neye ihtiyacın var?
Neye ihtiyacın var?

Bu harika proje için bazı parçalara ihtiyacınız olacak.1) Gidin ve içinde iki DC motor bulunan bir RC araba bulun. 12$'a Thunder tumbler adında çok ucuz bir araba buldum. Resim aşağıda.2) SSMI adında bir Servo Sensör kontrol kartına ihtiyacınız olacak. İşte onu elde etmek için bağlantı https://www.technologicalarts.ca/catalog/product_info.php?currency=USD&products_id=2763) Bu anakart için NanoCore12DXhttps://www.technologicalarts.ca/catalog/ adlı bir mikro denetleyiciye ihtiyacınız olacak. product_info.php?cPath=50_36_92&products_id=4294) Robotunuzu interaktif hale getirmek istiyorsanız iki sensöre ihtiyacınız varhttps://www.technologicalarts.ca/catalog/product_info.php?cPath=25_147&products_id=1885) Bilgisayarınızı bağlamak için seri kablo robotunuzu programlamak için.https://www.technologicalarts.ca/catalog/product_info.php?cPath=26&products_id=386) Bu ürün için geliştirilmiş harika bir robot diline nqBASIC denir. https://www.nqbasic.com adresine gidin ve ücretsiz indirin. Ayrıca forumlarından da soru sorabilirsiniz.7) 4 adet AA pil (alkalin veya şarj edilebilir)

2. Adım: RC Arabayı Parçalayın

RC Arabayı Ayırın
RC Arabayı Ayırın

1) Tüm elektronikleri çıkardım. Sadece pili bırakarak RC arabanın içindeki kontrol ünitesinden kabloları kesin, çünkü SSMI'ye (NanoCore12DX için Servo/Sensör/Motor Arayüz Kartı) güç vermek doğruydu.

Adım 3: Ekli DC Kabloları ve Akü Kabloları

Ekli DC Kabloları ve Akü Kabloları
Ekli DC Kabloları ve Akü Kabloları

R/C arabanın iki DC motorunda zaten kablolar vardı, bu yüzden onları SSMI'mdaki tak-çıkar konektörlere (SSMI kartıyla birlikte gelir) bağladım. Aynı işlemi akü kablosu için de yaptım.

Adım 4: LED Kabloları

LED Kablolar
LED Kablolar
LED Kablolar
LED Kablolar
LED Kablolar
LED Kablolar
LED Kablolar
LED Kablolar

4 kablo kaldı. İnce olanlardır. Bunlar tekerleklerden gelen kablolardır. Bu RC arabanın arka tekerleklerinin içinde LED'ler var. Her tekerlekten iki kablo gelir. Robotunuz bu LED'lerle güzel olabilir. Robotu daha eğlenceli hale getirmek için bu LED'leri kullanmaya karar verdim. Bu kabloları resimden görebilirsiniz. SSMI kartını monte etmek için güzel bir düz yüzey oluşturmak için arabanın arkasından gelen siyah bir plastik parçayı arabanın önüne monte ettim. Üzerine SSMI takmak için cırt cırt kullandım. İsterseniz çift taraflı bant ve biraz da bağcık kullanabilirsiniz. Daha sonra LED kabloları arabanın ön kısmındaki deliklerden geçirdim. SSMI'yi araca monte ettim. Ardından DC motorları ve akü fişlerini yerlerine taktım.

Adım 5: LED Kablolarını SSMI Kartına Bağlayın

LED Kablolarını SSMI Kartına Bağlayın
LED Kablolarını SSMI Kartına Bağlayın
LED Kablolarını SSMI Kartına Bağlayın
LED Kablolarını SSMI Kartına Bağlayın
LED Kablolarını SSMI Kartına Bağlayın
LED Kablolarını SSMI Kartına Bağlayın

Ardından LED kablolarını doğru yerlere takın. Hangi konektörleri kullanabileceğinizi SSMI kartı kılavuzundan öğrenmeniz gerekir. Devam edin ve onları benim yaptığım yerlere takın. Daha sonra isterseniz bu kabloları farklı yerlere takmayı öğrenebilirsiniz. Resimlere bakınız.

Adım 6: Sensörleri Bağlayın

Sensörleri Bağlayın
Sensörleri Bağlayın
Sensörleri Bağlayın
Sensörleri Bağlayın
Sensörleri Bağlayın
Sensörleri Bağlayın
Sensörleri Bağlayın
Sensörleri Bağlayın

Sensör kablolarını doğru yerlere bağlayın.

7. Adım: Robotunuz Yuvarlanmaya Hazır

Robotunuz Yuvarlanmaya Hazır
Robotunuz Yuvarlanmaya Hazır

Robot donanımınız hazır. Şimdi onu programlamanız gerekiyor.

Adım 8: Yazılımı Kurun

Yazılımı Yükleyin
Yazılımı Yükleyin

www.nqbasic.com adresine gidin ve yazılımı web sitesinden indirin. Tüm talimatlar web sitesinde-- bilgisayarınızı nasıl kuracağınız ve buna hazır hale getireceğiniz. Yazılımın nasıl ücretsiz kaydedileceğini gösteren harika bir YouTube videosu da var. Bu programlama dili tamamen ücretsizdir. Kayıt olmaktan çekinmeyin. Aksi takdirde kodunuzu derleyemezsiniz.

Adım 9: Programlamaya Hazır

Programa Hazır
Programa Hazır

Seri kablonuzu bilgisayarınızın seri portundan SSMI seri portuna bağlayın.1) nqBASIC'i başlatın ve proje ve yeni projeyi seçin2) projenize bir isim verin ve kaydedin.3) Hangi nanocore modülünü kullandığınızı soracak, NanoCore12DX'i seçin listeden. Bu, SSMI ile çalışan tek modüldür.4) Dosya/Yeni dosya'yı seçin. Bu dosyayı projenize eklemek isteyip istemediğinizi soracaktır. Evet deyin.5) Dosya için bir ad verin ve Kaydet'e tıklayın.

Adım 10: Kaynak Kodu Kopyalayıp Yapıştırın

/* Buradan metnin sonuna kopyalayın DIP32 (8mHz) için örnek*/dim M00 yeni pwm(PP0)dim M01 olarak yeni pwm(PP1)dim M11 yeni pwm(PP2)dim M10 yeni pwm(PP3) olarak IR1'i yeni ADC(PAD05) olarak karart // Sharp Sensör (Ön) için ADC nesnesi karart IR1Sonuç yeni bayt olarak IR2 (PAD03) // Sharp Sensör için ADC nesnesi (Geri) karart IR2Sonuç yeni bayt olarak myChar yeni bayt olarak / /Alınan karakterleri yeni SCI(PS0, PS1) olarak saklayan değişken //SCI nesnesi SPK yeni DIO(PM4) olarak // SSIMconst üzerinde Speaker'ı kullanma ontime = 20dim süre yeni wordConst A2 = 2273 // Müzik notalarıConst A3 = 1136 // Müzik notalarıConst A4 = 568 // Robot WLED1'i yeni DIO(PM2) olarak bir şey kararttığında ses çıkaracak müzik notaları //Tekerleklerdeki LED'ler WLED2'yi yeni DIO(PM3) olarak karartıyor //Tekerleklerdeki LED'ler döngüyü yeni baytConst olarak karartıyor KAPALI = 0Const ON = 1Const FOREVER = 1Const A = 200Const B = 10Const DEL_1MSEC = 1000sub DelayMsec (bayt milisaniye olarak) while (milisaniye > 0) System. Delay (DEL_1MSEC) // 1000 mikrosaniyeyi 1 milisaniye milisaniye yapmak için geciktir onds = milisaniye - 1 end whileend subsub stop() // motorları durdurmak için M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250)end subsub goback() // robot geri dönecek 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) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnright() // robotu sağa çevirin M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnleft() // robotu sola M00 çevirin. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK), alt, 0 () // robotu ilerletin M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) //sol dc M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) //sağ dcend subsub wait3() // kendi gecikmelerim DelayMsec(A) DelayMsec(A)) DelayMsec(A)end subsub wait4() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A)end subsub wait5() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A))end subsub wait10() //uzun gecikme döngüsü = 1 while(loop < 11) DelayMsec(A) loop =loop + 1 end whileend subsub playound() // notaları çalmak için süre = ontime while(süre > 0) SPK. PIN_Out(PM4, ON) system. Delay(A2) SPK. PIN_Out(PM4, Off) system. Delay(A2) süresi = süre - 1 bitiş ise DelayMsec(B) süresi = ontime while(süre > 0) SPK. PIN_Out (PM4, ON) sistemi. Delay(A3) SPK. PIN_Out(PM4, Off) sistemi. Delay(A3) süresi = süre - 1 bitiş iken GecikmeMsec(B) süresi = ontime while(süre > 0) SPK. PIN_Out(PM4), ON) system. Delay(A4) SPK. PIN_Out(PM4, Off) system. Delay(A4) süresi = süre - 1 bitiş ise DelayMsec(B) alt ana PWM. PWM_Res_PP0145 (TIMER_D) IV_16, 0) PWM. PWM_Res_PP23 (TIMER_DIV_16, 0) S. SER_Setup(SER_BUFFER_4, BAUD9600) //SCI'yi kurun ve 4 karakterin arabelleğe alınmasına izin verin System. INTS_On () //KESİNTİLERİ AÇIN! S. SER_Put_string("Bu bir testtir ") S. SER_Put_char ('\n') S. SER_Put_char ('\r') while (SONSUZ) IR1. ADC_Start (BEKLE, ADC_MODE_8ONCE) // Ön keskin sensörden değeri oku IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (WAIT, ADC_MODE_8ONCE) // Arka keskin sensörden değeri oku IR2. ADC_Read (PAD03, IR2Result) S. SER_Put_decimal(IR2Result, FILLUP_SPACE) // değeri hiper pencerelere gönder terminal S. SER_Put_char ('\n') // S. SER_Put_char ('\r') hiper terminalinde yeni bir satır oluştur if ((IR1Result == 25) veya (IR1Result > 25)) stop() playsound() wait5() WLED1. PIN_Out(PM2, ON) WLED2. PIN_Out(PM3, ON) goback() wait5() if ((IR2Result == 25) veya (IR2Result > 25)) stop() playsound() wait5() dönüş sol () wait3() goahead() end if turnright() wait3() else goahead() end if if ((IR2Result == 25) veya (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() başka goahead() biter ise biter m değil

Adım 11: Derleyin ve Robotunuza Yükleyin

Robotunuza pilleri takıp çalıştırdığınızdan emin olun. SSMI üzerinde yeşil Power LED'in yandığını görmelisiniz. Nanocore12DX modülünde küçük bir anahtar var, yük konumunda olduğundan emin olun. SSMI üzerindeki sıfırlama anahtarına basın. nqbasic'e gidin ve Oluştur ve yükle'yi seçin. Kodunuzu derleyip robotunuza yükleyecektir. Seri kabloyu robotunuzdan çıkarın ve anahtarı NanoCore12DX modülünde yükten çalışma konumuna değiştirin. Robotunuzu düz bir yüzeye koyun ve SSMI üzerindeki reset düğmesine basın. Tebrikler! Bu adımlarla ilgili herhangi bir sorununuz varsa, lütfen nqBASIC forumuna yazmaktan çekinmeyin. Orada olacağım ve tüm sorularınızı cevaplayacağım. İyi eğlenceler!

Önerilen: