Tillbaka till framtida modell DeLorean interaktiv Display (6 / 6 steg)
Steg 6: Tråd och programmera Arduino
Jag använde en radio shack justerbar spänning DC nätadapter inställd 6V för att driva allt. På Adafruit bakbord strömförsörjningen sätter jag spänning på den justerbara järnväg till + 5V. Istället för att använda en separat strömförsörjning eller batteri för att driva min Arduino, drivs jag det av strömförsörjningen bakbord. Jag offrade en batterihållare genom att minska fat kontakten av det. Jag lödde korta bitar av solid kabel på slutet av-kontakt så att det kan ansluta direkt till bakbord. Jag anslutit den till oreglerad spänning järnväg av bakbord.
Eftersom lysdioderna drar så mycket ström, måste transistorer användas så att du kan driva dem med bakbord kraftförsörjningen. Jag använde 2N2222 NPN-transistorer från Radio shack. Anslut pinut trådarna från Arduino på basen av transistorer (mittstiftet). Ett motstånd måste läggas mellan pinut trådarna och mittstiftet av transistorer (se bild). Tråd collector pin (längst till höger stift) till marken. Wire positiva ledningen av LED tråd till den + 5V för strömförsörjningen. Tråd negativa ledningen av samma LED till transistorn utsändaren (längst till vänster stift). Se till att den platta sidan av transistorn är vänd mot dig. Att bestämma vilka motstånd att använda jag gjorde en hel del experimenterande att få korrekt ljusstyrka och spänningen/strömmen att lysdioderna. Jag använde en kombination av 480 ohm, 220 ohm och 510 ohm motstånd för detta.
Jag trådbundna lysdioderna till följande Arduino stift:
#define brand 6
#define small_blue 16
#define big_blue 17
#define lights_left 18
#define lights_right 19
WAV-filer:
Behöver du wav filer att spela på waveshield. Jag fick några av mina ljudklipp från här:
http://www.moviewavs.com/movies/Back_To_The_Future.html
Jag tog också några direkt från blu-ray-skivor med audacity. Det finns en bra tutorial på Adaruits hemsida på att göra och konvertera filer för användning med wav sköld. Jag skulle rekommendera att kolla det om du kommer att göra klipp för wave shield. Jag har bifogat alla wav filer som används i program utom BTTF signaturmelodi. Signaturmelodin var för stor för att ladda upp, men du kan ta det från denna webbplats. Om du dumpar dem på SD-kortet som går in i din wav sköld, kommer mitt program att kunna ringa och spela dem. Just nu har jag 13 olika in klipp. Jag använder en fallet stänga struktur för att växla mellan de olika klippen.
Jag använder en billig par Logitechs datorhögtalare. Jag köpte sådana som kopplas till ett vägguttag för makt eftersom de inte får som högt vid wave sköld. Det finns ett hörlursuttag på wave skölden för högtalarna att plugga in.
Kod:
Jag tog wave sköld exempelkod och plockat ut de delar som jag behövde för att spela en wav-fil. Var noga med att använda för att använda kommandona playfile() och inte den playcomplete(). Du kommer inte att kunna utföra andra kommandon om du ringer playcomplete(). Playfile() låter å andra sidan dig köra lysdioderna samtidigt spelar wav-filer. Till exempel, om jag ville spela Remotecontrol.wav, skulle jag använda kommandot:
playfile("Remote~1.wav");
Jag är inte den bästa programmeraren i världen, så jag är säker på att min kod kan förbättras. Jag använde inte något märkvärdigt för att styra lampor, bara god ole "delay() kommandon. Det är riktigt långtråkigt arbete att synkronisera lamporna till musik, men jag har inte hittat ett bättre sätt. Det finns ett exempel på webbplatsen Adafruit där ljus kan belysas automatiskt av koden beroende på audio volym, men det inte ger bra resultat för mig. Jag programmerade också en timer i programmet som ändrar det statligt av lamporna efter ett par minuter av ingen aktivitet (ingen trycker på knappen). Jag kunde inte få den .ino filen ladda upp så jag sätta min kod i en txt-fil. Ledsen, men några av min kod inte spara. Den sista 1/3 av lamporna koreograferade till temat låten är inte i koden som jag lagt upp. Jag ska försöka att göra om denna kod när jag får en chans.