RC kontroll och Arduino: A färdiga arbeten (6 / 10 steg)

Steg 6: Andra Program: Servo utgång



jag lyfte bilden från Adafruits webbplats och kunde inte säga nog bra saker om dem!

Nu börjar roligt! Med hjälp av programmet som jag beskrivit tidigare, kan lägga vissa servo ut med servo standardbiblioteket. Jag har också beslutat att använda en matris för indata i stället för åtta separata variabler. Om du har en Uno, som jag kommer att använda senare, all du har till gör är ändra pin plats variabler.

Detta kommer att skissa vilja läsa alla 8 kanaler av en RC mottagare och indatavärden via seriell monitor.
Programmerat för Arduino MEGA 2560

Medföljande bibliotek
#include < Servo.h >

Definiera variabler:
CONST int chA = 22. Konstant variabler avser pin platser
CONST int Chohung bank = 27.
CONST int chC = 30.
CONST int chD = 35.
CONST int chE = 38.
CONST int chF = 43;
CONST int chG = 46.
CONST int chH = 51.

Signal att villkora begränsar
CONST int lo = 920;
CONST int Hej = 1640;
CONST int deadlo = 1270;
CONST int deadhi = 1290;
CONST int center = 1280;

int ch [8]. Matrisen att lagra och visa värdena för varje kanal
int ch4; Servo produktionen variabeln
Servo steer; Styrning Servo

Rutinen installationsprogrammet körs en gång när du trycker på reset:
void setup()
{
initiera seriell kommunikation på 9600 bitar per sekund:
Serial.BEGIN(9600);

Ingående stift:
pinMode(chA,INPUT);
pinMode(chB,INPUT);
pinMode(chC,INPUT);
pinMode(chD,INPUT);
pinMode(chE,INPUT);
pinMode(chF,INPUT);
pinMode(chG,INPUT);
pinMode(chH,INPUT);

Servo utgångar:
Steer.attach(2); Bifoga styrning Servo till PWM stift 2
}

Huvudprogrammet
void loop()
{
Läs de ingående kanalerna
CH [0] = pulseIn (chA, hög); Läsa och lagra kanal 1
CH [1] = pulseIn (Chohung bank, hög);
CH [2] = pulseIn (chC, hög);
CH [3] = pulseIn (chD, hög);
CH [4] = pulseIn (chE, hög);
CH [5] = pulseIn (chF, hög);
CH [6] = pulseIn (chG, hög);
CH [7] = pulseIn (chH, hög);

Input Signal konditionering
för (int jag = 0; jag < = 8; i ++) //Signal konditionering loop
{
om (ch [i] < = lo) //Trim buller från nedre änden
{
CH [i] = lo;
}

om (ch [i] < = deadhi & & ch [i] > = deadlo) //Create döda-Band
{
CH [i] = center;
}

om (ch [i] > = Hej) //Trim buller från övre änden
{
CH [i] = Hej;
}
}

Utgång för styrservo kontroll på Channel 4
CH4 = ch [3].
om (ch4 > = lo & & ch4 < = deadlo)
{
CH4 = karta (ch4, lo, deadlo, 0, 90);
}
annars om (ch4 == center)
{
CH4 = 90.
}
annars om (ch4 > = deadhi & & ch4 < = Hej)
{
CH4 = karta (ch4, deadhi, Hej, 90, 180);
}
Steer.write(CH4);

Seriella utgångar
Serial.Print ("Ch1:"); Visar text snöre på Serial bildskärm skilja variabler
Serial.Print (ch[0]); Skriva ut värdet av kanal 1
Serial.Print ("|");
Serial.Print ("Ch2:");
Serial.Print (ch[1]);
Serial.Print ("|");
Serial.Print ("Ch3:");
Serial.Print (ch[2]);
Serial.Print ("|");
Serial.Print ("Ch4:");
Serial.Print (ch[3]);
Serial.Print ("|");
Serial.Print ("Ch5:");
Serial.Print (ch[4]);
Serial.Print ("|");
Serial.Print ("Ch6:");
Serial.Print (ch[5]);
Serial.Print (& q. uot; | ");
Serial.Print ("Ch7:");
Serial.Print (ch[6]);
Serial.Print ("|");
Serial.Print ("Ch8:");
Serial.println (ch[7]);
Serial.Print ("utgång för styrservo:");
Serial.println (ch4);
}

Jag ska anta att servo hade ett nervöst sammanbrott och utvecklat en liten fästing? Terminalfönstret bekräftar att hjulen helt enkelt föll OFF av projektet, nu vad? Innan du begår din servo eller Arduino mutter kammaren är det något som kan bearbetas runt. Problemet är hur Arduino servo biblioteket genererar krävs utsignalen. Den avbryter huvudprogrammet att behålla 50Hz pulsen och kommer i konflikt med funktionen pulsein korrumperande valuesbeing läsa. Både de servo bibliotek och pulsein är avbrott baserat men som man ser vi till att ersätta? Jag valde att eliminera servo biblioteket efter en massa google-fu.

Se Steg
Relaterade Ämnen

Säkerhetssystem och tillgång kontroll med Arduino och RFID-

säkerhetssystem och tillgång kontroll med Arduino och RFIDDetta projekt är en evolotuin av mitt första projekt kallat "Arduino - Security System och Access Control"Som ni kan se på bloggen http://arduinobymyself.blogspot.com.br/2012/03/arduino-s...

KONTROLL STEPPER MOTOR hastighet med LABVIEW och ARDUINO

Jag gjorde detta i Proteusfullständig kontroll STEPPER MOTOR hastighet med LABVIEW och ARDUINO...! wolaaSteg 1: Denna handledning är:> Med Labview gränssnitt Arduino till PC via USB-porten.> Med Labview för att skicka data som beskriver varvtal till...

Kontroll DC och stepper motors med L298N Controller moduler med dubbla motorer och Arduino

Du behöver inte spendera en massa pengar att styra motorer med en Arduino eller kompatibel styrelsen. Efter lite jakt runt vi kan hittade en snygg motorisk kontrollmodul baserad på L298N H-bridge IC som kan du styra hastighet och riktning av två liks...

Röd färg erkännande baserade Arduino kontroll (med hjälp av MATLAB och Arduino)

I denna tutorial, vi visar hur du använder färg erkännande för att styra någon manöverdonet anslutet till någon digital pin av arduino uno, vi har behandlat LED som ett ställdon i denna handledning som är ansluten till stift 13 av UNO. Vi har dragit...

Auotmatic Street lights kontroll med hjälp av LDR och Arduino

Gatan lätta reglerteknik används för att styra de ljus (aktivera och inaktivera baserat på ljus).Här gör vi användning av LDR (Light beroende motstånd) och LED (Light Emitting diode) och arduino.Hårda Ware komponenter som krävs:1) LDR2) LED3) 4.7 k m...

Kontroll robotarm med handskar, Android-telefon och Arduino

Idag har vi nästan 2 tekniker för att spela med robotarm, antingen genom knappar till exempel som på spelet sköld eller använda handskar som inkluderar sensorer. Ännu, dag ska jag visa dig en ny teknik med hjälp av endast din Android-telefon och Ardu...

Kompatibla proteshand med sensomotoriska kontroll och sensoriska Feedback för nacke amputerade

Det huvudsakliga målet med detta projekt tillhandahåller en mycket funktionella och billiga proteshand till personer med nedanför armbågen amputationerÄven om massor av state-of-the-art protetiska enheter har utvecklats, fortfarande blir det trycket...

Google spelar musik Internet Radio (Raspberry Pi och Arduino)

jag letade efter ett projekt att göra med min Raspberry Pi och hittade detta Instructable och tänkte jag skulle ha en gå på något liknande som arbetat med Google spela musik. Jag hade en ungefärlig uppfattning om vad jag ville ha det sista objektet t...

Quiz Game Controller med hjälp av "Ljus och ljud Buzzers" och Arduino

fara stil frågesport spel är favoriter för att skapa spänning och pedagogiska instruktioner samtidigt. Lärare, summer camp rådgivare och även industrin pedagoger hitta denna typ av spel för att skapa intresse och engagemang från deltagarna.Tanken bak...

Kontroll An Arduino med telefonen

Hej alla! I detta instructible jag kommer att visa dig hur man styr och läsa sensorer med arduino och blynk. Blynk är en app som ger full kontroll över arduino, rasberry pi och spark kärna. Med din smartphone! Och det är lika enkelt som att lägga upp...

Kraftfull kontroll med Arduino: Gränssnitt ett linjärt ställdon

I den här specifika artikeln kommer vi att diskutera hur enkelt det är att kontrollera kraftfull mekanisk kraft använda en mikrokontroller som Arduino och en linjärt ställdon från DC linjära ställdon Inc.Steg 1: MicrocontrollersRaspberryPi och Arduin...

Raspberry Pi och Arduino: bygga tillförlitliga system med WatchDog timer

Sammanfattning: I detta Instructable titta vi på hur man bygger mer tillförlitliga datorsystem med WatchDog timer. Vi visar hur du ställer in och använder Raspberry Pi och Arduino inre watchdog timer. Vi förklarar också varför en extern WatchDog Time...

Super Spooky onda LED ögon av Doom med atTiny85 och Arduino IDE

det finns några kusliga ögat instructables där ute. Till exempel finns det en som bygger på en 555 timer, en som bygger på en on/off knapp, en som bygger på Arduino och en baserat på band.Jag ville göra en uppsättning kusliga onda ögon som uppfyller...

Bärbar prototyping labb med oscilloskop och arduino

Hej alla tillsammans är jag tillbaka, med ett nytt projekt. Jag var tyst upptagen med min underbara nyfödda dotter (bara 7 veckor gammal) när jag börjar skrev detta det är 00:00 i Tyskland och min dotter äntligen sover och jag hittade lite tid att pr...

MrRobot - Ubuntu Mobile app aktiverad Robotics (Raspberry Pi och arduino inblandade)

Projektet MrRobot är en Ubuntu Mobile app aktiverad Robotics som har funktionen av röst, touch och skaka kontroll för att interagera med den Rapiro roboten. Detta projekt utförs inom 28 timmar i Ubuntu Shenzhen Hackathon av vårt team E-minderåriga. A...

Kurs på MIT App Inventor och Arduino

Jag har gjort många tutorials för att skapa apps använder MIT app inventor och anslutit app med arduino att få saker att fungera, jag får ofta mail anger något försvann när de följa min tutorial, här en steg för steg handledning på komma igång med at...

Hur man gör en röststyrning, riktning, fjärrkontroll, Android och arduino robot, (3 i ett)

Detta är en förenklad version av någon annan röst kontroll robot, inte komplicerad kodning lätt att förstå kodning med lätt algoritm.Appen är utvecklad så att det konvertera röstkommandot till text och överföra text till anslutna Bluetooth-enheten.Bl...

Bygga din egen pratar Tom leksak med skrapa och Arduino

Gillar du pratar Tom? Vad sägs om att göra våra egna interaktiva (Arduino/Scratch) pratar Tomleksak?I detta instructable visar vi dig hur man bygger denna leksak med hjälp av sensorer och dubbelriktad Scratch <> - Arduino kommunikation att göra prog...

RS485 Seriell kommunikation mellan Arduino Mega och Arduino Nano med Visuino

Ibland måste vi ansluta Arduino styrelser ligger långt bort från varandra. RS485 är ett mycket bekvämt sätt att ansluta styrelser med bara 2 kablar, och kan arbeta för ett avstånd på 1200 m (4000 ft). Det gör också flera styrelser kan enkelt anslutas...