Table of ContentsDigispark ATtiny85 USB ReviewAufbauDer Digispark ATtiny wird schon fast fertig geliefert, einzig die Header muss man noch ein löten. Das ist sehr schnell gemacht und überhaupt kein Problem. So sieht er fertig aufgebaut aus, schon sehr kompakt. Er eignet sich also sehr gut für kleine Projekte, ATtiny typisch wie erwartet. ProgrammierungAls nächstes kümmern wir uns um die Programmierumgebung. Hier stellte bis anhin Digispark eine angepasste Arduino IDE zur Verfügung. Neuerdings bietet aber die Arduino IDE den Board Manager, darüber kann ganz einfach die Digisspark Sources dazu installiert werden. Hier im Digistump Wiki ist alles genau beschrieben. Die URL für die Unterstützung im Board manager ist folgende: http://digistump.com/package_digistump_index.json Jetzt gibt es in der Arduino IDE zusätzlich einige Digispark spezifischen Beispiele. Diese werden jedoch erst sichtbar wenn auch ein Digispark Board ausgewählt wurde. Gewöhnungsbedürftig ist dann vor allem dass in der Arduino IDE kein COM Port sichtbar ist und dass das Board erst auf Auforderung von der IDE eingesteckt werden soll. Also erst Programmieren, Uploaden und dann warten bis die IDE das Board verlangt und erst dann einstecken. Hier der Dialog: Danach blinkt die eingebaute LED wie gewünscht und jetzt können wir richtig loslegen. PinsHier die Auflistung der Pins. All pins can be used as Digital I/O Pin 0 → I2C SDA, PWM (LED on Model B) Pin 1 → PWM (LED on Model A) Pin 2 → I2C SCK, Analog Pin 3 → Analog In (also used for USB+ when USB is in use) Pin 4 → PWM, Analog (also used for USB- when USB is in use) Pin 5 → Analog In Das Model von Boxtec ist Model A, wo die LED auf Pin 1 angeschlossen ist. DebuggingDer normale Serial Monitor kann nicht wie Arduino üblich genutzt werden. Jedoch bietet der Digispark einige andere Möglichkeiten. Hier die komplette Auflistung. Ich habe mir das DigiKeyboard ausgesucht. Unter Libraries/DigisparkKeyboard/examples gibt es ein Beispiel. Dabei kann mit Hilfe der Library und einem Befehl Text an den Computer gesendet werden. Somit kann gleich wie beim Serial Monitor damit sehr einfach erfahren werden was das Programm gerade macht. Sobald das Programm abläuft ein Texteditor auf dem Computer öffnen und schon werden die Zeichen welcher der Digispark sendet dargestellt. BeispielanwendungI2C Digital PotentiometerDer Attiny85 kann auch mit I2C kommunizieren. Hier als Beispiel ein digitales Potentiometer (http://shop.boxtec.ch/digital-potentiometer-i2c-10k-mcp4531-103e-p-41307.html). Wichtig: der Attiny85 hat für die I2C Ports keine Pullup Widerstände. Die Pullup Widerstände müssen also in jedem Fall, auch bei sehr kurzen Leitungen eingebaut werden. Um das Ergebnis zur prüfen ist eine Led über das Potentiometer angeschlossen. Damit kann geprüft werden ob sich der Widerstand auch wirklich ändert. I2C an Digispark:
Hier der Aufbau: Und hier das Schema: Hier das Coding: // I2C Digital Potentiometer on Attiny85 / Digispark // // Connection: // // MCP4531 Helvetiny85 // 1 GND // 2 PB2 (SCL) // 3 PB0 (SDA) // 4 GND // 5,6,7 (Poti) // 8 VCC (5V or 3.3V) #include <TinyWireM.h> // I2C Master lib for ATTinys which use USI int ledState = LOW; int potival = 0; unsigned long previousMillis = 0; const long interval = 100; void setup() { TinyWireM.begin(); } void loop() { unsigned long currentMillis = millis(); if(currentMillis - previousMillis >= interval) { // save the last time you blinked the LED previousMillis = currentMillis; // if the LED is off turn it on and vice-versa: if (ledState == LOW){ ledState = HIGH; potival = 0; } else { ledState = LOW; potival = 127;} // Send TinyWireM.beginTransmission(0x2E); TinyWireM.send(0x00); TinyWireM.send(potival); TinyWireM.endTransmission(); } } Led Pixel |
|
Letzte Aktualisierung: © boxtec internet appliances · the better security products |