In diesem Beitrag möchte ich dir den Arduino Oplà vorstellen und anhand des Arduino MKR Zero zeigen, wie dieser programmiert wird.
![](https://draeger-it.blog/wp-content/uploads/2023/02/Arduino_Opla_gr.png)
Bezug eines Arduino Oplà
Den mir vorliegenden Arduino Oplà habe ich im Onlineshop Reichelt für knapp 45 € inkl. Versandkosten bestellt.
Du bekommst dieses Modul aber auch in anderen Shops, wie nachfolgend aufgelistet:
Shop | Preis | Versandkosten |
---|---|---|
https://www.reichelt.de | 39,90 € | 5,95 € |
https://www.berrybase.de | 47,75 € | 2,90 € |
https://www.conrad.de | 63,99 € | 4,95 € |
https://www.voelkner.de | 58,92 € | 5,95 € |
Lieferumfang
Zum Lieferumfang des Moduls gehört neben dem Modul selber noch ein paar Aufkleber, sowie ein kleiner gefalteter Zettel mit einer Grußbotschaft und einem Hinweis auf die Garantie.
Zusätzlich wird noch ein kleines Kabel mitgeliefert, dieses dient dazu den Mikrocontroller mit Strom zu versorgen.
![](https://draeger-it.blog/wp-content/uploads/2023/02/Arduino_Opla_Verpackung1.jpg)
![](https://draeger-it.blog/wp-content/uploads/2023/02/Arduino_Opla_Verpackung2.jpg)
![](https://draeger-it.blog/wp-content/uploads/2023/02/Arduino_Opla_unbox1.jpg)
![](https://draeger-it.blog/wp-content/uploads/2023/02/Arduino_Opla_Lieferumfang.jpg)
Offizielle Dokumentation
Auf der offiziellen Seite findest du viele Beispiele, welche du mit dem Arduino Oplà und einem zusätzlichen Mikrocontroller der Arduino MKR Familie durchführen kannst.
Der Arduino MKR Zero ist der günstigste Mikrocontroller aus dieser Familie jedoch verfügt dieser über kein WiFi somit würde ich dir empfehlen den MKR 1010 zu verwenden.
Aber dieser kann auch an den Arduino Oplà angeschlossen und programmiert werden.
Vom Hersteller findest du auf YouTube einige Videos, in welchen dieses Modul und seine Funktionen vorgestellt werden.
Da das Modul bereits seit mehr als 1 Jahr auf dem Markt erhältlich ist, gibt es bereits diverse Projekte mit diesem. Vor kurzem wurde eine zweite Version veröffentlicht, was bedeutet, dass die Vorgängerversion etwas günstiger / erschwinglicher geworden ist.
Aufbau
Zunächst kommen wir zum Aufbau, dieses Modul von Arduino verfügt über eine Vielzahl von Sensoren & Aktoren, welche recht einfach mit dem entsprechenden Mikrocontroller programmiert werden können.
Sensoren
- Drucksensor LPS22HB,
- Intertialsensor (IMU): LSM6DS3
- Feuchtigkeits- /Temperatursensor: HTS221
- Licht, Gesten-, Annäherungssensor: APDS-9960
Aktoren
- RGB Display
- Summer
- 5x RGB LEDs
- 2x Relais (24 V)
Besonderheiten
- 18650 Batteriehalter
- SD-Kartenslot
- Groove Anschlüsse
![](https://draeger-it.blog/wp-content/uploads/2023/02/Arduino_Opla_Aufbau.jpg)
![](https://draeger-it.blog/wp-content/uploads/2023/02/Arduino_Opla_Aufbau_Vorderseite.jpg)
Pinbelegung der Sensoren & Aktoren
Nachfolgend das Pinout des Arduino Oplà:
Bauteil | Arduino Oplà |
---|---|
Touchsensor 0 | D15 / A0 |
Touchsensor 1 | D16 / A1 |
Touchsensor 2 | D17 / A2 |
Touchsensor 3 | D18 / A3 |
Touchsensor 4 | D19 / A4 |
Grove Anschluss „AN5“ | D20 / A5 |
Grove Anschluss „AN6“ | D21 / A6 |
SD-Card – CS | D0 |
Display – DC | D1 |
Display – CS | D2 |
Display – BL (Backlight) | D3 |
Display – RST | RESET |
LED – CKI | D4 |
LED – SDI | D5 |
INT | D6 |
BUZZER | D7 |
COPI | D8 |
SCK | D9 |
CIPO | D10 |
SDA | D11 |
SCL | D12 |
Relais 2 | D13 |
Relais 1 | D14 |
In der offiziellen Dokumentation findest du ein Bild mit allen Pins zum Modul.
![Pinout der Vorderseite des Arduino Oplà](https://draeger-it.blog/wp-content/uploads/2023/02/Arduino_Opla_Pinout_front.png)
![Pinout der Rückseite des Arduino Oplà](https://draeger-it.blog/wp-content/uploads/2023/02/Arduino_Opla_Pinout.png)
Programmieren in der Arduino IDE 2.0
Das Modul lässt sich in der Arduino IDE 2.0 sowie online im Web Editor programmieren. Da ich derzeit nur den Arduino MKR Zero vorliegen habe, kann ich die Beispiele derzeit lediglich in der Arduino IDE programmieren.
Nachfolgend möchte ich dir zeigen, wie du das Modul mit dem Arduino MKR Zero in der Arduino IDE 2.0 programmierst. Zunächst musst du aber über den internen Bibliotheksmanager das Paket „Arduino OplaUI by Alessandro Ranellucci“ installieren. Dieses Paket enthält alle Bibliotheken zu den verbauten Sensoren / Aktoren.
![](https://draeger-it.blog/wp-content/uploads/2023/02/ArdinoIDE_Bibliotheksverwalter_OplaUI.png)
![](https://draeger-it.blog/wp-content/uploads/2023/02/Bibliotheken_OplaUI.png)
Steuern der RGB LEDs mit den Touchsensoren
Zunächst ein kleines Beispiel mit den Touchsensoren & den verbauten RGB LEDs.
Die verbauten Touchsensoren sind sehr empfindlich, d.h. diese reagieren, schon wenn man den Finger nur leicht über das Feld hält.
//Bibliothek zum entprellen der Taster / Touchsensoren #include <Bounce2.h> //Bibliothek zum ansteuern der RGB LEDs #include <Adafruit_DotStar.h> //Objekte initialisieren für das entprellen der Touchsensoren Bounce btnBounce0 = Bounce(); Bounce btnBounce1 = Bounce(); Bounce btnBounce2 = Bounce(); Bounce btnBounce3 = Bounce(); Bounce btnBounce4 = Bounce(); //Array mit den initialisierten Objekten Bounce btns[] = { btnBounce0, btnBounce1, btnBounce2, btnBounce3, btnBounce4 }; //Parameter der RGB LEDs //auf dem Arduino Opla sind 5 RGB LEDs verbaut #define NUMPIXELS 5 //SDI an digitalen Pin D5 #define DATAPIN 5 //SKI an digitalen Pin D4 #define CLOCKPIN 4 //Objekt vom Typ Adafruit_DotStar mit den Parameter initialisieren Adafruit_DotStar leds = Adafruit_DotStar(NUMPIXELS, DATAPIN, CLOCKPIN, DOTSTAR_BGR); //Array mit den Status der LEDs int ledStatus[] = { 0, 0, 0, 0, 0 }; //Farben definieren uint32_t red = leds.Color(255, 0, 0); uint32_t black = leds.Color(0, 0, 0); void setup() { //begin der seriellen Kommunikation mit 9600 baud Serial.begin(9600); //beginnen mit Pin 15 //die Touchsensoren sind an den Pins 15 bis 19 angeschlossen int pin = 15; //eine Schleife von 0 bis 4 (kleiner 5) for (int i = 0; i < 5; i++) { //verbinden des Bounce Objektes mit dem Pin btns[i].attach(pin, INPUT); //entprellen mit 5ms btns[i].interval(5); //Pin um 1 incrementieren pin++; } //begin der Kommunikation mit den RGB LEDs leds.begin(); //setzen der Helligkeit der RGB LEDs auf 5 leds.setBrightness(5); } //Funktion zum ausgeben einer Textzeile auf der seriellen Schnittstelle //Parameter touch - ganzzahliger Wert für den Touchsensor welcher betätigt wurde void printMsg(int touch) { Serial.println("Touch" + String(touch, DEC) + " betätigt"); } void loop() { //Schleife von 0 bis 4 for (int i = 0; i < 5; i++) { //aktualisieren des Bounce Objektes btns[i].update(); //Wenn der Touchsensor betätigt wurde, dann... if (btns[i].rose()) { //ausgeben des Textes auf der seriellen Schnittstelle printMsg(i); //togglen des Status der LED ledStatus[i] = !ledStatus[i]; //wenn der Status der LED 0 ist, dann Farbe schwarz, andernfalls rot anzeigen uint32_t color = ledStatus[i] == 0 ? black : red; //setzen der Farbe an der RGB LED mit dem Index aus der Schleife leds.setPixelColor(i, color); //anzeigen der Änderung leds.show(); } } }
1 thought on “Arduino Oplà”