Stap 6: De Chip programmeren
Er zijn vele tutorials online over het uploaden van de code van de Arduino voor een standalone-chip op een breadboard (zoals ATtiny85, of in dit geval ATmega32), maar helaas, ik heb niets had maar verzuimde resultaten wanneer u hen persoonlijk--tot ik vond deze bijzondere gids van Boris Landoni (de meeste van de beelden in deze sectie komen rechtstreeks uit zijn tutorial). In zijn tutorial, legt hij uit hoe met een handvol onderdelen makkelijker code van de Arduino op een chip overbrengen op breadboard, door eerste enigszins aan te passen de Arduino software. Zo kunt u gebruik maken van de gehele chip ruimte zonder de noodzaak van het branden van een bootloader op de standalone-chip.
Voor dit gedeelte gebruikte ik de volgende producten:
- 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. Boris' tutorial staat dat de Duemilanove prima werkt.
- Breadboard (elke grootte).
- Gekleurde jumper draden - kunt u kopen een kit van deze van Radio Shack voor minder dan 10 dollar, volgens mij. Ik gebruikte standaard jumper draden, maar Boris' tutorial maakt gebruik van mannelijke jumper leidt.
- ATmega32P-PU chip naar programma. Deze over het algemeen de detailhandel online uit verschillende bronnen vanaf ongeveer $3,50-4 USD, beschikbaar van Sparkfun Digikey Jameco, Mouser, Newark, et alia. Ik kocht vier van hen van een eBay-winkel genaamd atomen industrieën. Is het absoluut noodzakelijk dat u dit specifieke model koopt! De ATmega32P-PU is de nieuwste chip- en degene die met deze tutorial werkt.
- 16 MHz oscillerende kristal - deze zijn helaas moeilijk te vinden in winkels, maar online kunt u verschillende voor echt goedkoop.
- Twee 22pF keramische condensatoren - Radio hutjes niet geneigd zijn om te verkopen deze obscure formaten, dus ik een ton van eBay kocht.
- Één 10uF Elektrolytische condensator - meestal rond de $1,50 bij Radio Shack.
- Een 10K Ω weerstand.
Een 220 of 470 Ω weerstand (optioneel). Dit is voor de LED die knippert op het breadboard wanneer de schets is geüpload.
- Een 5mm LED (optioneel). Wanneer de schets upload met succes op het bord, moet dit licht knipperen.
Ervan uitgaande dat u niet bekend bent met programmeren microcontrollers via een Arduino, ter wille van de beknoptheid, Raadpleeg Boris' link hierboven, welke breekt het nodige van waar u de draden en het wijzigen van uw code in meer detail. Ik zal dingen samenvatten en geven u de fundamentele overzicht:
- Selecteer "Arduino als een Internet-provider" op de voorbeelden-menu, selecteer uw model Arduino boards upmenu (in mijn geval Uno), de upload-schets. Je Arduino is nu geconfigureerd om te fungeren van een programmeur voor individuele microctrollers.
- Instellen van uw breadboard volgens de foto's, met de juiste items in hun exacte locaties--omvat dit de condensatoren, weerstanden, 16 MHz kristal, kabels, ATmega32 en de Arduino zelf (de Arduino aangesloten via USB).
- Zoek uw "boards.txt" bestand, gevonden: C:\Program Files\Arduino\hardware\arduino (die heeft waar mijne ligt - jou kan variëren op basis van waar u de Arduino IDE hebt geïnstalleerd).
- In het bestand boards.txt, kopieer en plak de tekst uit mijn bijgevoegde Kladblokbestand in de onderkant van de bestaande lijnen van code.
- Zodra u dit heeft gedaan, herstart de Arduino IDE, kijk naar het menu Extra, selecteer planken, en aan de onderkant moet u een nieuw bestuur genaamd "ATmega in Stand Alone - Julius Rocks! (Arduino als ISP) "--breng ik dat er uiteraard als een vlag om te weten als het werkte! Selecteer dat bestuur.
- Van de DL-44 blaster-code van de bijlagen openen en bekijken in de Arduino IDE. Mijn code bevat een kleine geluidsfragment van Han Solo's blaster afvuren; de geluid byte werd gewonnen door mij uit de exacte scène waar hij Greedo (eerste) voor film nauwkeurigheid schiet! Ik heb de geluidsclip omgezet in binaire code, zoals te zien in de code van de broninformatie. Ook heb ik specifieke vertragingen in de code het voorste snuit flash knipperen snel gedurende één seconde; u kunt met de functie van de vertraging voor snelheid/zacht dit omhoog knoeien, of verwijderen van het knipperen.
- Selecteer "Upload met behulp van programmeur"-- en niet via de reguliere uploaden.
- Als het werkte, gaat de code aan uw chip in een kwestie van seconden.
- Verwijder uw ATmega32 uit het breadboard en gaan naar de "Arduino op een Breadboard" stap om te testen!
Foto credits: Boris Landoni.