TinyMega.nl

Electronica is leuk. En microcontrollers zijn ook leuk. Maar het is niet altijd gemakkelijk om een project tot een goed einde te brengen. Tinymega.nl gaat u daarbij helpen door een aantal voorbeelden te geven en die dan volledig uit te werken. Daarbij komt de nadruk te liggen op het verklaren van de achtergronden van alle stappen die genomen moeten worden. Wij werken hier vooral met microcontrollers van de firma ATMEL, met name de 8-bit AVR familie. Atmel heeft als fabrikant natuurlijk de benodigde datasheets met heel veel relevante informatie gepubliceerd, maar het is niet altijd even gemakkelijk om daarin de oplossingen te vinden voor alle problemen. TinyMega.nl gaat niet uit vanuit de processor om alles te vertellen wat er mogelijk is, maar gaat uit van de gewenste funkties, en legt uit wat er nodig is om die funkties te realiseren. Daarbij komen ook een aantal technische zaken aan de orde, zoals het aansturen van displays, het uitlezen van schakelaars en drukknoppen enz.

Nederlandstalig

Deze website is geheel in het nederlands om alles zo duidelijk mogelijk uit te leggen. De onderliggende documentatie is wel vaak in het engels en er worden ook veel technische termen gebruikt. Die technische termen hebben meestal een engelse oorsprong. Die technische termen gaan we niet vertalen. De meeste daarvan zijn inmiddels al zo ingeburgerd dat een vertaling alleen maar verwarring zou geven en dat is nu net niet de bedoeling. Bovendien is het veel beter om vertrouwd te raken met de oorspronkelijke termen zodat ook de officiële engelse documentatie duidelijk wordt.

Wat heeft u allemaal nodig?

Een micro-controller.

Maar welke? Er zijn inmiddels duizenden modellen op de markt en het is niet te doen om daar uit het perfecte exemplaar te kiezen. Hier introduceren we een aantal voorbeelden uit de ATMEL 8-bit AVR familie. En dan vooral de volgende modellen:

Ontwikkel omgeving.


Een microcontroller is feitelijk een klein computertje met een aantal aanslutingen. De controller moet geprogrammeerd worden want zonder programma gebeurt er niets. U kunt het programma schrijven op een PC, in een programmeertaal. Dat resulteert in een (of meer) source files, tekst bestanden met daarin de instrukties voor de processor zoalss u die heeft ingevoerd. Vervolgens moeten die sources files worden omgezet in een Hex-File. Dat is ook een tekst bestand op uw PC, maar dan gevuld met hexa-decimale getallen. Het omrekenen van een source-file naar een hex-file wordt gedaan door een compiler. Dat is een computer programma dat u kunt opstarten om de vertaling uit te voeren. De hex-file wordt vervolgens in de micro-controller weggeschreven. Als dat gebeurt is dan kan de microcontroller het programma uitvoeren.

Voor elk van die stappen zijn er meerdere mogelijkheden. Zo zijn er commerciële pakketten in de handel die tamelijk prijzig kunnen zijn, en er zijn ook open-source pakketten in omloop die u gratis kunt gebruiken.

Een text-editor.

Dit is een programma waarmee u de sourcefiles kunt invoeren in de computer. Microsoft levert bijvoorbeeld 'NotePad' mee met elke windows installatie. In principe is dat al voldoende, maar u zult snel zien dat wat extra funkties toch wel handig kunnen zijn.

avr-gcc Compiler.

Dit is een open-source compiler uit de linux omgeving. En is ook beschikbaar voor windows computers. Het is een compiler die sources files in de taal 'C' en ook in 'C++' kan omzetten naar machine codes in een hex-file. Het is een 'kale' compiler die bestaat uit een aantal command-line programma's die de feitelijke omzetting uitvoeren.

Programmer.

Dit is een toolset die gebruikt wordt om het hex-bestand dat door de compiler is aangemaakt naar de microcontroller weg te schrijven. Het bestaat uit een koppeling vanaf de PC naar de microcontroller, en een programma op de PC die de koppeling aanstuurt. Ook hier zijn weer vele mogelijkheden om uit te kiezen. Het bekendste programma is AvrDude. Die kan een grote verscheidenheid van koppelingen aansturen. Als koppeling moet u denken aan een USB kabel met een klein adapter printje. En soms kan het ook zonder zo een printje, zoals we later zullen zien.

Atmel Studio.