Seeeduino XIAO und das 16 in 1 Sensor Kit - Teil 1 - Vorbereitung - AZ-Delivery

Wenn ich ein Projekt beginne, denke ich als erstes darüber nach, welchen Mikrocontroller ich verwenden werde. Mein erster Gedanke ist, ein ATmega328-Board zu verwenden. Entweder die AZ-ATmega328-Version oder den AZ-Nano V3, weil sie einfach zu handhaben sind, weil sie mit der Arduino-IDE-Programmierumgebung kompatibel sind, an die ich mich gewöhnt habe und weil eine Vielzahl von Bibliotheken und Codes für die zusätzlichen Komponenten zur Verfügung stehen. Es gibt allerdings einige Alternativen, wie die ESP-Produktpalette, oder auch Raspberry Pi. Aus verschiedenen Gründen macht es Sinn, einmal auf einen anderen Mikrocontroller zu setzen.

In dieser Blogreihe soll das Seeeduino XIAO Mikrocontroller-Board verwendet werden. Es verfügt über mehr Leistung und Performance bei deutlich geringeren Abmessungen, als die ATmega328p-Boards. Das ist ideal für die Erstellung neuer Projekte für tragbare Geräte oder einfach Projekte mit kleinen Abmessungen.

Bevor wir zu seiner Beschreibung und der Arbeit mit ihm übergehen, wollen wir einige Daten mit den beiden anderen genannten Boards vergleichen.

 

Seeeduino XIAO

AZ-Nano V3

AZ-ATmega328

CPU

ARM Cortex-M0+ CPU (SAMD21G18) with up to 48MHz

ATmega328 with 16MHz

ATmega328 with 16MHz

Memory

256KB Flash, 32KB SRAM

32KB Flash, 2KB SRAM

32KB Flash, 2KB SRAM

I/O PINs

11 digital PINs, 11 analog PINs

22 digital PINs, 6 analog PINs

22 digital PINs, 6 analog PINs

PWM output

10 PINs PWM

6 PINs PWM

6 PINs PWM

ADC

11 PINs (12 bit)

8 PINs (10 bits)

6 PINs (10 bits)

DAC

1 PIN

-

-

Interface

1 I2C interface, 1 UART interface, 1 SPI interface

1 I2C interface, 1 UART interface, 1 SPI interface

1 I2C interface, 1 UART interface, 1 SPI interface

Input voltaje

3,3 – 5 V

7 – 12 V

7 – 12 V

Operating voltage

3,3 V

5 V

5 V

LEDs

1 user LED, 1 power LED, 2 serial port download LEDs.

1 user LED, 1 power LED, 2 serial port download LEDs.

1 user LED, 1 power LED, 2 serial port download LEDs.

Power Pads

For power supply

-

-

Software Compatibility

IDE Arduino OK

IDE Arduino

IDE Arduino

Dimensions

20 mm x 17,5 mm

18 mm x 45 mm

70 mm x 55 mm

Der Mikrocontroller auf dieser kleinen Platine ist der 32-Bit Atmel Cortex M0+ Mikrochip. Ein 32-Bit Single-Core-Prozessor mit einer Taktfrequenz von 48 MHz. Er verfügt über 256 KB Flash-Speicher und 64 KB SRAM, hat also eine höhere Leistung bei geringerer Größe. Es handelt sich um ein kleines Modul mit 14 Ausgangspins und anderen Anschlüssen über PADs auf der Oberfläche. Die Beschriftung der Pins auf der Platine beginnt bei 0, so dass die Pins auf der Platine mit den Nummern der Anschlüsse der digitalen und analogen Eingangs- und Ausgangspins übereinstimmen. Die jeweiligen Pins haben mehrere Funktionen, die ich hier beschreiben werde.

Spannungsversorgung des Moduls

Der Mikrocontroller kann mit 3,3V und mit 5V betrieben werden, da er über einen integrierten DC-DC-Leistungswandler XC6206P332MR verfügt.

Dieses Seeeduino XIAO Modul kann auf 4 verschiedene Arten mit Strom versorgt werden:

  • Über den USB-C-Anschluss mit 5 VDC.
  • Mit 5 VDC an PIN 13, der mit VCC beschriftet ist.
  • 3,3 VDC können direkt an Pin 11 des Moduls angelegt werden.
  • An der Unterseite des Moduls haben wir die PADs VIN und darunter den PIN GND, an den wir eine Spannung von 3,7 VDC bis 5 VDC anschließen können. An diese Anschlüsse könnte ein LiPo-Akku angeschlossen werden.

Eine weitere Besonderheit des Moduls ist, dass die PINs 11 und 13 als Eingänge oder Ausgänge verwendet werden können. Wenn die Spannung vom USB-C-Anschluss verwendet wird, kann PIN 11 als 3,3-VDC-Ausgang und PIN 13 als 5-VDC-Ausgang genutzt werden.

Wenn die 5 VDC-Spannung an PIN 13 angelegt wird, kann PIN 11 als 3,3 VDC-Ausgang verwendet werden. Aber wenn das Modul über PIN 11 mit 3,3 VDC versorgt wird, kann PIN 13 nicht als 5 VDC-Ausgang verwendet werden. PIN 12 ist der Masseanschluss (GND) des Moduls. Wie üblich müssen alle Masseanschlüsse der verwendeten Komponenten miteinander verbunden sein, um die gleiche Referenz zu erhalten.

Analoge Eingänge

Der Seeeduino XIAO Mikrocontroller hat insgesamt 11 analoge Eingangspins, von PIN 0 bis PIN 10. Jeder PIN ist mit einem 12-Bit-Analog-Digital-Wandler verbunden. Die maximale Spannung, die wir an jedem Pin verwenden können, beträgt 3,3 VDC. Das Anlegen einer höheren Spannung als 3,3 VDC führt zur Zerstörung des Pins oder des Mikrocontrollers selbst.

Digitale Ein- und Ausgänge

Die gleichen 11 Pins wie oben können als digitale Ein- und Ausgangs-Pins verwendet werden. Die maximale Arbeitsspannung beträgt ebenfalls 3,3 VDC. Für die meisten auf dem Markt befindlichen Module und Sensoren ist diese Spannung auch ausreichend. Wenn wir Sensoren oder Module verwenden, die mit einer Spannung von 5 VDC im Datensignal arbeiten, müssen wir einen Logikpegelwandler wie den TXS0108E dazwischenschalten.

Anschlüsse für Pulsweitenmodulation (PWM)

Wie die ATmega328-Mikrocontroller verfügt auch der Seeeduino über PWM-Anschlüsse und zwar genau 10 von PIN 1 bis PIN 10.

Anschluss für Digital-Analog-Wandler

PIN 0 ist der Ausgang des Digital-Analog-Wandlers. Er erzeugt ein reines Analogsignal von 0 bis 3,3 VDC.

Datenanschlüsse

Dieses Board hat wie erwähnt einen USB-C-Anschluss, um es mit dem Computer zu verbinden und die Sketches hochzuladen. Darüber hinaus hat es auch Schnittstellen für die I2C-, UART- und SPI-Kommunikation. Die Pins der einzelnen Schnittstellen sind die folgenden:

  • I2C: PIN 4 (SDA) und PIN 5 (SCL).
  • UART: PIN 6 (TX) und PIN 7 (RX).
  • SPI: PIN 8 (SCK), PIN 9 (MISO) und PIN 10 (MOSI).

Oberseite des Moduls

Auf der Oberseite des Seeeduino XIAO-Moduls befinden sich vier LEDs und zwei PADs zum Zurücksetzen des Moduls. LED L ist gelb und ist wie bei ATmega328-Boards mit dem internen D13-Pin des Mikrocontrollers verbunden. Man kann also den Blinksketch zum Testen verwenden. Die LED P ist grün und leuchtet, wenn das Modul unter Spannung steht. Die LEDs T und R sind blau und leuchten, wenn Daten über den USB-C-Anschluss gesendet und empfangen werden.

Um das Modul zurückzusetzen bzw. neuzustarten, müssen wir mit einem Kabel die beiden Pads neben dem USB-C-Stecker kurzschließen, eines davon ist mit RST bedruckt.

Unterseite des Moduls

Auf der Unterseite des Seeeduino XIAO-Moduls befinden sich 6 PADs. Die PADs VIN und GND können als alternative Spannungsversorgung werden verwendet. Die PADs RST und GND, die zum Zurücksetzen des Moduls verwendet werden, duplizieren die Funktionalität auf der Oberseite des Moduls. Die SWCLK- und SWDIO-PADs werden für die Debug-Funktion verwendet.

Vorbereitung des Seeeduino XIAO

Wenn wir den Mikrocontroller von AZ-Delivery erhalten, finden wir zwei kleine Beutel. Einer davon ist die Mikrocontroller-Platine und der andere sind die zwei Pinreihen, die wir an die Platine löten können. Sobald wir die Pins verlötet haben, schließen wir das Seeeduino XIAO Mikrocontroller-Board an unseren Computer an und testen, ob die grüne LED aufleuchtet. Die gelbe LED sollte blinken, sie ist wie gesagt mit dem internen Pin D13 verbunden. Der Blink-Sketch ist bereits ab Werk vorinstalliert. Wenn dies der Fall ist, herzlichen Glückwunsch, dann sind Sie auf der Hardware-Ebene bereit, mit dem nächsten Schritt fortzufahren, bei dem wir dieses Mikrocontroller-Modul in der Arduino IDE installieren müssen.

Installation des Seeeduino Modul-Managers in der Arduino DIE

Um den Seeduino-Modulmanager zu installieren, öffnen Sie zunächst die Arduino-Programmierumgebung (Arduino IDE), wählen Sie dann „File“ (Datei) und im Dropdown-Menü „Preferences“ (Voreinstellungen.

Das Einstellungsfenster öffnet sich und im Abschnitt „Additional Boards Manager URLs:“ (Zusätzliche Boardverwalter-URLs) müssen wir die Download-Adresse

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

hinzufügen. Diese Adresse ist das Repository des Seeeduino Modulmanagers, von dem aus die Arduino IDE nach verfügbaren Boards sucht, um sie später auswählen zu können.

Wenn das Textfeld leer ist, kopieren Sie einfach die Adresse aus dem Seeeduino-Modulmanager und fügen Sie sie in dieses Feld ein, dann klicken Sie auf OK.

Wenn Sie bereits eine andere Adresse in diesem Textfeld haben, können Sie diese hinzufügen, indem Sie entweder ein Komma am Ende des vorhandenen Textes eingeben und diese neue Adresse hinzufügen, oder indem Sie auf die Schaltfläche rechts klicken. Es öffnet sich ein Dialogfeld, in dem Sie weitere Adressen von Mikrocontroller-Board-Verwaltern hinzufügen können, die unterhalb der letzten vorhandenen hinzugefügt werden müssen. Klicken Sie in beiden Feldern auf OK und Sie haben den Seeeduino-Modulmanager hinzugefügt. Sie können nun das Seeeduino XIAO-Modul wie unten beschrieben auswählen.

Installation des Seeeduino Xiao-Moduls in der Arduino IDE

Sobald wir den Modulmanager in der Arduino IDE installiert haben, können wir den letzten Schritt durchführen. Klicken Sie auf „Tools“ (Werkzeuge), wenn sich das Drop-Down-Menü öffnet, müssen wir auf die Option „Board: XXXXXXXX“ gehen, so dass ein weiteres Drop-Down-Menü erscheint, wo wir „Boards Manager...“ (Boardverwalter) auswählen müssen.

Es öffnet sich ein Fenster. In das Textfeld neben „Typ“ geben Sie „Seeeduino Xiao“ ein, es erscheint das Installationspaket „Seeed SAMD Boards by Seeeduino Studio“, klicken Sie auf die Schaltfläche „Install“ (Installieren).

Die Installation dieses Pakets kann einige Zeit in Anspruch nehmen, haben Sie also etwas Geduld, denn wir sind fast fertig. Wenn die Installation abgeschlossen ist, müsste hinter dem Namen der Bibliothek „Installed“ erscheinen. Klicken Sie auf die Schaltfläche „Close“ (Schließen).

Jetzt haben wir unser Seeeduino XIAO-Modul installiert. Um zu überprüfen, ob wir den obigen Prozess erfolgreich abgeschlossen haben, klicken Sie im Optionsmenü auf „Tools“ (Werkzeuge) und im Dropdown-Menü auf „Board: XXXXXXXX“, woraufhin alle Module, die wir installiert haben, angezeigt werden. Abhängig von der von Ihnen verwendeten Arduino-IDE-Version kann die Darstellung etwas abweichen.

Wählen Sie das Seeeduino XIAO Board aus. Schließen Sie das Modul mit einem USB-C-Kabel (stellen Sie sicher, dass das Kabel nicht nur ein Stromkabel ist, es muss auch Daten übertragen können) an Ihren Computer an. Überprüfen Sie, ob die grüne LED leuchtet und die gelbe LED blinkt. Klicken Sie nun erneut auf „Tools“ (Werkzeuge), um die Optionen anzuzeigen und scrollen Sie nach unten zu „Port“. Klicken Sie, um das Dropdown-Menü zu öffnen und wählen Sie den COM-Port aus, an den das Seeeduino XIAO-Modul angeschlossen wurde. Die COM-Portnummer kann hier variieren. Damit ist die Kommunikation mit Ihrem Mikrocontroller hergestellt.

Unser erstes Programm: „Hallo Welt“ in Hardware

Beim Programmieren ist das erste Programm, das man lernt, das „Hello world!“, das auf dem Bildschirm erscheint. Wie wir bereits wissen, besteht das „Hello world!“ in der Welt der Mikrocontroller darin, eine LED blinken oder leuchten zu lassen. Der erste Sketch, den wir also hochladen werden, ist das berühmte „Blink.ino“. Wir öffnen Datei -> Beispiele -> 01.Basic -> Blink. Die Zeit, in der die LED ein- oder ausgeschaltet wird, können Sie ändern, indem Sie den Wert der Verzögerung in delay(1000) ändern. Der Wert zwischen den Klammern wird in Millisekunden angegeben, also sind 1000 gleich 1s.

Klicken Sie dann auf das Symbol  oder unter „Sketch“ auf Hochladen, oder drücken Sie die Tastenkombination STRG+U, um den Sketch auf den Seeeduino-Mikrocontroller zu laden.

Unsere erste Schaltung - Anschluss einer roten LED

Die erste Schaltung, die wir erstellen werden, ist die Steuerung einer externen LED mit dem Blink-Sketch. Dazu schalten wir einen 330-Ohm-Widerstand in Reihe mit einer roten LED, schließen ihn an den digitalen Pin 6 an und legen eine Pause von 200 Millisekunden zwischen den Zustandsänderungen des Pins fest. Wenn das Seeeduino XIAO-Modul über das USB-C-Kabel mit dem Computer verbunden ist, laden wir den Sketch auf den Mikrocontroller. Zuerst wird der Code kompiliert und dann (wenn keine Fehler enthalten sind) auf den Mikrocontroller geladen. Im Bild unten sehen Sie die Meldungen, die die Arduino-DIE anzeigt:

 

Nun, da wir unseren Mikrocontroller in Betrieb haben, können wir Projekte mit diesem kleinen Modul umsetzen. In den nächsten Artikeln werden wir die Sensoren des AZ-Delivery 16 in 1 Kits zusammen mit dem Seeeduino XIAO testen und überprüfen die Kompatibilität dieses Mikrocontrollers bei der Verwendung der Sensoren.

Für arduinoProjekte für anfänger

Kommentar hinterlassen

Alle Kommentare werden von einem Moderator vor der Veröffentlichung überprüft

Empfohlene Blogbeiträge

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery