Control 2 Servo motorer med en vanlig fjärrkontroll (3 / 4 steg)

Steg 3: Utvecklingsprogram



Infra Red
Vi börjar med infraröd sidan av saker och ignorera servo(s) för nu. Öppna BV_COM och kommunicera med BV500 (IC).
Nu ladda den här filen:

http://www.byvac.com/mBlib/FLB/Library/IRD/IR_DecodeMX1.bas

Bara kopiera texten och placera den i dialogrutan text överföring, sedan Tryck på Skicka. Detta kan behöva ett par försök tills filen cachelagras, det kommer alla beror på internet-anslutningen. Efter skicka bör det säga något som linjer laddade 120.

Filen är ganska kort men det ladda filen IR library därmed antalet linjer. Få en fjärrkontroll och Ställ in den till en Philips TV (jag antar att du har en av dem som du kan programmera med hjälp av olika koder.) Skälet för att använda det är att IR avkodningen fungerar bara med RC5 koden vilken är vad Philips användning i sina apparater.
Typ gå, Rikta fjärrkontrollen till IR photodoide och du bör se några resultat som på bilden. Det kan inte ge exakt samma resultat men det spelar ingen roll. De uppnådda var:

-volym 3511
-volym 3D 11
+ volym 3510

De första 3 är start bitar och de finns alltid där, den faktiska koden för nyckeln är de två sista siffrorna, i detta fall 11 för minus och 10 för plus. Växla är det nummer som ändras från 5 till D (numrerar är i hex). De faktiska värdena är oviktigt så länge det är konsekvent. Om du får något som är oföränderligt eller obeständig då fjärrkontrollen inte sänder ut RC5 så välj en annan TV eller VCR eller vad.

En snabb titt på koden.
Detta visas som en bild så att de radnummer och syntax färgning upprätthålls.
Linje 5: Detta är den fil som gör det mesta av arbetet, om du vill titta på den faktiska koden så är det på den URL som visas i bilden. #include laddar det på chip innan resten av koden.
Linje 12: Detta är den enda funktion som koden består av. Att köra den funktion i sitt namn som vi gjorde när du skriver "gå" ovan.
Linje 12-16: Detta är funktioner i koden som är i include-filen och de initiera portar för användning och ställa in ett par avbrott så att IC kan svara så fort den får någon infraröd. Dessa rader krävs för att få IR kommer.
Linje 17: Bara den "klar" i terminalen så vi vet att allt är okej
Linje 18 & 24: Detta är en ögla som kan vara avslutat när en nyckel tas emot på den terminal, dvs när du trycker på en tangent på tangentbordet. Det fungerar eftersom terminalen är ansluten till UART2 och comkey? (2) returnerar antalet nycklar i UART2 buffert (UART är en seriell port). Eftersom det finns inga nycklar i buffert tills du trycker på en tangent på tangentbordet då det kommer att stanna i en slinga.
Linje 19 till 22: IRDstate (ärende är viktigt) är en variabel som sätts till 1 då det har ett värde som tas emot av IR. Värdet är i currentWord, linje 21 skriver det helt enkelt ut som ett hexadecimalt tal. Värdet på currentWord kommer endast skrivas ut när det finns ett giltigt värde. Det är viktigt att funktionen återställs IRDstate till 0 efter att ha läst ordet.
Linje 26 & 27: LÄMNA ALLTID ETT PAR TOMMA RADER I SLUTET AV EN FIL

Servo
Okej så nu när vi har en fungerande infra-rött är det dags att titta på den servo sidan av saken. Kopiera och klistra in denna URL

http://www.byvac.com/mBlib/FLB/tutorial/PIC32MX1_Family/46_IRServo/IRServo_b.bas

i texten överför dialogen som tidigare och tryck på Skicka. Du kan behöva återställa IC som det körs avbrott och det seriella gränssnittet inte har någon handslag.
Typ svo_init
Servo kan våren till liv efter detta kommando. Nu skriv:
= 200 (Detta är @ O för Oscar inte noll)
och servo ska flytta. Du kan upptäcka gränserna för din servo och ta reda på de högsta och lägsta värden, de jag har allt från 121 till 384.

Servo är att använda modulen produktion jämföra inbyggd i IC. I läge producerar att det är i det en pulsbreddsmodulerad signal och värdet i registret OC2RS styr bredden på det puls så allt du gör när du ändra värdena är faktiskt ändrar bredden på pulsen. Detaljnivå är ganska bra på bara några mikrosekunder och så det är hur vi kan få en upplösning på över 200 inom spänna av servo.

Det är nog inte omfattas av denna text att gå in på Detaljer om hur koden fungerar som det är mestadels inrättandet IC registren, IC hårdvaran fungerar. Om du är intresserad jag hade 3 går på detta den (Detaljer är här) och mitt första försök var att efterlikna PWM i programvara.

Se Steg
Relaterade Ämnen

CONTROL SERVO MOTOR med RÖRELSESENSOR

HI !!!!!!!!! I detta instructables undervisar jag du om att kontrollera servomotor med rörelsesensor. Detta används i nerf gun. Låt oss komma igång utan att slösa tid. Fortsätta att följa mig för HTML och CSS, Arduino projekt. Om du hade några tvivel...

Hur man styr Servo motorer med en Arduino

Detta miniatyr projekt kommer att visa dig hur man styr en servomotor med en Arduino, men först måste du veta vad en servomotor faktiskt är!Servomotorer är speciella typer av motorer som inte snurra runt i en cirkel, men flytta till en viss plats och...

Servo Motor sopa Mode säkerhetsloggar med Mediatek Linkit en stiger ombord

En servomotor är en roterande ställdon eller linjärt ställdon som möjliggör exakt kontroll av kantiga eller linjär position, hastighet och acceleration. [1] den består av en lämplig motor kopplad till en sensor för position feedback. Det krävs också...

Gränsyta för motorer med Arduino

Gränsyta för olika typer av motorer med en mikro-controller är bland de mest grundläggande färdigheter en maker/robotics entusiasten behov att bemästra. I detta projekt ska jag bygga upp på den tidigare projektet Smart telefon kontrollerad LED-lampor...

Posten kontrollerade parkering System med Servo Motor och PIR med LinkIt en styrelse

I detta Instructable, vi kommer att genomföra transaktionen kontrollerad parkering med Servo Motor och PIR med LinkIt en styrelse.En servomotor är en roterande ställdon eller linjärt ställdon som möjliggör exakt kontroll av kantiga eller linjär posit...

Hur man kontrollerar DC-motorer med Arduino

Vi har nyligen avslutat utforma vår kompakta plug-and-play Arduino robot och släppte den på kicken. Vi söker för närvarande uppbackare.Med denna robotic kit, det är mycket lätt att ansluta motorer, sensorer och kommunikationsmoduler genom att helt en...

Arduino & Visual Basic 6.0 (kontinuerlig Servo Motor)

detta Instructable är nästan lik till Light Controller postat tidigare. Den innehåller samma struktur och mönster i styr Servo Motor. Jag använde några idéer form Galil motorisk kontroll strukturer för att skapa min parser. Nämligen, SH (Servo här) o...

Servo Motor Tester

När du köper en ny servomotor och du ansluta den till kretsen, och om det inte rotera, kanske du tror att Servo kan vara felaktig. Så varje gång när du möta denna typ av problem, du tror att testa det på något sätt. Så här bygger vi en krets för att...

Arduino, MIT app inventor servo motor controller

Hej igen alla! Jag hoppas ni alla är bra och på gott humör och villkorar alltid. Idag vill jag dela mitt experiment på med MIT appinventor på styr servomotor kopplad till arduino. Jo, vänta en minut, min experiment innan detta också använda appinvent...

Styra DC motorer med MSP430 Launchpad

Hej folk,I detta Instructable ska vi Kontroll två DC motorer med MSP430 Launchpad och L293D motoriska kontroll Chip.Den ursprungliga artikeln finns online härHär använder vi en Motorisk kontroll Booster Pack (eller sköld) för MSP430 Launchpad utveckl...

Arduino Servo motorer

Servomotorer är stora enheter som kan vända sig till en angiven position.Vanligtvis, har de ett servo arm som kan vända 180 grader. Genom att använda Arduinoen, kan vi berätta en servo att gå till en angiven position och det kommer att gå dit. Så enk...

Curie-motor med ett mynt

Hur göra en Curie motor med ett nickel mynt, en magnet och en källa till värme. Det fungerar eftersom när en del av myntet upphettas över Curie temperaturen (eller Curie punkt) förlorar dess ferromagnetiska egenskaper så att magneten tilldrar en sval...

Styra riktning och hastighet av DC-Motor med Raspberry Pi

Detta är en enkel guide när lär dig att styra DC motorer med Raspberry pi. Om raspberrypi - är det en cradit kort storlek liten dator som har generell input/output GPIO stift som används till att kontrollera olika elektroniska apparater, ventilen och...

Styra en Motor med avstånd ultraljudssensorer (HC-SR04)

Hej alla! I detta projekt kommer vi att kontrollera riktningen av en motor med två allt ultraljudssensorer.Om rätt sensorn utlöses, kommer att motorn snurra motsols.Om den vänstra sensorn utlöses, kommer motorn snurra medsols.Om båda sensorerna eller...

Styra riktning och hastighet av en DC motor med LabVIEW och FPGA

Ett enkelt projekt som låter dig styra en DC-motor med hjälp av FPGA och LabVIEW.Steg 1: Hardware design För att styra riktning och hastighet för en DC-motor jag designar en H bro med kompletterande mosfet transistorer (IRF3205 + IRF4905) och för för...

Hur till omvänd en DC-motor med hjälp av knapparna.

i denna korta video jag visa dig hur du återför en DC-motor med knappar istället för en DPDT switch eller någon fjärrkontroll. Nyligen ville jag göra en DC motor snurra i en riktning och i den andra riktningen för ett projekt. Jag ville använda knapp...

Kör en Stepper Motor med en AVR mikroprocessor

fick några Rota stepper motors från skrivare/disk drives/etc liggande?Vissa sondering med en ohmeter, följt av lite enkel förare kod på din mikroprocessor och du kommer att kliva i stil.Steg 1: Få veta Steppers i princip, du kommer att behöva räkna u...

Kontroll av en DC motor med Arduino och Visual Basic

Hej vänner detta är mitt första inlägg i instructables.com där jag kommer att försöka ge mer nyhet des ofta.Idag är temat med Arduino och Visual Basic.Det projekt som vi ser idag är controller en dc-motor med Arduino och Visual Basic.För att styra en...

Köra CD-ROM Borstlös Motor med Arduino + 3 Mosfet transistorer

A borstlös likströmsmotor eller BLDC är en typ av motor utan varje brush. Det innebär att det finns ingen direkt anslutning (pensel) mellan roterande spindel och andra fasta delar som rullar. Så spinning är avkastningen av förändringar i nuvarande ri...