Adem KIRMIZIYÜZ Adem KIRMIZIYÜZ

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.

Paylaş :

Diğer Yazılar

Bir yanıt yazın