Innehållsförteckning:
- Steg 1: Dellista
- Steg 2: Potentiometergranskning
- Steg 3: Servomotoröversyn
- Steg 4: Repetitiv rörelse
- Steg 5: Fjärrstyrd rörelse
- Steg 6: Utlöst rörelse (med hjälp av en sensor)
- Steg 7: Nu försöker du
Video: Animatronics Basics - Servomotorn: 8 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
Oavsett om det är en jolig semestervisning i fönstret på ett varuhus eller en skrämmande Halloween -upptåg, lockar ingenting uppmärksamhet som en animerad marionett.
Dessa elektroniskt styrda animationer kallas ibland "animatronik" och den här instruerbara lär dig hur du gör den mest grundläggande typen, en som styrs av en enda servomotor.
Vi kommer att använda Arduino mikrokontroller som hjärnor, och vi får se hur en potentiometer och en servo fungerar inuti, också lära dig hur man bygger tre olika kontrollmetoder:
1 - Kontinuerlig upprepning av rörelse
2 - Fjärrstyrd rörelse
3 - Utlöst rörelse (med hjälp av en ljussensor)
Steg 1: Dellista
Du behöver en mikrokontroller (visas på den första bilden är Arduino från https://adafru.it tillsammans med deras budgetdelar för totalt $ 30) och en servomotor (en liten tornversion visas på den andra bilden tillsammans med några kontaktdelar, från samma butik för $ 12). Du behöver också en liten kondensator eller en kraftfullare spänningskälla om du använder flera servomotorer (en 9V väggladdare för Arduino fungerar)
En mikrokontroller är en hel PC -dator på ett enda chip. Uppenbarligen inte lika kraftfull som din hemdator, den har mycket litet RAM -minne, ingen hårddisk, inget tangentbord eller mus, men den är riktigt bra på att styra saker (därav namnet). Du hittar en av dessa marker i många vardagsartiklar, till exempel tvättmaskiner och automatiska bränsleinsprutningsdatorer.
"Arduino" -märket av mikrokontroller lägger också till några andra kretsar som ansluter den till omvärlden och lägger den på ett bekvämt kort.
Lägg märke till att det i "budgetdelarna" finns några ledningar, motstånd, LED -lampor och ett par blå knoppar, kallade potentiometrar. Mer om potentiometrar i nästa steg.
Slutligen behöver du en servomotor, och den levereras med några skruvkontakter för att fästa den på din rörliga marionett. Vi kommer att använda den X -formade kontakten i den här lektionen.
Steg 2: Potentiometergranskning
En potentiometer är i huvudsak en dimmerratt - eller i elektronikterminologi - ett par variabla motstånd. Genom att vrida på ratten gör du det ena motståndet större och det andra motståndet mindre.
För det mesta använder vi en potentiometer (ibland kallad en "kruka") för att styra en spänning med hjälp av kretsschemat som visas ovan.
Bilden längst till vänster visar den faktiska potten, med de övre och nedre ledningarna anslutna till spänningen +5 och jord, och den mittersta tråden matar ut önskad spänning. Det mellersta diagrammet visar symbolen för en kruka, och det sista diagrammet visar motsvarande krets.
Bilderna är med tillstånd av Wikimedia.org
Steg 3: Servomotoröversyn
En servomotor har fyra huvuddelar.
1. En motor som kan svänga framåt och bakåt, vanligtvis vid hög hastighet och vridmoment.
2. Ett positionsdetekteringssystem som kan berätta vilken vinkel servomotorn har för närvarande
3. Ett växelsystem som kan ta många snurr av en motor och göra det till en liten vinkelrörelse.
4. En styrkrets som kan korrigera felet mellan den aktuella vinkeln och den önskade börvärdesvinkeln.
Del 1 och 2 visas i den första bilden. Lägg märke till att del 2 är en potentiometer.
Del 3 visas i den andra bilden.
Del 4 visas i den tredje bilden.
Steg 4: Repetitiv rörelse
Här ska vi få huvudet på vår marionett "Bender" att svänga åt vänster och höger, fram och tillbaka, så länge strömmen är ansluten från USB -kabeln. Detta är perfekt för en rolig semestervisning som du vill fortsätta röra hela dagen.
Arduino levereras med en integrerad utvecklingsmiljö (IDE) som är ett fint sätt att säga att den kommer med en app för din dator som låter dig ge den instruktioner (Arduino IDE -ikonen är en sidled figur 8). Dessa instruktioner förblir lagrade på kortet även om du kopplar bort datorn, och de börjar köras igen när du återansluter ström till din Arduino. I det här fallet kommer vi att använda programmet "Sweep" som du hittar i IDE -exemplen under kategorin "Servo".
Därefter ansluter du servon till en kondensator stabiliserad 5 volt (röd servotråd till Arduino +5, brun servotråd till Arduino GND) och till styrsignalen (gul servotråd till Arduino utgångsstift 9). Dockhuvudet är valfritt;-)
DETALJER:
Om ovanstående var lite förvirrande är de detaljerade instruktionerna följande:
Steg A - Programmering av Arduino
- Öppna Arduino IDE (ska vara en figur 8 -ikon på skrivbordet)
- Under "Verktyg", se till att "Board" är inställt på "Arduino/Genuino Uno."
- Anslut Arduino -hårdvaran till datorn med USB -kabeln
- Se till att inställningen "Port" under "Verktyg" också är konfigurerad för Arduino.
- Under "Filer" väljer du "Exempel" som kallas "Sweep" (du hittar det under "Servos")
- Innan du använder eller redigerar den här filen, vänligen "Spara som" ett annat filnamn (kan vara ditt namn, eller vad du än väljer). Detta kommer att hålla filen oförändrad för nästa elev som använder den här datorn.
- Använd pilknappen (eller under "Skiss" välj "Ladda upp") för att ladda upp svepskissen till Arduino
Steg B - Ansluta servomotorn till svep
I denna del kommer vi att bygga variationer av de kretsar som beskrivs i https://learn.adafruit.com/adafruit-arduino-lesso … Vi kommer att ansluta de röda och bruna ledningarna i Servon till +5 och GND för Ardiuno, respektive. Vi kommer också att sätta en spänningsutplattande kondensator över den spänningen, och slutligen kommer vi att ansluta den gula ledningen på servon till utgångsstiften 9 på Arduino.
- Koppla ur Arduino från USB -porten när du bygger kretsen.
- Vi kommer att använda 5V och Ground från Arduino -brädet, så ta med dem till ditt brödbräda med de röda respektive gröna trådarna.
- Eftersom strömmen kan vara lite skakig från USB -porten (inte mycket ström, och servomotorn kan orsaka att Arduino -kortet återställs på grund av låg ström) kommer vi att sätta en kondensator över denna spänning och se till att ledningen märkt "minus -”Är på marken.
- Anslut nu den röda (+5) och bruna (marken) som är ansluten till servon till brödbrädan.
- Den sista elektriska anslutningen är den för styrsignalen. SWEEP -programmet kommer att använda stift #9 på Arduino för att skicka styrsignalen, så anslut den till den gula (kontroll) kabeln på servomotorn.
- VALFRITT - Du kan placera ett Animatronic -huvud som du väljer och dess bas ovanpå servomotorn innan du testar det. Var försiktig eftersom passformen inte är perfekt och plastdelarna går sönder.
- Du bör kunna ansluta USB -ström till Arduino och SWEEP -programmet ska köras, vilket får servomotorn att svepa fram och tillbaka.
Steg C - Ändra SWEEP -programmet
- Innan du använder eller redigerar den här filen, vänligen "Spara som" ett annat filnamn (kan vara ditt namn, eller vad du än väljer). Du gjorde förmodligen detta redan i steg A. För var och en av delarna nedan, registrera dina observationer samt eventuella ändringar du gjort i koden.
- Mät med hjälp av ett stoppur hur lång tid det tar att sopa hela vägen och tillbaka _
- Du kommer att göra ändringar i programvaran (ibland kallad "kod" eller "skiss")
- Ändra båda "Delay" -värdena från 15 till ett annat större nummer (välj en rundmultipel av 15 för att underlätta beräkningarna). Vilket värde använde du? _. Vad tror du att den nya SWEEP -tiden blir? _. Mät den nya SWEEP -tiden och notera eventuella avvikelser _.
- Ändra fördröjningarna tillbaka till 15 och ändra nu positionsvinklarna från 180 till helt enkelt 90 (båda dessa värden). Vad är servomotorns nya rörelseomfång (90 grader, eller mer eller mindre?) _.
- Lämna rörelseomfånget till 90 grader, sänk "Fördröjning" till ett tal mindre än 15. Hur litet antal kan du gå till innan servon börjar uppträda oregelbundet eller inte längre slutför hela rörelseområdet? _
När du har slutfört dessa steg har du alla mätningar och övningar du behöver för att vara redo att använda din servomotor för att styra en mängd repetitiva animatroniska rörelser fram och tillbaka, var som helst från en liten vinkel hela vägen till 180 grader, och även med en mängd olika hastigheter du styr.
Steg 5: Fjärrstyrd rörelse
Istället för att upprepa samma rörelse om och om igen hela dagen, kommer vi i detta steg att fjärrstyra positionen för vår animatroniska marionett "C3PO" för att titta åt vänster och höger och vilken position som helst däremellan. Eftersom en människa kontrollerar, kallar vi denna "öppen slinga" -kontroll.
Med open loop -kontrollen styr du servomotorns exakta position. Vi behöver en vred för att du ska vända, och vi kommer att använda den blå potentiometern för detta.
- Vi behöver en annan plats på brödbrädan som har +5 och 0 (mark) volt. Kör dessa bygelstrådar för att separera rader på brödbrädan och gör dem en rad från varandra, för att ligga i linje med de yttre stiften på potentiometern som vi lägger till om ett ögonblick.
- Lägg nu till potentiometern. Innan du trycker in potentiometerstiften i brödbrädet, se till att alla tre är uppställda med rätt hål och tryck sedan in stiften rakt ner så att de inte böjer sig. Potentiometerns mittstift kommer att anslutas till analog ingång noll (A0) på Arduino. En extra tråd läggs till för att göra det.
- För att kunna läsa spänningen från potentiometern och använda den för att styra servomotorn kommer vi att använda programvaran “KNOB”, som också finns under Fil -> Exempel -> Servo. Kör programmet, vrid på ratten och spela in det du observerar.
Naturligtvis kan du köra några mycket långa ledningar så att kontrollratten är i ett annat rum än den animatroniska marionetten, eller så kan du bara vara en kort bit bort (från kameraskott för att du till exempel gör en film).
Steg 6: Utlöst rörelse (med hjälp av en sensor)
Ibland vill du att din marionett helt plötsligt ska röra sig - särskilt för skrämmande Halloween -upptåg eller för att locka ännu mer uppmärksamhet. I detta steg kommer vi att omkonfigurera vår marionett "Easter Island Head" för att snabbt vända och möta den som går förbi och kastar en skugga på en ljussensor.
När det gäller sensorstyrning av servomotorn kommer vi att använda en ljussensor som styr servomotorns exakta position. Ju mörkare skuggan kastar på sensorn (och förmodligen ju närmare personen går till marionetten) desto snabbare och längre vänder dockan huvudet.
- Vi tar bort potentiometern och ersätter den med motsvarande krets för två motstånd. I detta fall kommer ett av de två motstånden (R2) att vara en ljussensor.
- För att ge oss lite utrymme sprider vi ut +5V (vänster) och 0V mark (höger) klumpar så att vi kan lägga till 10K Ohm -motståndet och ljussensorn, anslutna i mitten på samma rad som bygelkabeln som leder till analog ingång noll (A0) på Arduino -kortet.
- Använd skuggan av din hand för att dölja ljussensorn och använd andra sätt för att få ljussensorn att få ut så mycket som möjligt av minsta möjliga mängd ljus. Kan du få hela 180 graders rörelseomfång?
Precis som i fjärrkontrollversionen kan du placera fotomotståndet ett bra avstånd från din animatroniska marionett, och du kan ändra värdena på motståndet eller programvaruprogrammeringen för att ändra marionettreaktionerna.
Steg 7: Nu försöker du
Nu har du behärskat de tre grundläggande typerna av animatronisk rörelse du kan skapa med en enda servomotor.
- Repeterande rörelse
- Fjärrstyrd rörelse
- Utlöst rörelse med sensorer
Du kan ta detta till nästa nivå genom att använda olika typer av marionetter, rörelse, kontroller och naturligtvis det konstnärskap som bara du kan skapa!
Rekommenderad:
VBScript Basics - Starta dina skript, fördröjningar och mer !: 5 steg
VBScript Basics - Starta dina skript, fördröjningar och mer !: Välkommen till min första handledning om hur man gör VBScripts med anteckningsblock. Med.vbs -filer kan du skapa några roliga upptåg eller dödliga virus. I den här självstudien kommer jag att visa dig grundläggande kommandon som att starta ditt manus, öppna filer och mycket mer. Vid t
Animatronics Monkey: 4 steg
Animatronics Monkey: Animatronics hänvisar till mekatroniska marionetter. De är en modern variant av automaten och används ofta för att gestalta karaktärer i filmer och i temaparkattraktioner. Innan termen " animatronics " blev vanliga, de var vanligtvis
Reckless Racer Arduino OLED Game, AdafruitGFX och Bitmaps Basics: 6 steg
Reckless Racer Arduino OLED Game, AdafruitGFX and Bitmaps Basics: I denna handledning kommer vi att titta på hur man använder bitmappar med Adafruit_GFX.c -biblioteket som en slags sprites i ett spel. Det enklaste spelet vi kan tänka oss är ett bilrullebyte med sidorullande körfält, i slutändan vår betatestare och assistentkodare för
Gränssnittsknapp - Arduino Basics: 3 steg
Gränssnittsknapp - Arduino Basics: Tryckknappen är en komponent som ansluter två punkter i en krets när du trycker på den. När tryckknappen är öppen (utan tryck) finns det ingen anslutning mellan tryckknappens två ben, så stiftet är anslutet till 5 volt (genom pull-up resi
Motion Följ Animatronics Eyes: 8 steg (med bilder)
Motion Follow Animatronics Eyes: Detta Arduino -projekt använder en optisk flödessensor (ADNS3080) för att fånga rörelser. Översätt sedan data för att flytta servon så att det ser ut som ögonen följer rörliga föremål. Det här är inte en enkel byggnad. Det kräver 3d -utskrift, lödning, lite allmänna te