Stap 2: De Arduino codering
Vereiste hulpmiddelen:
- Arduino IDE software (gratis download)
Arduino Uno: dit is de eenheid die ik momenteel gebruik, dat is succesvol in het uploaden van schetsen naar de chip. Ik weet persoonlijk niet over andere modellen zoals de Mega, maar op basis van mijn veronderstelling, ze moeten ook werken. Meeste tutorials die ik heb gebruikt verschillende modellen.
ATtiny85 (via het gat). Kunt u deze voor een iets meer dan een dollar (VS) van vele online winkels zoals Digi-Key, JameCo en Sparkfun, maar kocht ik ongeveer tien op eBay voor $13. Het is altijd goed om meerdere elektronica-onderdelen kopen: je bent gebonden aan per ongeluk breken een of beschadiging van een of andere manier, vooral als uw vaardigheden zijn niet voldoende gevorderd. Bijvoorbeeld, als u probeert te uploaden van de Arduino-code naar uw ATtiny maar de verkeerde parameters geselecteerd, zult u de chip permanent beschadigen.
Één 10uF Elektrolytische condensator - meestal rond de $1,50 bij Radio Shack, en net als de meeste onderdelen zijn veel goedkoper online.
In deze sectie wordt nogal lastig voor de beginner, maar voor de geavanceerde Arduino codeur, dit zou basic LED en Toon functionaliteit. Gelukkig alles wat je hoeft te doen is uploaden mijn schets naar uw ATtiny85 via een programmeur van uw keuze. Persoonlijk gebruikte ik een instelling genaamd "programmeren van een ATtiny85 met Arduino", die gebruik maakt van een breadboard en wat jumper draadjes. Dat bovengenoemde Instructable koppelingen naar de downloadbestanden bevat voor het installeren van de ATtiny master pack in uw omslag van de Arduino voor boards. Ik heb geëxperimenteerd met meerdere tutorials voor Arduino schetsen toe te voegen aan een ATtiny op een breadboard: sommige methoden gefaald, en sommige werkte-- en de methode die gehanteerd in de perfectie de was uit de tutorial hierboven, met ATtiny85 @ 1MHz (interne oscillator; BZV uitgeschakeld) als de aangewezen board voor uploaden klaar schetsen. Ik heb geprobeerd verschillende andere ATtiny master packs van andere tutorials, en had niet mazzel-- en in sommige gevallen, ik per ongeluk het verkeerde model (zoals ATtiny85 @ 16 MHz) koos en mijn ATtiny beschadigd. Altijd moet experimenteren met je Arduino zelf voor het uploaden van de schetsen rechtstreeks naar uw microcontroller.
Programmering van de Chip:
- Voordat uw breadboard met delen instelt, sluit u uw Arduino op de USB-poort.
- Selecteer het overeenkomstige model van het dropdownmenu--mijne is "Arduino Uno."
- Selecteer in het menu voorbeelden een schets "Arduino als ISP" genoemd. Uploaden dat schets aan de Arduino.
- Als het ging met succes aan uw Arduino, plaatst u de condensator 10uF tussen de GND en RESET vrouwelijke koptekst "slots" op uw Arduino.
- Met je Arduino nog aangesloten via USB, uw breadboard en Arduino configuratie volgens mijn beelden of de beelden in de bovenstaande koppelingen instellen.
- Zorgen dat uw ATtiny85 goed is geplaatst met de V + en GND rails gepolariseerd en de andere draden aangesloten op de Arduino van vrouwelijke kop pinnen:
Arduino + 5V---> ATtiny Pin 8
Arduino grond---> ATtiny Pin 4
Arduino Pin 10---> ATtiny Pin 1
Arduino Pin 11---> ATtiny Pin 5
Arduino Pin 12---> ATtiny Pin 6
Arduino Pin 13---> ATtiny Pin 7
Nu gewoon open uw gekozen paddestoel schets van mijn downloads links, kies de juiste uitvoer in de Tools > Boards menu ("ATtiny85 @ 1MHz (interne oscillator; BZV uitgeschakeld) ") Selecteer"Uploaden met behulp van programmeur", en wacht totdat de schets doorloopt. Kunnen er twee foutberichten over pagel bestanden: Dit zijn de te verwachten, en als je gewoon deze samen met de 'gereed' bericht zien, uw schets ging door met succes. Herinner me, hoewel: na het uploaden van uw schets naar de ATtiny, zorg ervoor dat u test het uit op het breadboard door inpluggen in een spreker, LEDs, weerstanden en een tactiele knop. Als het werkt goed, het was een succes, en u kunt verwijderen van de ATtiny en slaan voor wanneer u het circuit bouwt.
De drie download links in deze sectie bevatten uw keuze van schetsen: de 1-up geluid, het thema van Super Mario World Overworld of de Super Mario 3 luchtschip overwinning muziek. Alle codes hebben in wezen dezelfde exacte functies, zoals knippert de LED's in sync met de audio, alleen ze natuurlijk verschillende nummers zijn-- en de rode paddenstoel nummers sommige van hun setup enigszins aangepast hebben om verschillende snelheden en beats, en zelfs sommige van de standplaatsen aangepast. Alle codes brengt het project in de wachtstand (kracht naar beneden) wanneer niet in gebruik, en zullen onmiddellijk wakker van te tikken op de tactiele switch om te spelen de muziek/LEDs--zoals een one-shot timer. Daarom kunt u dit met zo weinig als 3V in een cel van lithiummagnesiumoxide stroom, maar ik koos 6V te versterken het geluid/licht. Als u veranderen van de muziek willen zou, kunt u doen door een wijziging van de toelichting en duur te verslaan in de schets. Ik heb weinig of geen kennis van muziek, dus ik was in staat om opnieuw met succes de nummers door MIDI-bestanden te downloaden van deze website voor Nintendo muziek, de MIDIs importeren Anvil Studio (freeware) en behandeling van de individuele notities/beats in de piano roll editor--één nota tegelijk. Deze paddestoel schetsen alleen toestaan voor één Toon op een moment, wat betekent dat u kunt geen harmonie noch akkoorden worden gespeeld. De meeste Mario nummers hebben de muziek wordt afgespeeld in meerdere notities van harmonie tegelijk, dus voor mijn codes, ik heb het middelste notities gebruikt. Zowel rode paddenstoel nummers vereist helaas meerdere tracks van instrumenten en notities, dus ik heb het teruggebracht tot slechts de fundamentele tunes.
Schets met betrekking tot mijn paddenstoel zelf, het was een samensmelting van verschillende schetsen die ik online gevonden heb of in de Arduino IDE-standaardbibliotheek, alleen zwaar bewerkt om de behoeften voor mijn code. De belangrijkste schets ik heb mijn code, echter gewonnen was in deze tutorial voor het maken van een muzikale Futurama Robot Santa standbeeld door psychische Origami --in feite, ik heb zelfs het ontwerp van mijn Mushroom van interne printplaat off van zijn ontwerp ook gebaseerd. Ik heb uiteraard mijn circuits evenals in voorkomend geval aangepast, en sommige verschillende variabelen gekozen.
Opgelet met betrekking tot mijn Arduino melodie notities: Ik heb de opmerking duur aangepast en Opmerking variabelen in elk van de codes. Als je kijkt naar de sectie "notes.h", ziet u de beats toegewezen aan variabelen: zoals de namen doen vermoeden, BEAT is een standaard noot, HALF_BEAT is de helft een nota, maar QUARTER_BEATA is een kwartnoot, en QUARTER_BEAT is eigenlijk een achtste noot --de kortste notitie beschikbaar. Ik heb deze namen gewijzigd terwijl ik experimenteren met notities, dus ik nooit overgestapt de naam naar "EIGHTH_BEAT" zoals het hoort goed. Dat gezegd zijnde, bent je zeker vrij aan te passen de duur van de opmerking en variabelen. Ik denk ook dat ik het Super Mario 3 overwinning muziek om iets langzamer dan het thema van Super Mario World Overworld enigszins heb aangepast.