RC Uçak Şekilleri G-Code
Arduino Planör Strafor Kesimi için G Kodu Uçak Parçaları İNDİR
[gallery link="none" columns="1" size="full" ids="8681"] Kanat için 30cm genişliğinde kestiğim 10cm paylı strafor kullandım çünkü sıcak tel makinemin kesebileceği maksimum açıklık bu. Tek bir G kodu dosyasına iki kanat profili yerleştirdim ve kestim. [gallery link="none" columns="1" size="full" ids="8682"] 80 cm kanat açıklığını elde etmek için 3 adet 27 cm parçayı yapıştırdım ve düzleştirmek için parçaların uçlarını elle dik olacak şekilde kestim.
RC Planör Uçağın Montajı
İşte CNC makinesiyle kestiğim tüm strafor parçaları burada. Ön için 3 parça, arka için 3 parça ve kanat için 3 parça. Şimdi onları birleştirmeye başlayabilirim. [gallery link="none" columns="1" size="full" ids="8683"] Ön kısımdan başlayacağım. Parçaları yapıştırmak için sıcak silikon tabancası kullanıyorum. Sıcak silikon straforu biraz eritiyor ama yine de bu yöntemi kullanarak yapıştırdım. [gallery link="none" columns="1" size="full" ids="8684"] Strafor yapıştırmanın bir başka yolu japon yapıştırıcısı olabilir. Diğer tarafı yapıştırmadan önce, motorun tutucusunu yapacağım. Bunun için oldukça hafif 30 mm genişliğinde alüminyum profil kullanıyorum. Profili yaklaşık 18 cm kestim, motoru monte etmek için delikler işaretledim ve 3mm matkap ucu kullanarak deldim. Sonra profili 90 derecede büktüm. Motoru M3 cıvata kullanarak tutucuya sabitledim. [gallery link="none" columns="1" size="full" ids="8685"] Straforun ön kısmından bir delik açtım. Daha sonra, bir maket bıçağı kullanarak, motor çapıyla aynı çapta 30 mm çapa kadar genişlettim. Sonra, motor tutucusunun diğer tarafında tutucuyu yerine sabitlemek ve iniş takımını takmak için 4 delik açtım. Bu deliklerin gövde üzerindeki yerini işaretledim ve 4 mm'lik bir matkap ucu kullanarak strafordan elle delikler açtım. Aynı deliklerle yaklaşık 7 cm uzunluğunda başka bir alüminyum parça yaptım ve şimdi motor tutucuyu sabitlemek için kullanabilirim. [gallery columns="1" link="none" size="full" ids="8686"] M4 cıvataları kullanarak straforlara zarar vermeden motor tutucuyu kolayca sabitleyebiliriz. Ancak bunu daha sonra yapacağım, bu yüzden onları kaldırdım ve diğer tarafı yapıştırmaya devam ettim. Aynı yöntemi kullanarak arka parçaları da yapıştırdım. Bir sonraki adım gövdenin ön ve arka kısmını bağlamaktır. Bağlantıyı daha güçlü hale getirmek için, aralarına basit ahşap çubuklar ekleyeceğim. [gallery link="none" columns="1" size="full" ids="8687"] Büyük çubuklar kullanmanızı öneririm çünkü uçak düştüğünde kolayca kırılabilir yapıdadır. Bağlantı bölgesine bol miktarda sıcak silikon ekledim ve onları sıktım. Artık gövde hazır ve bence oldukça havalı görünüyor. [gallery link="none" columns="1" size="full" ids="8688"] Sonra, bir maket bıçağı kullanarak, yatay ve dikey stabilizatörler olacak iki adet 10 mm strafor kesiyorum. Kenarları eğdim, böylece daha iyi görünüyorlar ve biraz daha aerodinamik oluyorlar. Stabilizatörler doğrudan gövdenin arka tarafına yapıştırılacaktır, ancak bunu yapmadan önce kontrolör yüzeylerini yapacağım. [gallery link="none" columns="1" size="full" ids="8689"] Bu amaçla, uzunluklarının 1 / 3'ünü kestim ve bu hamle onları kontrol yüzeyi veya yatay dengeleyici için asansör ve dikey dengeleyici için dümen olacak şekilde ayarlamış oluyor. Kontrol yüzeylerini stabilizatörlere menteşe olarak ayarlayabilmek için temas yüzeylerini eğmek zorunda kaldım. Maket bıçağı kullanarak yaptım ve bu kesimleri temizlemek için oldukça keskin bir bıçak lazım. Stabilizatörleri biraz daha aerodinamik hale getirmeye devam ettim. Bu amaçla bir zımpara kağıdı kullandım ve ön kenarlarını yuvarladım. Ayrıca arka kenarları biraz zımparaladım. [gallery link="none" columns="1" size="full" ids="8690"] Strafor oldukça kırılgan olduğundan, stabilizatörlerin ve kontrol yüzeylerinin tüm alanını basit bir ambalaj bandı ile sardım. Bu sadece parçaları daha güçlü hale getirmekle kalmayacak, aynı zamanda aerodinamiği de artıracaktır, çünkü bant Strafor'un kendisinden çok daha pürüzsüzdür. [gallery link="none" columns="1" size="full" ids="8691"] Sardıktan sonra, oynar parçanın serbestçe hareket edebilmesi için dümenin alt kısmını 45 derece kestim. [gallery link="none" columns="1" size="full" ids="8692"] Artık bağlantı noktalarını yapabilirim ve bunu tekrar ambalaj bandını kullanarak yapıyorum. Böylece, iki parçayı bantla birleştirdim ve bu oldukça güçlü bir menteşe görevi görüyor. [gallery link="none" columns="1" size="full" ids="8693"] Bu işlemi yatay stabilizatör için de tekrarladım. Bağlantı noktalarını daha da güçlü hale getirmek için diğer tarafa da bant ekleyebiliriz. Aynı bandı kullanarak kenarları sardım ve iki dengeleyici yaptım. [gallery link="none" columns="1" size="full" ids="8694"] Sıcak silikon kullanarak yatay dengeleyiciyi gövdeye yapıştırarak ilerledim. Dikey dengeleyiciyi sabitlemek için, önce yatay dengeleyici ve gövdeye 3 ahşap çubuğu yerleştirip yapıştırdım. Sonra onlara ve temas yüzeyine sıcak silikon koydum ve sabitleyiciyi sıkıca aşağı ittim. [gallery link="none" columns="1" size="full" ids="8695"] Bununla stabilizatörlerle işimiz bitti ve kanadı yapmaya devam edebiliriz. Dediğim gibi, CNC köpük kesme makinemin sınırlı çalışma alanı nedeniyle kanat 3 parçadan oluşacak. Yine, parçaları yapıştırırken ek güçler sağlamak için ahşap çubukları kullanıyorum. Onları tam olarak sıraya bağlamak için, parçaları kaydırabileceğim düz bir ahşap masa yüzeyi kullanıyorum. [gallery link="none" columns="1" size="full" ids="8696"] Bunu yaptıktan sonra, kanat uzun olduğu için oldukça kırılgandır. Bu nedenle, tahta bir çubuk ekleyerek onu güçlendireceğim. Çubuğu boyuta ayarladım ve bir ahşap yuva oyuğu yapmam gereken kanadı işaretledim, böylece çubuk için maket bıçağı ile kanada oyuk yaptım. Üzerine biraz sıcak silikon ekledim ve hava akışını çok fazla bozmayacak şekilde yerine sabitledim. [gallery link="none" columns="1" size="full" ids="8697"] Bu şekli ile kanat çok daha güçlü. Daha güçlü olmasına rağmen, zemine çarparsa yine de kolayca parçalanacaktır, bu yüzden hepsini stabilizatörlerle yaptığım gibi ambalaj bandı ile saracağım. Bandı, arka taraftan veya kanadın arka kenarından, ön tarafa veya ön kenara eklemeye başladım. [gallery link="none" columns="1" size="full" ids="8698"] Bu şekilde önden gelen hava, bandı sökmeye meyilli olmaz. Bu işlem oldukça kolay görünse de, yeterince sabırlı değilseniz biraz sinir bozucu olabilir. Bence kanat mükemmel oldu. Şimdi çok daha güçlü, daha aerodinamik ve oldukça iyi görünüyor. Pekala, bir sonraki adım kanatların veya kanatçıkların kontrol yüzeylerini yapmak. Onları 22 cm genişliğinde ve kanat akorunun yaklaşık 1 / 4'ünü oluşturacak şekilde yapacağım. Serbestçe hareket edebilmesi için yarım santimetre gibi bir boşlukla kestim. [gallery link="none" columns="1" size="full" ids="8699"] Sonra, kanatçığın alt kısmına 45 derecede eğim verdim ve daha önce gösterildiği gibi kanala menteşe yapabilirim. Gövde üzerine oturtmak ve kanadı gövdeye kolayca bağlayabilmek için kanadın ortasında bir girinti daha yapmak zorunda kaldım. [gallery link="none" columns="1" size="full" ids="8700"] Daha sonra, kanatçıkları kontrol etmek için servo motorları kurma zamanı.
9g mikro servo sg90 kullanıyorum. Yerleştirilecekleri yeri işaretledim ve maket bıçağı kullanarak, servoyu sığdırmak için kanatta dikkatlice bir delik açtım. Bu arada, şekli daha basit olacak şekilde servo montaj braketlerini çıkardım. Servoya biraz silikon sıktım ve açıklığa yerleştirdim. [gallery link="none" columns="1" size="full" ids="8701"] Maket bıçağını kullanarak, servodan kanadın ortasına küçük bir oluk yaptım, böylece servo kablolarını içine sığdırabildim. Sonunda her şeyi bir parça bantla kapattım. Aynı işlemi diğer taraf için de tekrarladım. Kontrol boynuzlarını yapmaya devam ettim. Onları daha önce motor tutucusunu yapmak için kullandığım alüminyum profilden çıkaracağım. Servo motor boynuz yüksekliğine uydurmak ve menteşe noktasının üzerine asmak için şekli elle çiziyorum. Bir demir testeresi kullanarak şekli kestim. [gallery link="none" columns="1" size="full" ids="8702"] Kontrol çubuğu olarak 2mm çelik tel kullanacağım, böylece 2.5mm matkap ucu kullanarak boynuzda bir açıklık yaptım. Kanatçıkta küçük bir oluk açtım ve parçayı yerine yapıştırdım. Sonra kontrol çubuğunun ne kadar olması gerektiğini ölçtüm ve pense yardımıyla 2mm çelik telden yaptım. Kontrol çubuklarını ölçerken ve yerleştirirken, servo motorların
0 konumunda olması gerektiğine dikkat etmeliyiz. [gallery link="none" columns="1" size="full" ids="8703"] Bunu manuel olarak hareket aralığının ortasına yerleştirerek veya bir servo test cihazına bağlayarak veya bir Arduino ile yapabiliriz. Diğer taraf için işlemi tekrarladım ve bununla kanat tamamen tamamlandı. Sonra, dümeni ve asansörü kontrol etmek için servolar kurmam gerekiyor. Burada aynı 9g mikro servoları kullanıyorum ve bunları kurma işlemi aslında az önce açıkladığımla aynı. İlk olarak, konumu işaretledim, bir maket bıçağı kullanarak açıklığı yaptım ve iki motoru yerine yapıştırdım. Burada, yan yana ama çıkış milleri karşı tarafta. [gallery link="none" columns="1" size="full" ids="8704"] Yine, servo kablolarını elektronik bölmeye iletmek için gövdede küçük bir oluk yaptım. Servoları bir parça bantla kapattım ve servo boynuzları için açıklıklar yaptım. Daha önce gösterildiği gibi kontrol boynuzlarını yaptım ve bir tutkal tabancası kullanarak yerine yapıştırdım. Son olarak, uygun kontrol çubuğunu yaptım ve uygun şekilde monte ettim. [gallery link="none" columns="1" size="full" ids="8705"] Şimdi, sonra kanadı gövdeye tutturmaya yarayacak iki adet 8mm ahşap çubuk takacağım. Delikleri 6 mm'lik bir matkap ucu kullanarak elle yaptım. Çubuklar her iki tarafta yaklaşık 1 cm üzerine asılmalıdır. Onları da sıcak tutkalla gövdeye tutturdum. [gallery link="none" columns="1" size="full" ids="8706"] Kanadı gövdeye sabitlemek için lastik bantlar kullanıyoruz. Bu şekilde kanat kolayca çıkarılabilir ve ezilme durumunda lastik bantlar kanat üzerindeki etkiyi önemli ölçüde azaltır. Aynı zamanda montaj gücü olarak oldukça güçlüdür. [gallery link="none" columns="1" size="full" ids="8707"] Sonra iniş takımını yapacağım. Bu amaçla, yine, strafordan yapılmış teker ve alüminyum profili ve jantları kullanacağım. Bunları daha önce gösterildiği gibi CNC makinesini kullanarak yaptım. Alüminyum profil üzerinde küçük delikler yaptım, böylece kolayca bükebilirim. [gallery link="none" columns="1" size="full" ids="8708"] Tekerlekleri profile takmak için M5 cıvataları ve 6mm iç çaplı bir alüminyum boru kullanacağım. Tüp, M5 cıvata ve somun kullanılarak brakete sabitlenir ve yanlarda, tekerleğin tüpün etrafında serbestçe dönebilmesi için M5 rondelaları ekledim. Aynı yöntemle uçağın arka tarafı için tekerleği yaptım. İniş takımlarının böyle görünmesi gerekiyor. [gallery link="none" columns="1" size="full" ids="8710"] Tüm parçalar hazır ve onları monte etmeden önce elektronik parçalara bakalım.
Arduino RC Uçak Elektroniği - Devre Şeması
Dediğim gibi, bu RC uçağın beyni, kontrolü tamamen Arduino'ya dayanıyor, hem Verici hem de Alıcı Arduino Pro Mini kartı ile çalışan özel yapım
modüllerdir. [gallery link="none" columns="1" size="full" ids="8711"] Vericinin ve alıcının nasıl oluşturulacağı ve nasıl çalıştığı hakkında ayrıntılı eğitimlere sahibim. Burada, bu Arduino RC uçağının devre şemasını ve çalışma prensibini ve her şeyin nasıl bağlanması gerektiğini açıklayacağım. [gallery link="none" columns="1" size="full" ids="8712"] Radyo iletişimi NRF24L01 modüllerini temel alır. Biraz karmaşık görünmesine rağmen, bu DIY Arduino vericisi aslında oldukça basittir. Birkaç kontrolörü, joystickleri, potansiyometreleri ve bazı düğmeleri vardır ve verilerini sürekli olarak alıcıya gönderir. Alıcı bu verileri NRF24L01 modülü aracılığıyla kablosuz olarak kabul eder ve uçağı kontrol etmek için servolara ve fırçasız motora uygun komutlar verir. Arduino ile servoları kontrol etmek de oldukça basittir. Bu projede kullandığım fırçasız motor 1000KV dir ve 30A ESC gerektiriyor. ESC, motoru çalıştırır ve ayrıca 5V çıkışlı Pil Eliminator Devresi özelliği ile Arduino ve servolara güç sağlar. ESC'ye ve fırçasız motora giden güç 3S Li-Po pilden geliyor. Bu uçağa bir özellik daha ekledim ve bu, pilin boş olup olmadığını gösteren basit bir LED. Basit bir voltaj düşürücü kullanarak, Li-Po pilden gelen 12V'yi 5V civarına düşürüyoruz, böylece Arduino analog girişi ile okuyabiliriz ve böylece pilin ne zaman 11V altına düşeceğini biliriz. Alıcının hala birkaç boşta kalan pini var, bu yüzden flaş ışıkları, kanatlar, düşürme mekanizmaları ve benzeri gibi bu uçağa daha fazla özellik ekleyebiliriz.
Montajın Tamamlanması
Artık montajı bitirelim. Her şeyi devre şemasında açıklandığı gibi bağladım. Kanal 1'de dümen, kanal 2 asansör(aşağı-yukarı), kanal 3 ve 4 kanatçıklar ve kanal 6'da LED mevcut. [gallery link="none" columns="1" size="full" ids="8713"] Burada, motor tutucusundaki iki cıvatayı kullanarak iniş takımının uçağa nasıl bağlandığını not edebiliriz. Birkaç kelimeyle, motoru bu üst açıklıktan tutucu ile basitçe yerleştirdim, daha önce gösterildiği gibi yerine vidaladım ve iniş takımını da taktım. Tutucuyu takarken, pili yerinde tutabilmeleri için bazı lastik bantlar da ekledim. [gallery link="none" columns="1" size="full" ids="8715"] Böylece, pili ESC'ye bağladıktan sonra, her şeyi sıktım. Son olarak, uzatma kablolarını kullanarak kanatçıkları alıcıya kolayca bağlayabilir ve daha sonra kanadı gövdeye sabitleyebilirim. [gallery link="none" columns="1" size="full" ids="8716"] Ön tarafta, pervaneyi motora bağladım ve son olarak uçağın ağırlık merkezini kontrol etmek gerekir. [gallery link="none" columns="1" size="full" ids="8717"] Ağırlık merkezi, uçağın iyi uçup uçmayacağı ya da uçup farklı yerlere kontrolsüzce gitmeyeceği gibi en önemli faktörleri kontrol etmemizi ve ayarlamamızı sağlar. [gallery link="none" columns="1" size="full" ids="8718"] Başlangıçta kuyruk ağırdı, bu yüzden pili öne taşıdım ve ağırlığı dengelemek için biraz ağırlık ekledim (cıvatalar ve somunlar gibi) ve dengelendi. [gallery link="none" size="full" columns="1" ids="8719"] Arduino merkezli RC uçağımız artık bitti ve denemek için dışarı çıkabiliyoruz.
Arduino RC Uçağını Test Etme
İlk deneme ya da ilk uçuş çok güzel değildi. Özellikle çarpma sonucunu gördükten sonra :) [gallery link="none" columns="1" size="full" ids="8720"] Buradaki sonucum, uçağın hala çok ağır olduğu ve motorun yeterli güce sahip olmadığı yönünde. Denemek için başka bir motorum veya pervanem olmadığı için, uçağın burnunu biraz daha küçük olacak şekilde değiştirdim, motoru daha öne doğru aldım, böylece daha iyi hava akışı elde edebilirim ve ön taraftaki kenarları yuvarladım. Yapıya gelince, gövdenin iç kısmına yapıştırdığım bazı ahşap çubuklar ve alüminyum profillerle güçlendirdim. [gallery link="none" columns="1" size="full" ids="8721"] Elektronik bölmenin altında, biri ön açıklıktan gelen havanın geçmesi, diğeri de NRF24L01 antenini daha iyi menzile sahip olmak için dışarıya çıkaran iki delik açtım. [gallery link="none" columns="1" size="full" ids="8722"] 2. deneme de gövde tekrar kırıldı, bu da bu Straforun bu amaç için oldukça zayıf olduğunu gösteriyor. Yeni bir gövde yaptım ve bu sefer takviye için biraz koli bandı kullandım. 3. deneme umut vericiydi ama kalkış için arazi aslında hiç iyi değildi. Uçak sağa doğru hareket etmeye başladı, yolun kenarına çarptı ve tekrar kırdı. Tamir ettim ve bu sefer neredeyse tüm gövdeyi kanal ve ambalaj bandı ile sardım. Aslında bunu çok daha önce yapmalıydım. [gallery link="none" columns="1" size="full" ids="8723"] Sorun şu ki, birkaç çarpma sonrasında 4 pervanenin hepsini kırdım, son denemede yapıştırılmış bir pervane kullanıyorum. Zaten kırılmış iki pervaneden yapılmış toplama pervane ile denedim ve bu sefer gerçekten şanslıydım uçak nihayet düzgün bir şekilde kalktı. [gallery link="none" columns="1" size="full" ids="8724"] Ancak pervane havada tekrar patladığında uçuş uzun sürmedi. [gallery link="none" columns="1" size="full" ids="8725"] Bu bir RC uçağı uçurma konusundaki ilk deneyimim olduğundan, sanırım RC uçaklarını kontrol etmek için tamamen Arduino tabanlı bir sistem yapma kavramını kanıtlamayı başardığım için bu projeyi başarılı olarak değerlendirebilirim. Bunun dışında, Uçuş esnasında vericiden gelen kontrollerin aslında çok sert olduğunu belirtebiliriz. Çünkü ucuz joystickler böyle bir kullanım için hiç iyi değil, küçük hareketler gereken noktalarda kötü tepki veriyorlar. [gallery link="none" columns="1" size="full" ids="8726"] Bunu çözmek için, vericideki doğru potansiyometreyi kullanarak kontrollerin yanıt verebilirliğini kontrol edebileceğimiz bir özellik ekledim. Ayrıca, sol potansiyometreyi kullanarak dümeni kırpabileceğimiz bir fonksiyon ekledim.
RC Uçak Arduino Kodu
RC uçağın Arduino koduna bir göz atalım ve bu projeyi tamamlayalım. Kod, NRF24L01 alıcı-verici modüllerini kullanarak servoları ve fırçasız motorları kontrol etmek için önceki öğreticide açıklananla tamamen aynıdır. Arduino RC uçak projesi için tam kod:
/*
Arduino RC Airplane
== Receiver Code =
by Dejan, www.HowToMechatronics.com
Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>
#define led 9
RF24 radio(3, 2); // nRF24L01 (CE, CSN)
const byte address[6] = "00001";
unsigned long lastReceiveTime = 0;
unsigned long currentTime = 0;
Servo throttle; // create servo object to control the ESC
Servo rudderServo;
Servo elevatorServo;
Servo aileron1Servo;
Servo aileron2Servo;
int throttleValue, rudderValue, elevatorValue, aileron1Value, aileron2Value, travelAdjust;
// Max size of this struct is 32 bytes - NRF24L01 buffer limit
struct Data_Package {
byte j1PotX;
byte j1PotY;
byte j1Button;
byte j2PotX;
byte j2PotY;
byte j2Button;
byte pot1;
byte pot2;
byte tSwitch1;
byte tSwitch2;
byte button1;
byte button2;
byte button3;
byte button4;
};
Data_Package data; //Create a variable with the above structure
void setup() {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setAutoAck(false);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_MAX);
radio.startListening(); // Set the module as receiver
resetData();
throttle.attach(10);
rudderServo.attach(4); // CH1
elevatorServo.attach(5); // CH2
aileron1Servo.attach(6); // CH3
aileron2Servo.attach(7); // CH4
pinMode(led, OUTPUT); // CH6
}
void loop() {
// Check whether we keep receving data, or we have a connection between the two modules
currentTime = millis();
if ( currentTime - lastReceiveTime > 1000 ) { // If current time is more then 1 second since we have recived the last data, that means we have lost connection
resetData(); // If connection is lost, reset the data. It prevents unwanted behavior, for example if a drone jas a throttle up, if we lose connection it can keep flying away if we dont reset the function
}
// Check whether there is data to be received
if (radio.available()) {
radio.read(&data, sizeof(Data_Package)); // Read the whole data and store it into the 'data' structure
lastReceiveTime = millis(); // At this moment we have received the data
}
// Controlling throttle - brushless motor with ESC
throttleValue = constrain(data.j1PotY, 80, 255); // Joysticks stays in middle. So we only need values the upper values from 130 to 255
throttleValue = map(throttleValue, 80, 255, 1000, 2000);
throttle.writeMicroseconds(throttleValue);
// Adjusting the servos responsiveness
travelAdjust = map(data.pot2, 0, 255, 0, 25);
// Elevator control
elevatorValue = map(data.j2PotY, 0, 255, (85 - travelAdjust), (35 + travelAdjust));
elevatorServo.write(elevatorValue);
// Ailerons control
aileron1Value = map(data.j2PotX, 0, 255, (10 + travelAdjust), (80 - travelAdjust));
aileron1Servo.write(aileron1Value);
aileron2Servo.write(aileron1Value);
// Rudder trimming function
if (data.j1PotX > 127) {
rudderValue = data.pot1 + (data.j1PotX - 127);
}
if (data.j1PotX < 127) {
rudderValue = data.pot1 - (127 - data.j1PotX);
}
// Rudder control
rudderValue = map(rudderValue, 0, 255, (10 + travelAdjust), (90 - travelAdjust));
rudderServo.write(rudderValue);
// Monitor the battery voltage
int sensorValue = analogRead(A3);
float voltage = sensorValue * (5.00 / 1023.00) * 3; // Convert the reading values from 5v to suitable 12V i
// If voltage is below 11V turn on the LED
if (voltage < 11) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}
void resetData() {
// Reset the values when there is no radio connection - Set initial default values
data.j1PotX = 127;
data.j1PotY = 80; // Motors stops // the central point of the joystick is not starting point for the throttle, its at value of 80 instead of 127
data.j2PotX = 127;
data.j2PotY = 127;
data.j1Button = 1;
data.j2Button = 1;
data.pot1 = 1;
data.pot2 = 1;
data.tSwitch1 = 1;
data.tSwitch2 = 1;
data.button1 = 1;
data.button2 = 1;
data.button3 = 1;
data.button4 = 1;
}
Açıklama: Kodun ana işlevlerini hızlı bir şekilde açıklayacağım ve diğer tüm ayrıntılar için bu makaleyi kontrol edebilirsiniz. Vericiden gelen verileri aldıktan sonra, uçağın gaz kelebeğini kontrol etmek için Joystick 1 Y ekseni değerini kullanıyoruz. Vericiden gelen 80 ila 255 arasındaki değerleri, fırçasız motoru kontrol etmek için kullanılan 1000 ila 2000 arasındaki değerlere dönüştürüyoruz. Asansörü kontrol etmek için 85 ila 35 arasındaki değerlere dönüştürdüğümüz Joystick 2 Y ekseni değerini kullanıyoruz. Bu değerler doğrudan servo motorun konumunu derece olarak ayarlar. Hemen yanında, sağ potansiyometrenin konumuna bağlı olan travelAdjust değişkenlerine sahip olduğumuzu belirtebiliriz. Bu değeri, kumanda kollarının maksimum konumlarına gidecek olmasına rağmen, servoların konumunu veya hareketini azaltmak için kullanırız. Aynı prensip kanatçıkların ve dümenin kontrolü için de uygulanır. Ayrıca, dümenin 0 noktasını ayarlamak için sol potansiyometreden gelen verileri kullanırız. Son olarak, analogRead () fonksiyonunu ve biraz matematik kullanarak akü voltajı gösterge LED'ini kontrol ediyoruz. Hepsi bu kadar. Umarım Arduino ile Köpük Strafordan RC Model Planör Uçak Yapımı makalemizi beğenmiş ve yeni bir şeyler öğrenmişsinizdir.
Robot El Yapımı - İlginç Arduino Projeleri
Videodaki Robot El Ürünümüzü Satın Almak İsterseniz Bağlantıya Göz Atabilirsiniz. Okuduğunuz İçin Teşekkürler.