Stap 1: V-USB
Wat is het probleem?
Vele AVR microcontrollers hebben een UART, die het mogelijk maakt van seriële communicatie met andere chips of een computer via de seriële poort. Echter niet veel nieuwere computers zijn tegenwoordig uitgerust met een seriële poort voorzien in plaats van USB-poorten. Het is mogelijk om te communiceren met een chip van AVR via USB met behulp van een omzetten chip als de FTDI FT232RL vinden op de Arduino, maar of u een bord of een kabelgebruikt, u kosten en complexiteit toevoegt aan uw project. Als enige was er een gemakkelijke manier om te praten met de AVR-chip rechtstreeks via USB...
Voer V-USB
Dus wat is V-USB? Van hun website (http://www.obdev.at/products/vusb/index.html):
V-USB is een software-implementatie van een low-speed USB-apparaat voor Atmel's AVR® microcontrollers, die het mogelijk maken om te bouwen USB-hardware met bijna elke AVR® microcontroller, niet vereist extra chip.
Klinkt geweldig! Dus wat moeten we aan de slag?
- Een kopie van de V-USB-code, die u van het vennootschappelijk download pagina of hun github pagina grijpen kunt.
- Een versie van het bestand usbconfig.h gewijzigd voor onze specifiek project (meer hierover later).
- Een AVR microcontroller met ten minste 2 kB Flash-geheugen, 128 bytes RAM, die kan worden uitgevoerd op 12 MHz, 15 MHz, 16 MHz of 20 MHz (met een kristal) of op 12,8 MHz of 16.5 MHz (met een interne RC-oscillator).
Het kiezen van een microcontroller
Naast de bovenstaande vereisten moet onze microcontroller ook 3 PWM kanalen, waarmee elk van de RGB-kleuren. Ik koos voor de ATmega168 gebruiken omdat ik had één rondslingeren, maar er een paar verschillende opties (zoals de ATtiny2313 zijn). Als u een verschillende microcontroller kiest, moet u de meegeleverde firmware-code te wijzigen.