OiO - en skrivbordslampa som har en själ (4 / 7 steg)
Steg 4: Elektronik
Strömkälla:
oiO använder ett 11,1 volt 1300mA laddning batteri, främst används av RC flygplan och bilar. Med detta batteri, kan oiO förvaltas autonomt 13 timmars. Senare, planerar jag att använda viloläget Arduino och några andra knep för att minska effektförbrukningen för oiO.
Eftersom jag har vissa energikrävande komponenter (3 servon och 2 NeoPixels), så jag har gett dem en extern 5v Reglerad strömkälla (max 1amp) med hjälp av linjär spänningsregulator 7805. För Arduino drivs den också externt, men genom sin egen power regulator. Detta sätt har jag en total separation mellan den kapacitiva lasten och Arduino. Jag lade också till en 100mF på den +/-power järnväg till servon, detta kommer att hjälpa att hålla spänningen stadig när servon gör plötsliga rörelser. Dessutom rekommenderas Adafruit laget en 1000mF kondensator på NeoPixel +/-power ingångarna, så jag lade till detta också.
Ljud- och IR-närhet sensorer drivs också från fristående reglerade 5v källan.
Glöm inteatt ansluta den externa källan mark till en av den Arduino är marken pins
En vippknappens läggs mellan batteriet och återställning av kretsen. Lägg växeln på positiv leda i batteriet, detta är inline med Adafruit rekommendation att alltid ansluta den positiva sidan efter marken. och vice versa när du kopplar)
Utgångar kontroller
Servon:
3 servon styrs med en PWM-signal linje varje, lätt kunna tillhandahållas genom Arduino genom deras Servo.h bibliotek. Jag ansluten servon enligt följande:
Servo1 (ben): stift 3
Servo2 (Avfall): stift 5
Servo3 (Huvud): stift 6
NeoPixels:
2 pixlar styrs med hjälp av endast 1 manöverledningen (kör genom en 470 ohms motstånd som rekommenderas av Adafruit). kontrollen används en digital protokoll (I2C) och patentskyddade genomförandet för att styra varje pixel separat. Slutresultatet är att du enkelt kan styra en eller alla pixlar i taget, och ange mycket exakt och imponerande färg för varje pixel. energiförbrukningen per pixel på 100% ljusstyrka är 66mA. (Varning: undvika att titta direkt i lamporna när de är på)
Kontroll av NeoPixel sker via Arduino stift 12
Ingångar
IR-närhetssensor:
Sensorn jag använde hittas oftast i robotar för enkel kant upptäckt (undvika att falla, väggar... etc). Det har en digital utgång, det vill säga, ger hög när ett objekt är ca. 10cm bort eller låg, om inga hinder finns. den ger inte avstånd. Det gör att använda en ombord chip, också en SMD röd led tänds på sensorn när sensorn känner ett hinder.
Närhet sensor utdata läses upp av Arduino på pin 8
Sund Sensor:
Denna sensor jag använt har också en digital utgång, vilket betyder att det inte ger dig hur ljudet är eller dess frekvens innehåll, det bara anger sin produktion till hög när ett ljud har upptäckts, annars utdata är inställd på låg. Du kan öka/minska känsligheten genom att vrida reglaget ombord. Det jag till MAX inställning kan göra oiO upptäcka en klappa var som helst i rummet, med tanke på att det är en skarp och högt klappa (jag planerar att bygga min egen förstärkare så oiO kan svara på mer subtila ljud, och också för att ha en VCG (spänning kontrolleras vinst) Detta tillåter mig att dynamiskt öka/minska Oio's känslighet för ljud som en del av hans beteende :))
Sund sensor utdata läses av Arduino på analoga pin A0. Men eftersom detta är en digital sensor, du kan ansluta den till någon av Arduino's digital stift och använda digitalRead(pin) istället för det jag använder nu analogRead(A0). Båda kommer att fungera alldeles utmärkt.
Att sätta alla tillsammans:
Det är ditt samtal om du vill utforma en PCB ansluta alla komponenter, helt enkelt använda en skärbräda eller gillar vad jag gjorde. Jag använde ett förborrat kretskort och lödda alla mina delar, kontakter och kablar enligt, anslutningen visas i designen. Sedan, jag använde hoppare ledningar för att gå från denna anslutning styrelse till Arduino, jag slutligen ansluta batteriet, växeln då en 9v fat kontakt att koppla Arduino till batteriet och sätta dem i en låda (jag använde rutan som kom med min mobiltelefon, efter jag har besprutas det mörkgrå:)) Jag gjorde några öppningar för USB, laddare, servo och sensorer ledningar.