Stap 2: De Attiny85 Program
Ik had gepland uit waar ik LEDs in de ketting wilde. Op basis van de 5 pinnen beschikbaar op de Attiny85 (5 input/outout, reset, GND, v +), ik kon paar op LED's voor elke pin om mij 10 LED-verlichting om mee te werken. Je moet echt de max output of huidige draw op elke pin en wat uw LEDs tekent. Uit ervaring, ik wist dat ik kon leven gevaarlijk met behulp van 2 paralled wired LEDs met weerstanden op elke pin van de chip. Met alle LEDs vol aan, ik denk niet dat ik zou branden uit een chip... volledig doen een matrix van LEDs is ingewikkelder en ik wilde gewoon te doen iets simpels. "Charlieplexing" om te zien hoe meer LEDs met een beperkt aantal pinnen op de chip oplichten opzoeken.
Verlichting van de LED's is de fundamentele digitale schrijven inschakelen van de LED.
Je moet om het te krijgen aan het licht omhoog in een patroon, program een Attiny-chip. Als u niet een AVR programmeerapparaat hoeft, kunt u de code naar de Attiny schrijven met behulp van een Arduino board aangesloten op uw PC als het programmeerapparaat.
En dit is dus mijn avontuur in programmeeromgevingen is dit een Attiny85...
Er zijn een heleboel ibles al over het programmeren van een Attiny. Veel mensen hebben al gedaan, dus kan ik.
Ik ga niet herhalen of elk van de details bevatten, aangezien ze worden herhaald in alle die ibles.
Laden de schets van een ISP, zodat de Arduino als een AVR-programmer fungeren zal.
Korte de resetpin en 5v + met een condensator op de Arduino dus het houdt niet op autoresetting zelf tijdens het proces.
Draad bepaalde pinnen van de Attiny tot de Arduino communicatie en macht vast te stellen.
Branden een bootloader aan de Attiny om de snelheid die het op moet draaien.
Vergeet niet de instelling van de Raad van bestuur in het menu dat u het verbranden van een Attiny85 op 8mhz klok wijzigen.
Upload uw schets naar de Attiny via de gewone Arduino IDE.
Het is zo eenvoudig om in te stellen.
---------------------------------------------------------------------------------------------------------
Ik had mijn schets alle uitgewerkt aan het licht van mijn LEDs in een patroon op de Arduino.
Ik had net te wijzigen van de opdrachten van de pin overeenkomen met degene op de Attiny.
Merk op dat sommige opdrachten worden niet ondersteund op de Attiny die beschikbaar zijn op de Arduino. Ik was slechts enkele elementaire dingen bezig.
Ik bouwde een beetje AVR programming schild, omdat de bedrading van de chip en de Arduino is zo'n karwei zelfs met een breadboard. Als u met kop-pinnen sluit aan op de Arduino, lijken opmerking is de rare afstand en plaatsing van de vrouwelijke koptekstrijen op de Arduino bord waarmee u gemakkelijker uw pinnen zijn misplaatst en je moet alles met het blote oog worden uitgelijnd voordat u het aansluit.
Om een lang verhaal kort; Ik was klaar om mijn eerste Attiny program. Met de ISP geladen op de Arduino, ik aangesloten in mijn schild met de chip. Een mooie pulserende gloed van de hartslag LED, eigenlijk was het echt te fel dus heb ik een stukje tape overheen. Hit uploaden. Ik heb elke fout die alle die ibles verteld u te negeren. Ik heb de Attiny ingesteld zelfstandig uitvoeren. Niets.
(Over een tijdsspanne van een uur of meer...) Check opnieuw schild bedrading, herprogrammeren ISP, installeren elke versie van de Arduino IDE 022 via 1.05, draad direct zonder het schild, gebruik van weerstanden te korte het resetten op mijn UNO, onderzoek andere fouten of waar de uploader was opknoping... Put is allemaal weg naar de volgende dag weer proberen. Echt bereid op te geven.
---------------------------------------------------------------------------------------------------------
Dus de volgende dag... Na het lezen van alle de support forums op waarom het branden van de chip was niet van plan al te goed, besloten heb ik om te duiken in een tweede chip. Ik had een set van 5 gekregen van ebay, dus ik zat ook te denken waren zwerver chips. Ik keek zelfs Attiny85v en degene gemarkeerd-10 p of -20 p, dat is wat ik had. Deze nieuwe chip gaf me een nieuwe reeks van fouten dus iets veelbelovend was. Ik kon heb gesmolten de eerste chip en het bricked. Enige manier om unbrick eventueel een chip is met een hoog voltage programmeur die ik niet heb (het is niet zo slecht als het klinkt, maar ik zag het op immers dit en het is gewoon een schild met 12v de chip te resetten). Alle fouten die ik kreeg waren als gevolg van sommige seriële communicatie-fout en de timing van deze kleine chips zijn vrij gevoelig. Ik had geprobeerd om te branden alle combinaties van die snelheid.
Maar terug naar het verhaal... Er was een eenzaam vermelding ergens dat moet u de seriële communicatie in de software aanpassen. Probeer te vertragen aangezien de Attiny echt op 1 mhz loopt. In het ISP-programma veranderde ik de baud-rate aan 9600 en de instelling in programmer.txt. Het leek om iets te doen zoals sommige bytes werden geschreven maar nog gesmoord midway. Ik zag nog steeds de seriële monitor staat 19200. De programmer.txt is een lange tekenreeks die langs mijn tekstverwerker verschoven zodat ik deed het eerder niet bewerken. Met die veranderde de programmeur krijgen een beetje verder. Het lijkt erop dat deze Arduino ISP schetsen kernen heten en ik was niet zeker welke een gebruik dat iedereen die met succes werd gebruikt. Bovendien, ze werkten alleen met bepaalde versies van de Arduino IDE. Ik had om erachter te komen waar mijn programmer.txt bestand was en als dat met de versie van de IDE was ik liep. Ik verrekend op 1.04 en de kernen van de MIT HiLowTech github, ik denk dat die werkten. Ik had laten vallen de baud-rate tot 2400 tot slot voor een succesvolle lading. Arme chip heeft enkele verbogen pennen uit wordt getrokken in en uit de aansluiting aan het breadboard te testen. Zeker, een paar seconden met een lagere schrijfsnelheid opgeofferd maar het werkte...
Ik had geprobeerd om analogwrite te werken in het vervagen van de LEDs wanneer uitvoert op een Attiny85 op 8mhz. Er zijn slechts 2 PWM staat pinnen maar ik heb geprobeerd ze allemaal. Er was geen merkbare fade-effect zelfs met het veranderen van de vertragingstijden of het zou sputter en gewoon flikkeren. Ik gaf op het idee van het gebruik van LED vervagen en gekalkt het tot de eigenzinnige timing van de kleinere chip. Ik las ergens de macht gaan wellicht moeten worden gefilterd door condensatoren, aangezien het wordt beïnvloed door motorgeluiden. Ik wilde alleen maar om te krijgen sommige LEDs knipperen. Ik heb drie meer chips om mee te spelen. Jouw snelheid kan variëren.