Arduino gecontroleerd animatronic houten hoofd (leeslamp) (13 / 27 stap)


Binnen de schets is er een initialisatie code te omvatten van de servo-bibliotheek, Declareer variabelen, definiëren welke pinnen zijn in gebruik etc., en functies die worden genoemd binnen de servoCheck() voor het uitvoeren van de code die automatisch de servo's.

De volgende #include regel is de biggy.  Het brengt in de slimme servo-code:

#include / / bevat standaard arduino servo klasse (de bibliotheek)

De volgende regel is het definiëren van een vertraging (5 milliseconden) zodat de servo is niet al te vaak worden aangepast. Met geen vertraging, de servo's zijn voortdurend wordt aangepast en dit kan leiden tot burn-out. Als de vertraging te lang, is echter de servo's worden schokkerig en traag reageren.

int delay_val = 5;  de servo increment lag (vertraging tussen het toepassen van waarden) toegewezen voor beide servo 's

De servo-control is gebaseerd op analoge ingangssignalen in de vorm van variabele input spanningen, die de Arduino omgezet in digitale waarden (met andere woorden nummers!) en vervolgens de onderstaande code wordt gebruikt om te manipuleren van deze nummers en maken digitale uitgangen om te verplaatsen van de servo's bij de ingangen zijn gevarieerd. De code in de servo.h bibliotheek doet al het grunt werk. De code die u moet schrijven is echt heel eenvoudig gegevenswaarden sturen naar functies uit de bibliotheek te maken het allemaal gebeuren.

De input spanningen werden gemaakt met behulp van eenvoudige variabele weerstanden (potentiometers), één voor elke servo. Potentiometers (potten) zijn gemakkelijk te recycleren van oude elektrische kit, zoals oude radio's.  De waarde van de weerstand is niet bijzonder belangrijk. Ze zijn meestal 0-10 k ohm. De levering van de twee Polen zijn aangesloten op de grond (aarde) en 5V respectievelijk voor elke pot, en de output signaal is aangesloten op een analoge pin van de Arduino.

Zie stap 10 voor het schakeldiagram. Het is heel eenvoudig.

Dit stukje verklaart de eerste servo...

SERVO 1
Servo myservo;  maken van servo-object om te bepalen van een servo
Const int potPin1 = 0;  verklaart welke analoge pin wordt gebruikt om de analoge variabele spanning uitgang van potentiometer 1 (besturingselementen servo 1)
int valPot1;    variabele te lezen van de waarde van de analoge pin voor servo 1

EINDE SERVO 1

Dit stukje verklaart de tweede servo...

SERVO 2
Servo myservo2; tweede servo-object om te bepalen van een tweede servo maken
Const int potPin2 = 1;  verklaart welke analoge pin wordt gebruikt om de analoge variabele spanning uitgang van potentiometer 2 (besturingselementen servo 2)
int valPot2;    variabele te lezen van de waarde van de analoge pin voor servo 2
EINDE SERVO 2

SERVO 'S

VOID Setup {}

Zodra de servo's (myservo, myservo2) zijn verklaard, zijn de Arduino pin aansluitingen gedefinieerd:

koppelen van servo 's
myservo.attach(5);  hecht de servo op pin 5 aan de servo-object
myservo2.attach(9); de tweede servo hecht aan pin 9 op tweede servo-object
}

Zodra de servo's zijn gedefinieerd, de 'servoCheck()' functie is gedefinieerd. Dit heet in de standaardfunctie van de Arduino 'Lus ()' om herhaaldelijk controleren voor ingangen en zetten deze uitgangen die controle van de servo's en vertalen dit verkeer eyeball.

ongeldig servoCheck() {}
Servo-besturingselementen

Servo 1---
valPot1 = analogRead(potPin1);            leest de waarde van de potentiometer (waarde tussen 0 en 1023)

De variabele valPot1 neemt het ingangssignaal van een van de potentiomaters.

De opdracht analogRead() wordt gebruikt voor dit. Het vertelt de Arduino te converteren van de ruwe analoge Ingangsspanning (binnen het bereik 0 tot en met 5 volt) naar een digitale waarde tussen 0 en 1023.

De servo-code moet input waarden tussen 0 en 179. Het zal deze waarden gebruiken om haar positie te stellen. een input van 0 posities het klosje servo-90 graden en 179 zal instellen op 90 graden.

De nummerreeksen (0 - 1023 en 0-179) moeten worden geschaald. Dit wordt gedaan met behulp van de Arduino kaart () functie. Dit neemt de digitale waarden (0 tot 1023) geleverd door de analogRead() functie en hen wordt aangepast aan een getal tussen 0 een 179.

valPot1 = kaart (valPot1, 50, 1000, 0, 179);     schaal om het te gebruiken met de servo (waarde tussen 0 en 180)
myservo.write(valPot1);                  stelt u de positie van de servo volgens de geschaalde waarde
delay(delay_val);

---servo 1 einde

Dit is hetzelfde voor de tweede servo

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

valPot2 = analogRead(potPin2);            leest de waarde van de potentiometer (waarde tussen 0 en 1023)

digitalWrite (ledPinJoystick, hoge);
valPot2 = kaart (valPot2, 50, 1000, 179, 0);     schaal om het te gebruiken met de servo (waarde tussen 0 en 180)
myservo2.write(valPot2);               stelt u de positie van de servo volgens de geschaalde waarde
delay(delay_val);
---servo 2 einde
einde van de servo besturingselementen * /
}

En dat is alles wat die het is

Gerelateerde Artikelen

Arduino-gecontroleerde Wolf staart

Arduino-gecontroleerde Wolf staart

groeten, of moet ik zeggen, "Aaaaaooooooooooooh!" Maken van uw bekende collega wolf liefhebber graag. Je hebt een innerlijke wolf geest dat zo graag bekend maken dat u mij om te leren hoe om uw zeer eigen animatronic wolf staart, zodat u kunt ec
Animatronic Robot hoofd praten

Animatronic Robot hoofd praten

(Robot Contest Entry categorie = 18 +)Dit instructable is over een pratende animatronic robot hoofd ik gebouwd, die ik noem Robot hoofd 2.  Als u een idee van Robot hoofd 2's functionaliteit, klik op de korte video hieronder of u kunt kopiëren en pla
Arduino gecontroleerd CNC / 3D Printer hybride

Arduino gecontroleerd CNC / 3D Printer hybride

Moeder natuur maakt... Wij bouwen.BuildersBot zekeringen 3D printen & CNC frezen in één Builder's droom "3dprintingindustry.com"De BuilderBot is een Open ontwerp machine, die gebruik maakt van OpenSoftware en Open Hardware. Het is een produc
Arduino gecontroleerd kookwekker

Arduino gecontroleerd kookwekker

U allen moet heb meegemaakt dat je iets wordt gekookt op uw gasfornuis terwijl aan de andere kant u get drukke TV kijken of krijgen een diepe gesprek hebt dat je je realiseert op het opsporen van een geur die het was volledig verwend alleen vanwege u
Galvo - Laser Arduino gecontroleerd

Galvo - Laser Arduino gecontroleerd

Arduino gecontroleerd galvo laser. De servo aangedreven spiegels sturen de verlaten een fosforescerende parcours op het blad van de glow-in-the-dark vinyl UV-laser.Oorspronkelijk Gepost op notes.robives.comStap 1:Beginnen met een blad van lichtgevend
Arduino-gecontroleerde gordijn

Arduino-gecontroleerde gordijn

In dit nieuwe project, we gecombineerd van elektronica en mechanica, en maakte een Arduino-gecontroleerde gordijn roller.Veel plezier met maken!Stap 1: Planning van het CircuitVoor dit circuit u hebt nodig:1. de roterende Potentiometer2. de Arduino U
Draadloos Arduino gecontroleerde Tank (nRF24L01)

Draadloos Arduino gecontroleerde Tank (nRF24L01)

Hallo!Vandaag zal ik u tonen how to build een Arduino gecontroleerde tank en een afstandsbediening. De 3d afgedrukt delen van de tank (met uitzondering van de controller, bijhouden gids en tank cover) werden ontworpen door timmiclark en kan worden ge
Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Het probleem: U wilt beperken van de tijd wanneer uw huisdier mee mag naar buiten te gaan. Dit kan zijn omdat de buurt niet veilig voor uw kat of kleine hond in de nacht is (plunderende coyotes voor de geest komt). Maar u wilt uw huisdier te kunnen t
Arduino gecontroleerd licht dimmer

Arduino gecontroleerd licht dimmer

Waarschuwing: Sommige mensen proberen om dit met een optocoupler met zerocrossing coz rechts "dat is beter"? Sommigen horen zelfs in elektronicawinkels, het is beter om te gebruiken dergelijke een optocoupler. VERKEERDE. Dit werkt alleen met een
Arduino gecontroleerd Servo Robot (SERVISCH)

Arduino gecontroleerd Servo Robot (SERVISCH)

wat een betere manier om te experimenteren met opensource micro-controllers ( Arduino ) dan door het bouwen van uw eigen bron robot open ( CC (SA-door))?Wat te doen met uw Servische?(hier) - hoe uw Servische verbinden met het internet en het rijden o
Arduino gecontroleerde auto volgsysteem op basis van SMS

Arduino gecontroleerde auto volgsysteem op basis van SMS

Hi ik een Arduino gecontroleerde auto volgsysteem op basis van SMS voor mijn vaders auto maakte.De gebruikte modules zijn;Arduino nano V3.0SkyLab GPS-moduleWaveCom GSM moduleDe SoftwareSerial bibliotheek, TinyGPS worden gebruikt om te communiceren me
Arduino-gecontroleerde Smart Home

Arduino-gecontroleerde Smart Home

Dit Instructable werd geschreven door PubNub Evangelist Ian Jennings . Ian's verhaal doorloopt zijn proces van het opbouwen van een Arduino-gecontroleerde smart home model van kras.--Terug in September, onze stichter Stephen en ik spraken over manier
Digitale venster Sticker (Arduino gecontroleerde)

Digitale venster Sticker (Arduino gecontroleerde)

een bumpersticker formaat L.E.D. matrix waarin afbeeldingen worden weergegeven in volgorde van een SD-kaart, voor de productie van een geanimeerde teken of "venster sticker." Arduino gecontroleerd! Ook bevat Windows, Mac en Linux code voor .xbm
Arduino gecontroleerd vuurtoren

Arduino gecontroleerd vuurtoren

Overzicht:Ik heb vaak gedacht dat een vuurtoren zou een groot project voor een Arduino, en dus heb ik besloten om het eens te proberen met behulp van een van de lokale vuurtorens hier in Erie, Pennsylvania als inspiratie. Ik koos voor de North Pierhe