Arduino kontrollerade animatronic trä huvud (läslampa) (13 / 27 steg)


I skissen finns initialisering koden till inkluderar servo biblioteket, deklarera variabler, definiera vilket stift är i användning etc. och funktionerna som anropas inom servoCheck() att köra koden som omplaceras servon.

Följande rad #include är biggy. Det ger i smart servo koden:

#include / / includes standard arduino servo klass (arkivet)

Nästa rad är att definiera en fördröjning (5 millisekunder) så servo inte är att vara alltför ofta justeras. Med ingen fördröjning, servon är att justeras hela tiden, och detta kan leda till utbrändhet. Om förseningen är för lång dock servon bli ryckig och långsam att svara.

int delay_val = 5; tilldelar servo increment lag (fördröjning mellan tillämpa värden) för båda servon

Servo kontroll bygger på analoga insignaler i form av variabel inspänningar, som Arduino konverteras till digitala värden (med andra ord nummer!) och sedan koden nedan används för att manipulera dessa nummer och skapa digitala utgångar för att flytta servon när ingångarna är varierande. Koden i servo.h biblioteket har alla grymta arbete. Koden måste du skriva sänder verkligen mycket enkel datavärden till funktioner från biblioteket för att göra det hända.

Inspänningar skapades med enkel variabla motstånd (potentiometrar), en för varje servo. Potentiometrar (KRUKAR) är lätta att återvinna från gamla elektriska kit, till exempel gamla radioapparater. Värdet på motståndet är inte särskilt viktigt. Vanligtvis är de 0-10 k ohm. För varje pott, två leverans polackerna är anslutna till marken (jorden) och 5V respektive och signal produktion är ansluten till en analog pin av Arduino.

Kopplingsschemat finns i steg 10. Det är mycket enkelt.

Denna bit förklarar första servo...

SERVO 1
Servo myservo; skapa objekt för att styra en servo servo
CONST int potPin1 = 0; förklarar vilken analog pin används för att ansluta analoga variabel spänning utdata från potentiometer 1 (kontroller servo 1)
int valPot1; variabel att läsa värdet från analoga PIN-koden för servo 1

SLUTET SERVO 1

Denna bit förklarar andra servo...

SERVO 2
Servo myservo2; skapa andra servo objekt för att styra en andra servo
CONST int potPin2 = 1; förklarar vilken analog pin används för att ansluta analoga variabel spänning utdata från potentiometer 2 (kontroller servo 2)
int valPot2; variabel att läsa värdet från analoga PIN-koden för servo 2
SLUTET SERVO 2

SERVON

void setup() {

När servon (myservo, myservo2) har förklarats, definieras de Arduino pin-anslutningarna:

bifoga servon
myservo.attach(5); tillmäter objektet servo servo på stift 5
myservo2.attach(9); fäster andra servo till pin 9 till andra servo objektet
}

När servon har definierats, 'servoCheck()' funktion definierades. Kallas i den Arduino standardfunktion 'Loop ()' för att upprepade gånger kolla för insatsvaror och konvertera dessa till utgångar som styr servon och översätta detta för att ögongloben rörelse.

void servoCheck() {
servostyrningar

Servo 1---
valPot1 = analogRead(potPin1); läser värdet i potentiometern (värde mellan 0 och 1023)

Den variabla valPot1 tar insignalen från en av potentiomaters.

För detta används kommandot analogRead(). Den berättar Arduino att konvertera raw analoga spänningen (inom intervallet 0 till 5 volt) till ett digitalt värde mellan 0 och 1023.

Servo koden behöver input värden mellan 0 och 179. Dessa värden används för att ange sin ståndpunkt. insatsen av 0 positioner servo spindeln på-90 grader och 179 ställer det i 90 grader.

Nummerserier (0 - 1023 och 0-179) behöver skalas. Detta görs med hjälp av Arduino karta () funktionen. Detta tar de digitala värden (0 till 1023) levereras av funktionen analogRead() och skalar dem till ett tal mellan 0 en 179.

valPot1 = karta (valPot1, 50, 1000, 0, 179); skala den att använda den med servo (värde mellan 0 och 180)
myservo.write(valPot1); anger servo skalad värde
Delay(delay_val);

---servo 1 slutet

Detta är samma för andra servo

// servo 2 ------------------------

valPot2 = analogRead(potPin2); läser värdet i potentiometern (värde mellan 0 och 1023)

digitalWrite (ledPinJoystick, hög);
valPot2 = karta (valPot2, 50, 1000, 179, 0); skala den att använda den med servo (värde mellan 0 och 180)
myservo2.write(valPot2); anger servo skalad värde
Delay(delay_val);
---servo 2 slut
avsluta servostyrningar * /
}

Och det är allt det är

Se Steg
Relaterade Ämnen

Arduino kontrollerade Animatronic skelett rockband - pågående

För Halloween i år, bestämde jag mig att bygga en animatronic skelett rockband. Det är ett pågående arbete på denna punkt, men jag är ganska nöjd med hur det är på väg längs. Mesta är tillverkad av material som jag hade på hand (jag är lite av en HAM...

Arduino-kontrollerade Wolf svans

hälsningar, eller ska jag säga, "Aaaaaooooooooooooh!" Gärna göra din bekantskap Karl wolf entusiast. Du har en inre wolf ande som är så ivriga att ge sig till känna att du har kommit mig att lära mig hur man gör din egen animatronic wolf svans,...

Arduino kontrollerade Servo Robot (serbiska)

vad bättre sätt för att börja experimentera med öppen källkod mikro-styrenheter ( Arduino ) då genom att bygga din egen öppen källkod robot ( CC (SA-av))?Vad till gör med din Serbiska?(här) - Hur ansluta din serbiska till internet och köra det över e...

Android & Arduino kontrollerade projektorn skärmen

detta är min första gången du använder Arduino, eller någon mikrokontroller. Jag är glad att det fungerat så bra men min fru kan inte bero på, travar av mikrokontroller som kommer att dyka upp på vår tröskel snart för framtida projekt. Någon feedback...

Arduino kontrollerade ljus dimmer

Varning: Vissa människor försöka bygga detta med en optocoupler med zerocrossing coz "som är bättre" rätt? Vissa får även höra i elektronik butiker är det bättre att använda sådan optocoupler. FEL. Detta fungerar endast med en random brand optoc...

Laser Galvo - Arduino kontrollerade

Arduino kontrollerad laser galvo. Servo driven speglar styra UV laser lämna ett fosforescerande spår på glöd-in-the-dark vinyl ark.Ursprungligen postat på notes.robives.comSteg 1:Börjar med ett blad av självlysande vinyl från eBay och en UV laserpeka...

Sällskapsdjur utegångsförbud: En Arduino kontrollerade sällskapsdjur dörr

Problemet: du vill begränsa den tid när ditt husdjur är tillåtet att gå utanför. Detta kan bero på att trakten inte är säkra för din katt eller liten hund på natten (plundringarna coyotes kommer att tänka på). Men du vill ha ditt husdjur för att kunn...

Infraröd Sensor guidade Arduino kontrollerade L293D Robot (del 2)

Här är del 2 av Arduino kontrollerade L293D Robot.Del 2 innehåller IR Sensors.This ingår i en serie av instructables leder till en rad efterföljare Robot.QRD1114 Infrarödsensor kopplad till ArduinoSteg 1: Ledningar IR sensorn till ArduinoNegativ från...

Talar Animatronic Robot huvud

(Robot tävlingen post kategori = 18 +)Detta instructable handlar om talande animatronic robot huvud jag byggde, som jag kallar Robot huvudet 2. För att få en uppfattning om Robot huvud 2 funktioner, klicka på korta videon nedan eller du kan kopiera o...

Arduino kontrollerade fyren

Översikt:Jag har ofta tänkt att en fyr skulle göra ett stort projekt för en Arduino, och så jag beslöt att ge det ett försök med någon av de lokala fyrarna här i Erie, Pennsylvania som inspiration. Jag valde Norr Pierhead fyr som vaktar ingången till...

Arduino kontrollerade kök Timer

Alla ni måste har upplevt detta att du har något kokning på din gasspis medan å andra sidan du få upptagen tittar på TV eller få en djup konversation att du inser på upptäcka en lukt som det var helt bortskämd bara på grund av din slarv. Denna lilla...

Arduino kontrollerad bil Tracking System baserade på SMS-

Hej jag gjorde en Arduino kontrollerad bil Tracking System baserat på SMS för min fars bil.Använda modulerna är;Arduino nano V3.0SkyLab GPS-modulenWaveCom GSM-modulSoftwareSerial bibliotek, TinyGPS används för att kommunicera med moduler.När jag ring...

Trådlösa Arduino kontrollerade Tank (nRF24L01)

Hej!Idag kommer jag att visa dig hur man bygger en Arduino kontrollerade tank och fjärrkontroll. 3d tryckta delar av tanken (med undantag av registeransvarige, spåra guide och tank cover) ritades av timmiclark och kan hittas här.Steg 1: Samla materia...

Arduino kontrollerade CNC / 3D skrivare Hybrid

Moder natur gör... Vi bygger.BuildersBot säkringar 3D utskrift & CNC fräsning till en Builders dröm "3dprintingindustry.com"BuilderBot är en öppen Design maskin, som använder OpenMjukvara och öppen hårdvara. Det är en produkt av öppna projek...

Wall-E's anti-sociala kusin: objekt att undvika Arduino kontrollerade Robot!

jag byggde nyligen en Arduino kontrollerade robot, som undviker objekt och skickar ut en PING)) ekolod att kontrollera om ett objekt är. När ett objekt har identifierats, roboten ryggen upp och vänder åt andra hållet!Jag kallar det anti-sociala robot...

Arduino-kontrollerade Smart Home

Detta Instructable skrevs av PubNub Evangelist Ian Jennings . Ians historia går igenom hans processen för att bygga en Arduino-kontrollerade smarta hem modell från grunden.--Tillbaka i September, vår grundare Stephen och jag pratade om olika sätt att...

Arduino kontrollerade Flight Simulator - "The Viper"

min Maker Faire projekt för 2012 är "The Viper"--en Arduino kontrollerade flight simulator inspirerad av shipen av det samma känt från SyFy kanalens TV-serien Battlestar Galactica. Den roterar 360 grader längs två axlar, vilket innebär att ja, d...

Arduino kontrollerade makt källa

Detta instructable beskriver hur du utformar en Arduino kontrollerad leverans strömkälla.En kort video som presenterar sitt arbete kan ses i min Youtube-kanalSteg 1: Design idéer, begagnade strategi... Syftet med projektet var att skapa ett litet dri...

Arduino-kontrollerade, aluminium ärkeängeln kostym vingar

jag har alltid älskat Marvel karaktär ärkeängeln. När min bror, (skamlös plugg alert) blivande serietecknare David Fernandez, visade mig bilder på en cosplay konvention gick han att jag tänkte "skulle inte det vara häftigt om någon gjort naturlig sto...