Evde 3D Yazıcı ile Tank Yapmak ( RC + NodeMCU )
Merhaba, bu yazımızda evde Rc tank yapımı ve programlamasına değineceğiz. Bütün parça devre şeması ve yazılımını sizlerle paylaşacağım.
Rc yi radyo kontrolü olarak Türkçeye çevirebiliriz. RC (Radio Control ), bir cihazı radyo frekansı ile uzaktan kontrol etmek için kullanılır. TV’lerimizde kullandığımız uzaktan kumanda ile de kontrol edebiliriz. Fakat mesafe uzak olmaz. Hem de kumanda ve cihaz sürekli birbirini görmek zorunda kalır. Özellikle hobi devrelerinde sıkça tercih kullanılırlar. RC tank, RC araç, RC tekne ve RC drone örnek olarak gösterilebilir.
Bu projemizde tankımız yaklaşık 25Km hız ve 2-3 Km (Açık alanda) kapsama alanı içerisinde kontrol edebiliriz. Kamera bağlantısı yapılarak tankımızı görmesek de görüntü ile yönlendirmemiz mümkündür.
Bir oyuncaktan çok bir keşif robotu yada üzerine bağlanacak değişik eklentiler sayesinde istenilen özellikler eklenebilir.
3D Çizim Aşamaları
Devre Şeması
Projede kullanılan 2 servo motor Turret kontrolü içindir. Biri namlu yukarı aşağı diğeri ise namlunun sağa sola dönüşü içindir.
Proje Yazılımı
[pastacode lang=”cpp” manual=”%2F*%20Receiver%202%20ve%204*%2F%0A%23define%20Ch_Sag_Motor%2014%20%2F%2FD5%0A%23define%20Ch_Sol_Motor%2012%20%2F%2FD6%0Aint%20ch2%3D0%3B%0Aint%20ch4%3D0%3B%0A%0A%2F%2FSol%20Motor%0A%23define%20Sol_LPWM%20%2016%20%2F%2Flpwm%20D0%0A%23define%20Sol_RPWM%20%205%20%2F%2Frpwm%20D1%0A%23define%20Sol_PWM%20%20%204%20%2F%2Fpwm%20enable%20D7%0A%0A%2F%2FSag%20Motor%0A%23define%20Sag_LPWM%20%200%20%2F%2Flpwm%20D3%0A%23define%20Sag_RPWM%20%202%20%2F%2Frpwm%20D4%0A%23define%20Sag_PWM%20%20%2013%20%2F%2Fpwm%20enable%20D2%0A%0Avoid%20setup()%0A%7B%0A%20%20pinMode(Sol_LPWM%2C%20OUTPUT)%3B%0A%20%20pinMode(Sol_RPWM%2C%20OUTPUT)%3B%0A%20%20pinMode(Sol_PWM%2C%20OUTPUT)%3B%0A%0A%20%20pinMode(Sag_LPWM%2C%20OUTPUT)%3B%0A%20%20pinMode(Sag_RPWM%2C%20OUTPUT)%3B%0A%20%20pinMode(Sag_PWM%2C%20OUTPUT)%3B%0A%20%20%0A%20%20pinMode(Ch_Sag_Motor%2CINPUT)%3B%0A%20%20pinMode(Ch_Sol_Motor%2CINPUT)%3B%0A%20%20Serial.begin(9600)%3B%20%2F%2F9600%20Baund%20bir%20seri%20haberle%C5%9Fme%20ba%C5%9Flat%C4%B1yoruz%0A%7D%0A%0Avoid%20loop()%0A%7B%0A%20%20ch2%3D%20pulseIn(Ch_Sag_Motor%2CHIGH%2C50000)%3B%0A%20%20ch4%3D%20pulseIn(Ch_Sol_Motor%2CHIGH%2C50000)%3B%0A%0A%20%20switch(ch4)%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201858%20…%202100%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sol%20Motor%20-%20%C4%B0leri%20-%20H%C4%B1zl%C4%B1%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch4)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sol_PWM%2C%20650)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Sol_Motor_Ileri%20()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201730%20…%201857%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sol%20Motor%20-%20%C4%B0leri%20-%20Orta%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch4)%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sol_PWM%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Sol_Motor_Ileri%20()%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201601%20…%201729%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sol%20Motor%20-%20%C4%B0leri%20-%20Yavas%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch4)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sol_PWM%2C%20400)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Sol_Motor_Ileri%20()%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201391%20…%201600%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22%22)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sol_PWM%2C%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Sol_Motor_Dur%20()%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201266%20…%201390%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sol%20Motor%20-%20Geri%20-%20Yavas%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch4)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sol_PWM%2C%20400)%3B%20%2F%2F0-255%0A%20%20%20%20%20%20%20%20%20%20%20%20Sol_Motor_Geri()%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201143%20…%201265%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sol%20Motor%20-%20Geri%20-%20Orta%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch4)%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sol_PWM%2C%20500)%3B%20%2F%2F0-255%0A%20%20%20%20%20%20%20%20%20%20%20%20Sol_Motor_Geri()%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%20900%20…%201142%3A%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sol%20Motor%20-%20Geri%20-%20H%C4%B1zl%C4%B1%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch4)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sol_PWM%2C%20650)%3B%20%2F%2F0-255%0A%20%20%20%20%20%20%20%20%20%20%20%20Sol_Motor_Geri()%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20printf(%22%22)%3Bbreak%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0Aswitch(ch2)%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201858%20…%202100%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22%5Ct%5Ct%5Ct%5Ct%5Ct%22)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sag%20Motor%20-%20%C4%B0leri%20-%20H%C4%B1zl%C4%B1%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch2)%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sag_PWM%2C%20650)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Sag_Motor_Ileri%20()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201730%20…%201857%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22%5Ct%5Ct%5Ct%5Ct%5Ct%22)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sag%20Motor%20-%20%C4%B0leri%20-%20Orta%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch2)%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sag_PWM%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Sag_Motor_Ileri%20()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201601%20…%201729%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22%5Ct%5Ct%5Ct%5Ct%5Ct%22)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sag%20Motor%20-%20%C4%B0leri%20-%20Yavas%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch2)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sag_PWM%2C%20400)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Sag_Motor_Ileri%20()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201391%20…%201600%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22%22)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sag_PWM%2C%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Sag_Motor_Dur%20()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201266%20…%201390%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22%5Ct%5Ct%5Ct%5Ct%5Ct%22)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sag%20Motor%20-%20Geri%20-%20Yavas%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch2)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sag_PWM%2C%20400)%3B%20%2F%2F0-255%0A%20%20%20%20%20%20%20%20%20%20%20%20Sag_Motor_Geri()%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%201143%20…%201265%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22%5Ct%5Ct%5Ct%5Ct%5Ct%22)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sag%20Motor%20-%20Geri%20-%20Orta%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch2)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sag_PWM%2C%20500)%3B%20%2F%2F0-255%0A%20%20%20%20%20%20%20%20%20%20%20%20Sag_Motor_Geri()%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20case%20900%20…%201142%3A%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22%5Ct%5Ct%5Ct%5Ct%5Ct%22)%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.print(%22Sag%20Motor%20-%20Geri%20-%20H%C4%B1zl%C4%B1%3A%20%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Serial.println(ch2)%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20analogWrite(Sag_PWM%2C%20650)%3B%20%2F%2F0-255%0A%20%20%20%20%20%20%20%20%20%20%20%20Sag_Motor_Geri()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20printf(%22%22)%3Bbreak%3B%0A%20%20%20%20%20%20%20%20%7D%20%20%0A%7D%0A%0Avoid%20%20Sol_Motor_Ileri%20()%0A%7B%0AdigitalWrite(Sol_LPWM%2C%20HIGH)%3B%0AdigitalWrite(Sol_RPWM%2C%20LOW)%3B%0A%7D%0A%0Avoid%20Sol_Motor_Dur%20()%0A%7B%0A%20%20digitalWrite(Sol_LPWM%2C%20LOW)%3B%0A%20%20digitalWrite(Sol_RPWM%2C%20LOW)%3B%0A%7D%0Avoid%20Sol_Motor_Geri()%0A%7B%0AdigitalWrite(Sol_LPWM%2C%20LOW)%3B%0AdigitalWrite(Sol_RPWM%2C%20HIGH)%3B%0A%7D%0A%0A%2F%2F%2F%0Avoid%20%20Sag_Motor_Ileri%20()%0A%7B%0AdigitalWrite(Sag_LPWM%2C%20HIGH)%3B%0AdigitalWrite(Sag_RPWM%2C%20LOW)%3B%0A%7D%0A%0Avoid%20Sag_Motor_Dur%20()%0A%7B%0A%20%20digitalWrite(Sag_LPWM%2C%20LOW)%3B%0A%20%20digitalWrite(Sag_RPWM%2C%20LOW)%3B%0A%7D%0Avoid%20Sag_Motor_Geri()%0A%7B%0AdigitalWrite(Sag_LPWM%2C%20LOW)%3B%0AdigitalWrite(Sag_RPWM%2C%20HIGH)%3B%0A%7D” message=”” highlight=”” provider=”manual”/]
Malzemeler
Kumanda:
Flysky i6 X1
Kumanda Ayarlaması için tıklayınız.
Reciever:
FlySky FS-iA6 Receiver 6CH 2.4G
Motorlar:
55T Motor x2
Servo Motor x2
Motor Sürücü:
20 Amper Motor Sürücü Kartı BTS7960B x2
Rulman:
8x22x7mm 608 12x
4x13x5mm 624 12x
Vidalar:
M4x15mm 8x
M4x60mm 12x
M3x20mm 4x
M3x10mm 4x
M3x45mm 84x
Somun:
M4 20x
M3 88x
Proje Dosyaları için tıklayınız.