In diesem Beitrag stelle ich dir den Seeeduino Nano vor welchen ich mit einigen Grove Shields von der Firma Seeedstudio bekommen habe.
Auch wenn ich diese Shields (fast) kostenfrei zur Verfügung gestellt bekommen habe, möchte ich meine persönliche, freie, Meinung zu diesen Bauteilen äußern.
Der Seeeduino Nano
Der Seeduino Nano ist ein Microcontroller mit einer USB-Typ-C Schnittstelle sowie einem Groove Adapter.
Auf dem Board ist ein Mikrochip vom Typ „ATMEGA328P-AU“ verbaut, welcher mit einer Taktgeschwindigkeit von max. 20 MHz läuft.
Microchip | ATMEGA328P-AU |
Datenbus-Weite | 8 bit |
Maximale Taktfrequenz | 20 MHz |
Programmspeichergröße | 32 kB |
RAM-Datengröße | 2 kB |
Anzahl Eingänge / Ausgänge | 23 |
Schnittstellen-Typen | I2C, SPI, USART |
Aufbau des Microcontrollers
Der Seeeduino Nano verfügt neben der genannten USB-Typ-C Schnittstelle auch über eine Grove I2C Schnittstelle.
Grove Shield
Der Mikrocontroller kann auf ein Breadboard gesteckt werden und von dort kann man bequem die digitalen und analogen Pins mit Breadboardkabel abgreifen. Jedoch gibt es speziell für die Grove Schnittstellen ein Grove Shield welches über mehrere solcher Buchsen verfügt.
Das Grove Shield hat
- 3x digitale Schnittstellen (D2, D4, D6),
- 3x analoge Schnittstellen (A0, A2, A6), sowie
- 1x I2C, und
- 1x UART
Wem dieses nicht reicht, der kann natürlich noch die „normalen“ Pins abgreifen, dafür müsste man jedoch idealerweise zwei Pinleisten auf das Board löten.
Grove Shields
Nachfolgend möchte ich einige Grove Shields vorstellen welche dem Paket beigelegt waren.






Die Verpackung ist gut und schön gelungen.
Diese macht einen besseren Eindruck als einfache ZIP Beutel.
Grove – Red LED & Grove – Blue LED
Die beiden Grove Shields sind jeweils mit einer roten bzw. blauen LED ausgestattet.
Diese beiden LEDs schließen wir nun mit dem beigefügten Kabel an das Grove Shield an.
Durch die Stecker welche verpolungssicher ausgelegt sind, ist eine Verkabelung sehr einfach.
Quellcode
Der Quellcode um die LEDs am Seeeduino zu betreiben ist natürlich der gleiche, wie für einen Arduino.
#define ledRot 2 //D2 #define ledBlau 4 //D4 const int PAUSE = 250; void setup() { pinMode(ledRot, OUTPUT); pinMode(ledBlau, OUTPUT); } void loop() { digitalWrite(ledRot, HIGH); delay(PAUSE); digitalWrite(ledRot, LOW); delay(PAUSE); digitalWrite(ledBlau, HIGH); delay(PAUSE); digitalWrite(ledBlau, LOW); delay(PAUSE); }
In diesem Beispiel lasse ich die LEDs der Shields nacheinander im Intervall von 250ms. Aufleuchten.
Video
In dem nachfolgenden Video erläutere ich den oben gezeigten Quellcode ausführlich.
Grove – Variable Color LED
Unter der Bezeichnung „Grove – Variable Color LED“ führt die Firma Seeedstudio eine RGB LED welche über eine digitale Grove Schnittstelle verfügt.
Diese LED hat einen Durchmesser von 8 mm und kann mit 3.3V sowie 5V betrieben werden.




Da die Platine der LED beidseitig bestückt ist kann diese nicht wie die einfachen LEDs plan auf der Tischplatte aufliegen hier behelfe ich mir mit einer dritten Hand welche eigentlich zum löten dient.
Einstellen der Farbe
Die Farbe der RGB LED wird über 3 Drehpotentiometer auf der Rückseite der Platine eingestellt.
Video
In dem nachfolgenden Video zeige ich wie die Farbe an der LED eingestellt wird und wie man ein Fade-Effekt programmiert.
Quellcode
Nachfolgend möchte ich zwei Sketche zeigen, welche zunächst einfach nur die LED aktivieren und die andere welche ein Fade-Effekt erzeugt.
aktive LED
Um die LED zu aktivieren, bedarf es entweder dem einfachen setzen eine HIGH signales oder aber per analogWrite(<PIN>,125); beides führt dazu das die LED aktiviert wird.
#define ledPin 4 //RGB LED am digitalen Pin D4 angeschlossen void setup() { pinMode(ledPin, OUTPUT); } void loop() { analogWrite(ledPin, 125); //oder digitalWrite(ledPin, HIGH); }
Fade-Effekt
Damit die LED per PWM angesteuert werden kann muss diese zunächst an den Pin D6 angeschlossen werden. Denn dieses ist ein PWM Pin! Die anderen beiden Pins (D2 und D4) sind keine PWM Pins.
#define ledPin 6 //RGB LED am digitalen Pin D6 angeschlossen void setup() { pinMode(ledPin, OUTPUT); } void loop() { for(int i=0;i<255;i++){ analogWrite(ledPin, i); delay(80); } for(int i=255;i>=0;i--){ analogWrite(ledPin, i); delay(80); } }
Fazit
Die Grove Schnittstelle bietet dem Laien die einfachste Möglichkeit verschiedene Shields zu programmieren ohne, dass man sich um die Verkabelung Sorgen machen muss. Die Programmierung ist wie bei allen Shields sehr einfach und durch die sehr gut beschriebenen Wiki Einträgen auf http://wiki.seeedstudio.com/ kinderleicht.
Als nächstes möchte ich dann jeweils in einzelnen Beiträgen die Shields
vorstellen.
Dazu folgen jeweils einzelne Tutorials wo ich diese Shields gesondert und im Detail betrachte.