Min Arduino i Circuit programmerare
Denna lata gamla Geek är också en Arduino Geek. Om du är en Arduino Geek, är en av de gemensamma microcontrollers används av Arduinos Atmega328 chip. Använda Arduino programvara, måste Atmega har bootloader programvara på den.
Okej, så jag köpte några tomma Atmega328-PU marker från Mouser.com.
Tips: Om du vill göra ditt liv enklare, för Atmega328P-PU chips istället för Atmega328-PU chips.
Jag insåg inte att det fanns en skillnad. Såvitt jag kan berätta, Atmega328P-PU har lägre effekt men den har också en annan enhet signatur som är viktig för Arduino användare. Från och med November 2011 är Atmega328-PU billigare av ungefär $1.
Problem: Så finns det hundratals artiklar om att installera starthanteraren på Atmega328. Jag byggde en använder en annan Arduino för att programmera chip. Jag byggde en använder USB-BUB för att programmera chip. Jag byggde en använder parallellporten Programmera chip. Tja, även efter en vecka av felsökning och söka på Internet, ingen av dem fungerade. Så jag gav upp. Jag är vanligtvis en mycket långlivade hacker men jag börjar bli gammal så jag gav upp.
Lösning?: Tja, ungefär en månad senare såg jag en annan starthanterare från Ladyada.net:
http://Ladyada.net/Library/tools/standaloneisp.html
Tja, här såg väldigt lik de flesta andra jag hade byggt. Men det var från AdaFruit som har några av de bästa tutorials (korrekt, komplett, väl dokumenterade) jag har sett för Arduino och hade annan kod. Jag hackade upp maskinvara (se bild) med en RBBB Arduino och lastade programvaran. Och gissa vad. Det fortfarande fungerade inte.
Mycket FRUSTRERANDE!
Tja, jag såg på koden och såg att det bildades att använda Serial-uttaget. Så jag öppnade upp Serial-uttaget och körde programmet igen.
Detta är felmeddelandet jag fick. (Se bild)
Efter en massa lurar runt med Bootloaders tänkte jag att detta inte var den rätta signatur som de flesta program var ute efter.
Signatur: Så vad är en signatur? Tja, det visar sig är det en särskild kod hårt fast i chipet att identifiera den. Nu all bootloader programvara tycktes letar efter 0x950F och inte 9514 eller 0x9514.
Fackspråk: Detta är som ROM-koden som inte kan ändras. Förresten när du ser programkod skriven börjar med '0 x' som betyder att det är ett hexadecimalt tal. Jag tänker inte gå in på detaljer men hexadecimala tal gå från 0 till 15 i stället för 0 till 10.
Signatur: Så det visar sig bootloader programvaran jag sett var baserade på en 0x950F underskrift som är signaturen för Atmega328P-PU chip. I elektronik ignoreras i 40 år, jag vanligtvis bokstäver efter numret. De är oftast bara revideringar. Detta är i grunden sant men i detta fall påverkar även bootloading.
Fackspråk: PU avser förpackningen i detta fall PDIP som passar till 28 pin smala IC uttaget som föredras av de flesta amatörer.