Stap 4: De elektronica
Power source:
oiO gebruikt een 11.1 volt 1300mA recharchable batterij, voornamelijk door RC vliegtuigen en auto's zijn gebruikt. Met deze batterij uitvoeren oiO autonoom 13 uur. Later, ben ik van plan om gebruik van de slaapstand van Arduino en enkele andere trucs om te bezuinigen op het stroomverbruik van oiO.
Daar heb ik sommige onderdelen van de energie-honger (3 servo's en 2 NeoPixels), dus ik heb verstrekt hen een externe 5v-gereguleerde stroomvoorziening (max 1amp) met behulp van lineaire spanningsregelaar 7805. Voor de Arduino, wordt het aangedreven ook extern, maar door zijn eigen macht-regulator. Deze manier heb ik een totale scheiding tussen de capacitieve belastingen en de Arduino. Ik voegde ook een 100mF op de +/-macht spoor naar servo's, dit zal helpen de spanning stabiel te houden wanneer de servo's plotselinge bewegingen doen. Bovendien, aanbevolen het team van Adafruit een condensator van 1000mF bij de NeoPixel +/-macht ingangen, dus ik dit ook voegde.
Het geluid en de IR naderingssensoren zijn ook gevoed vanuit de zelfstandige gereglementeerde 5v-bron.
Vergeet nietom verbinding te maken met de externe bron grond aan één van de Arduino is gemalen pinnen
Een rocker switch wordt toegevoegd tussen de accu en de reset van het circuit. Zet de schakelaar op de positieve leiding van de batterij, dit als inline met Adafruit aanbeveling om altijd verbinding maken met de positieve kant na de grond. en vice-versa wanneer loskoppelen)
Uitgangen besturingselementen
Servo's:
De 3 servo's worden aangestuurd met een PWM signaal lijn elke, gemakkelijk geboden door Arduino via hun Servo.h bibliotheek. Ik aangesloten de servo's als volgt:
Servo1 (leg): pin 3
Servo2 (Afval): pin 5
Servo3 (Hoofd): pin 6
NeoPixels:
De 2 pixels worden gecontroleerd met behulp van slechts 1 bedieningsleiding (uitgevoerd via een weerstand van 470 ohm zoals aanbevolen door Adafruit). het besturingselement maakt gebruik van een digitaal protocol (I2C) en de eigen implementatie te controleren van elke pixel afzonderlijk. het eindresultaat is dat u kunt gemakkelijk besturen van één of alle pixels op een moment en voor elke pixel een zeer nauwkeurige en indrukwekkende kleur instellen. het energieverbruik per pixel op 100% brighness is 66mA. (Waarschuwing: Vermijd op zoek direct naar de LED's wanneer ze op)
Controle van NeoPixel gebeurt via Arduino pin 12
Ingangen
De sensor van de nabijheid van de IR:
De sensor die ik gebruikte is meestal gevonden in robots voor eenvoudige Randdetectie (voorkomen vallen, muren... enz). Het beschikt over een digitale uitgang, dat wil zeggen, geeft HIGH wanneer een object is ca. 10cm afstand, of laag, als er geen belemmeringen gevonden. het verstrekt geen afstand. het doet dat met behulp van een on-board chip, ook een rode SMD led op de sensor licht wanneer de sensor een obstakel detecteert.
Proximity sensor output wordt gelezen door Arduino op pin 8
Correcte Sensor:
Deze sensor die heb ik gebruikt heeft ook een digitale uitgang, wat betekent dat het niet geeft je hoe belasting het geluid of de frequentie-inhoud, alleen wordt de uitvoer op hoog wanneer een geluid wordt gedetecteerd, anders, de output is ingesteld op laag. U kunt verhogen/verlagen de gevoeligheid door te draaien aan de knop aan boord. Wat betreft het MAX instelling, ben mij kundig voor maken van oiO detecteren een klap overal in de kamer, gezien het feit dat het een scherpe en luid klappen (ik ben van plan om mijn eigen versterker bouwen dus oiO op meer subtiele geluiden reageren kan, en ook om een VCG (spanning gecontroleerd winst) dit mij verstrekken zal voor dynamisch vergroten/verkleinen van oiO gevoeligheid voor geluiden als onderdeel van zijn gedrag :))
De correcte sensor output wordt gelezen door Arduino op analoge pin A0. Maar aangezien dit een digitale sensor, u kunt aansluiten op of van de Arduino digitale pennen en digitalRead(pin) gebruiken in plaats van wat ik gebruik nu analogRead(A0). Beide zullen enkel fijn werken.
Zetten alle samen:
Het is uw vraag of u een PCB verbinden alle componenten wilt, gewoon gebruik maken van een breadboard ontwerpen, of als wat ik deed. Ik gebruikte een vooraf geboorde PCB, en gesoldeerd al mijn delen, connectoren en kabels volgens, op de verbinding die wordt weergegeven in het ontwerp. Vervolgens, ik gebruikte jumper draden naar dit board verbinding naar de Arduino, ik eindelijk verbinding te maken met de batterij, de switch een 9v vat connector haak de Arduino aan de batterij en zet ze allemaal in een doos (ik gebruikte het vak die kwam met mijn mobiele telefoon, nadat ik het in donkergrijs gespoten heb:)) Ik maakte enkele openingen voor USB lader, servo, sensoren, bedrading.