Stap 4: Het maken van verbindingen-motoren, LED's en transistors
Inputs en outputs
Nu moeten we een paar apparaten zoals servo's, sensoren en LEDs aansluiten op onze controller. De controller heeft inputs en outputs. Dingen zoals sensoren en schakelaars zijn invoerapparaten, terwijl de servo's, LED's en -motoren zijn uitvoerapparaten. De inputs en outputs zijn zowel analoge als digitale-een digitale ingang net als een schakelaar, is dus it's either in- of uitschakelen. Analoge ingangen zijn variabele-het is meer als een dimmer schakelaar waarmee u een bereik van waarden.
Digitale uitgangen zijn vergelijkbaar-als de controller uitvoer pin HIGH is ingesteld, dan is het over. Als deze laag is ingesteld, dan is het af. Dit is groot als u wilt maken op een motor of LED. Als u de naam wilt wijzigen van de helderheid van een LED of een servo motor verplaatsen dan wil je de output van de controller een analoge uitgang pin. Dit wordt gedaan met behulp van PWM (pulsewidth modulatie.) PWM staat gewoon de controller om de uitgang van een analoge spanning door de uitgang-pins HIGH en dan de uitgang pins laag binnen een paar microseconden of milliseconden van elkaar nep. Als u de pin HIGH voor de dezelfde lengte van tijd u het lage pulse pulse zou je een gemiddelde spanning van de helft van de totale spanning dus de uitgang-pins zou u geven 1.6V in plaats van 3, 3V. De hoeveelheid tijd dat de pin hoge blijft heet pulsewidth. De verhouding van de tijd om de pincode te gaan van laag naar hoog naar laag heet plicht cyclus. Als u de hoeveelheid tijd dat de pin blijft hoog ten opzichte van de hoeveelheid tijd die het blijft laag verkorten verlaagt u effectief de uitgangsspanning van de pin. Het echt klinkt ingewikkelder dan het is, maar dit werkelijk handig later komen zal wanneer u wilt maken LEDs dim of maken een servo verplaatsen. Gelukkig de meeste van deze complexe spullen wordt voor u gedaan in de Arduino codebibliotheken maar het is nog echt goed om te weten.
Sensoren
Er zijn allerlei sensoren-bocht sensoren, kracht gevoelige weerstanden, versnellingsmeters, potentiometers, joysticks, enz.
Deze analoge sensoren wijzigen hun uitgangsspanning volgens hoe u ze gebruikt. In de voorbeelden die we zullen gebruiken knop zult schakelaars om te schakelen dingen in- en uitschakelen en we gebruik van joysticks (potentiometers), buig sensoren en versnellingsmeters om servo's verplaatsen.
Bij het ontwerpen van een systeem van de animatronic voor kostuums die ik wil overeenkomen met het type sensor gebruikt in combinatie met een specifiek orgaan motie. Denk na over hoe de persoon draagt het kostuum gaat gebruiken. Bend sensoren zijn geweldig zijn als je wilt om een LED dimmen of servo verplaatsen door het buigen van uw vinger. Voor nog meer controle kan ik plaats een kleine joystick op een vingertop en dat gebruiken om een servo verplaatsen. Voor een head tracking systeem dat maakt servo's volgen uw hoofd verkeer ik gebruik een versnellingsmeter (van een Wii nunchuck) en ik vingertop schakelopties gebruiken om te activeren geluidseffecten. U zult zien hoe deze werken in de voorbeelden.
Sparkfun heeft een goede grootte kortstondige Drukknopschakelaar thats breadboard vriendelijke-
http://www.Sparkfun.com/products/9190
Hier is de kleinere versie-
http://www.Sparkfun.com/products/97
Alle van de sensoren die we gebruiken zijn aangesloten op de Arduino input pinnen. Een potmeter is een apparaat gebruikte in een toepassing zoals een stereo volume knop-het is een soort variabele weerstand. Als u de potentiometer met 3.3V opgeeft wanneer u draai de knop zal de uitgangsspanning variëren van 0 tot 3, 3V. Een joystick is gewoon twee potentiometers in een gemeenschappelijke huisvesting-een voor de X-as en één voor de Y-as.
Sparkfun heeft een 10K potentiometer
http://www.Sparkfun.com/products/9939
Ze hebben ook een paar kleine joysticks-
http://www.Sparkfun.com/products/9032
http://www.Sparkfun.com/products/9426
De sensor van een bocht is een weerstand die zijn weerstandswaarde verandert volgens hoeveel u buigen. Door het toevoegen van een andere weerstand en het creëren van een spanning-verdeler, kunnen we de uitgangsspanning van de sensor van de bocht aan de mate van bocht veranderen. Het enige echte nadeel te buigen van sensoren is dat ze niet het brede scala dat een potentiometer heeft.
Sparkfun verkoopt een bocht sensor hier-
http://www.Sparkfun.com/products/8606
Versnellingsmeters werken door het aftasten van een verandering in de versnelling en dan veranderen ze hun productie ten opzichte van de verandering in de versnelling. Als je een versnellingsmeter tilt meet het versnelling als gevolg van zwaartekracht - hoe meer je tilt het hoe groter de verandering in de uitvoer. Versnellingsmeters worden vaak gebruikt in de video game controllers en mobiele telefoons.
Een Wii nunchuck heeft een 3-as versnellingsmeter, joystick en twee drukknoppen voor $20.
Motoren
Servo 's
Hobby servo's zijn kleine reductiemotoren die een circuit bord en een potentiometer (potmeter) om te controleren hun rotatie. Hierdoor kunnen ze te kunnen verplaatsen naar een exacte positie ten opzichte van uw input sensor signaal. Meeste servo's bijna 180 graden kunnen verplaatsen en sommigen kunnen zelfs doen meerdere rotaties, alsmede continue rotatie. Servo's hebben drie draden-grond, macht en signaal. De draad van het signaal (meestal geel of wit) is aangesloten op de Arduino uitgang Pins. De macht en gemalen draden zijn verbonden met een afzonderlijke voedingsbron, meestal overal variërend van 4.8V tot 6V. De reden voor het aansluiten van servo's aan hun eigen stroomvoorziening is dat motoren genereren een eerlijk beetje van elektrische ruis, die leiden storingen of een stotteren effect in hun beweging tot kan.
Als je hebt een input sensor die een ingangsspanning van 0 genereert-3.3V de Arduino neemt dat analoge spanning en wijst het een waarde van 0-1023 met behulp van een analoog naar digitaal converter (ADC). De code op de Arduino dan vertelt de servo hoe ver te verplaatsen op basis van de omgerekende waarde. Dus als uw sensor 1.65V output dan zou je een lezing van 511 en uw servo zou de helft van de rotatie verplaatsen. Vele Arduino boards Arduino boards functioneren op 5V, zodat dezelfde sensor op dezelfde plaats zou lezen 2.5V en de servo zou nog steeds draaien halverwege. Een continue rotatie servo zou draaien in één richting, stoppen als de sensor gaf een 1.65V lezen en vervolgens richting omkeren als u aan sensor veroorzaakt te verhogen van de ingangsspanning.
Beheersen een servo wordt gedaan door PWM. U verzendt een verzenden een puls naar de servo op het servo-signaal lijn elke 20 milliseconden. De pulsewidth vertelt de servo welke positie verplaatsen naar. Meeste servo's functioneren binnen een bereik van 1 tot 2 milliseconde pols, zodat een 1 milliseconde puls de servo vertelt verplaatsen naar de positie van de 0 graden en een 2 milliseconde puls de servo vertelt verplaatsen naar de positie van de 180 graden. Elke puls tussen 1 en 2 milliseconden vertelt de servo verplaatsen naar een positie die evenredig tussen 0 en 180 graden.
Ik krijg al mijn servo's hier-
http://www.servocity.com
Gelijkstroommotoren
In tegenstelling tot de meeste servomotoren worden gelijkstroommotoren best gebruikt wanneer u continue rotatie, moet vooral wanneer u wilt dat hoge RPM. Aangezien gelijkstroommotoren een behoorlijke hoeveelheid macht die ze zijn aangesloten op de Arduino uitgang pins met behulp van een transistor of een PWM-snelheidsregelaar tekenen kunnen.
Pololu verkoopt een groot aantal kleine DC motoren-
http://www.Pololu.com/Catalog/Category/22
Stappenmotoren
Niet gebruik ik meestal stappenmotoren in mijn animatronic projecten (althans nog niet!) maar ik voelde dat ze zijn het vermelden waard. Stappenmotoren toestaan voor precieze positionering alsmede continue rotatie en snelheidscontrole. Het nadeel aan hen is dat zij een eerlijke beetje elektrische hoofdkrachtbron vereisen en ze meestal aanzienlijk groter en zwaarder dan een servo van gelijk koppel rating zijn. Kleine stappenmotoren kunnen worden geborgen van oude printers en scanners. In tegenstelling tot gelijkstroommotoren stappenmotoren hebben moeten meerdere afzonderlijke spoelen binnen die worden geactiveerd in een juiste volgorde om de motor te verplaatsen. De Arduino controller kan station stappenmotoren met behulp van een specifiek stuurprogramma chip of transistor array die in staat van energieke elke individuele coil op de motor is. Neem een kijkje in de sectie met naslaginformatie voor meer informatie over de steppers.
LED 's
Kleine LEDs zijn vrij eenvoudig te verbinden met de Arduino-Vergeet niet om het gebruiken van een weerstand tussen de Arduino uitgang Pins en de cathode weerstand om te beperken de stroom. Een weerstand kun je op de anode of de kathode van de LED-één van beide manier zal werken. Allermeest naar de kleine 3.3V LEDs zullen een voorwaartse stroom van rond 20mA hebben dus een weerstand waarde ongeveer 100 ohm vrij goed werkt. Voor nauwkeurige weerstand waardeberekeningen hebben een kijkje hier-
http://LED.linear1.org/1led.wiz
Voor mijn Iron Man repulsor maakte ik een kleine 2" diameter LED bord dat beschikt over 24 PLCC-2 LED's. Kan je de kale PCB hier-
http://www.batchpcb.com/index.php/Products/41872
Het bestuur gebruikt 24 1206 pakket SMD 100 Ohm weerstanden-
http://US.element-14.com/Vishay-Dale/crcw1206100rjnea/Resistor-thick-film-100ohm-250mW/DP/59M6948
Ik kopen vaak PLCC-2 super heldere LED's op eBay op goede prijzen-
http://Stores.eBay.com/bestshop2008hk
Krachtige Luxeon LEDs hebben een veel hogere stroombereik en werkt het beste met behulp van een soort constante stroombron rijden ze (er zijn verschillende instructables hierover.) Een 1 Watt Luxeon LED zal een voorwaartse stroom van 350mA hebben, dus u kan niet deze rechtstreeks aan de pin van een Arduino uitvoer sluit. Net als een gelijkstroommotor die u zult moeten aansluiten op de uitgang-pins met behulp van een transistor.
Sparkfun verkoopt Luxeon LEDs en een constante huidige stuurprogramma-
http://www.Sparkfun.com/Search/Results?term=Luxeon&what=Products
http://www.Sparkfun.com/products/9642
Transistors
Een transistor is eigenlijk gewoon een elektronische schakelaar. Elke Arduino uitgang Pins is beperkt tot 40mA uitgangsstroom zodat wij een bepaald type transistor bekend als een NPN Darlington transistor gebruiken zult om te schakelen op hoge huidige apparaten. Deze transistoren hebben drie pinnen - de collector en emitter base. De basis pin is aangesloten op de Arduino uitgang pins met behulp van een weerstand van 1K Ohm. De verzamelaar pin op de hoogvermogen-apparaat is aangesloten en de emitter pin is aangesloten op de grond. Wanneer de pin van de Arduino uitgang HIGH aanstaat de transistor ingeschakeld en maakt elektriciteit te voltooien een circuit.
Voor toepassingen die geen macht eisen meer dan 1 Amp ik ontwierp een kleine transistor-board dat met digitale uitgang pinnen met behulp van 10-13 verbindt ribbon kabel en twee pin acht IDC connectoren. Deze maakt gebruik van vier SOT-23 pakket SMD transistoren en vier 1206 pakket 1 k Ohm SMD weerstanden. Het bestuur is heel gemakkelijk om te solderen.
Transistor bestuur PCB-
http://batchpcb.com/index.php/Products/41936
SOT-23 NPN Darlington-transistors 4 ea-
http://US.element-14.com/Fairchild-Semiconductor/mmbt6427/bipolar-transistor-npn-40v/DP/58K1891
1206 SMD 1K Ohm weerstanden 4 ea -
http://US.element-14.com/yageo/rc1206jr-071kl/Resistor-thick-film-1Kohm-250mW/DP/68R0298
2 x 4 pins IDC connector stations 2ea-
http://www.surplusgizmos.com/8-pin-2x4-IDC-Ribbon-Cable-COnnector_p_1879.html
Voor ladingen tot 5A gebruik ik een TIP 120 transistor in de aan-220-pakket. Deze zijn groot voor kleine gelijkstroommotoren en servo's. Een weerstand van 1K Ohm de transistor basis pin verbinden met de uitgang-pins Arduino gebruiken
Meestal koop ik TIP 120 transistoren van mijn lokale Radio Shack. Ze zijn heel gemakkelijk om online te krijgen ook.
Voeding
Voor het aandrijven van de Arduino servo board en servo's moet u twee aparte power bronnen - één enkele cel LiPo accu voor de controller en een kleine 4.8V-6V accu (4AA batterijen werken prima) aan macht servo's. De servo-bestuur heeft een extra socket waarmee de macht van de LiPo cel met macht laagspanning apparaten zoals LEDs.