[creativ_alertbox icon=“warning-sign“ colour=“yellow“ custom_colour=““]Diese Seite befindet sich im Aufbau und ist noch nicht vollständig.[/creativ_alertbox]
Fortgeschritten
OLED 128x64 I2C SPI mit Arduino UNO
Der OLED Display
Durch das Klicken auf das oben abgebildete Produkt gelangt Ihr über einen Amazon Partnerlink auf die gewünschte Produktseite. Durch den Kauf über unserer Partnerlink erhalten wir eine kleine Provision von Amazon für die Vermittlung. Mehr über das Amazon Partnerprogramm können Sie unter Punkt 8 (Amazon Partnerprogramm) in unserer Datenschutzerklärung nachlesen.
Benötigte Bibliotheken
Bevor Sie beginnen müssen 2 zusätzliche Bibliotheken heruntergeladen und installiert werden.
Laden Sie die zwei Bibliotheken von oben herunter und installieren Sie diese. Sie finden weiter oben eine Anleitung, wie Sie die Bibliotheken installieren und einbinden können.
Die Verkabelung (wiring)
Der Code
Die Bibliothek liefert ein Beispielprojekt mit, welches Ihr in den Ordner Examples findet. Öffnet dort das Projekt „ssd1306_128x64_i2c“. Folgend versuche ich das Beispielprojekt ein wenig aufzusplitten und zu beschreiben.
Zuerst werden die benötigten Bibliotheken hinzugefügt.
[cpp]//Arduino Standard Bibliotheken
#include <Wire.h>
#include <SPI.h>
//Third-Party Bibliotheken für den OLED
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>[/cpp]
0
0
KY-040 Rotary Encoder für Arduino
Rotary Encoder Module Brick Sensor Development KY-040 für Arduino
Durch das Klicken auf das oben abgebildete Produkt gelangt Ihr über einen Amazon Partnerlink auf die gewünschte Produktseite. Durch den Kauf über unserer Partnerlink erhalten wir eine kleine Provision von Amazon für die Vermittlung. Mehr über das Amazon Partnerprogramm können Sie unter Punkt 8 (Amazon Partnerprogramm) in unserer Datenschutzerklärung nachlesen.
Der Vorteil gegenüber eines normalen Potentiometer ist, dass der Encoder endlos in eine Richtung gedreht werden kann. Bei einem Potentiometer ist irgendwann der Endwert erreicht. Für unser Beispiel benutzen wird den KY-040 (Abbildung oben).
Wiring (Verkabelung) des KY-040
Anders als herkömmliche Rotary Encoder hat der KY-040 fünf Anschlüsse.
- CLK
- DT
- SW
- +
- GND
Der Anschluss GND (Masse) und + (VCC) sind selbsterklärend, schließt hier also einmal Masse (GND) und 5V (+) an. Der Anschluss SW wird auf Masse gezogen, wenn der Rotary Encoder gedrückt wird. Schließt diesen am besten an einen Interrupt PIN eures Arduino Bordes an.
Übersicht der Interrupt PINS: https://www.arduino.cc/en/Reference/AttachInterrupt
Den Anschluss CLK und DT könnt Ihr an einen digitalen Pin eurer Wahl anschließen. In der Beispieldatei der Bibliothek wird Pin 5 und 6 genutzt.
Code
[cpp]
/*
* Arduino Encoder Beispiel (KY-040)
* Autor: Andreas Reitberger
* Beispiel basiert auf der example Datei der Encoder
* Bibliothek. Diese wurde zum besseren Verständnis
* kommentiert und aufbereitet.
*/
//////////////////////////////////////////////////
// Bibliotheken //
//////////////////////////////////////////////////
//Lädt die Bibliothek für den Encoder in das aktuelle Projekt.
#include <Encoder.h>
//////////////////////////////////////////////////
// Deklaration //
//////////////////////////////////////////////////
const int CLK = 6;
const int DT = 5;
/*
*Der Interrupt Pin ist abhängig von Ihrem Board
*Mega, Mega2560, MegaADK 2, 3, 18, 19, 20, 21
*Für andere Modelle bitte hier prüfen:
*https://www.arduino.cc/en/Reference/AttachInterrupt
*/
const int SW = 2; //Pin für den Interrupt
long altePosition = -999;
//////////////////////////////////////////////////
// Encoder //
//////////////////////////////////////////////////
/*
*Erstellt ein neues Encoder Objekt.
*(DT, CLK) geben die Pins an, an welcher der Encoder angeschlossen ist.
*Die Pins wurden im Kopfbereich deklariert und initialisiert.
*/
Encoder meinEncoder(DT,CLK);
void setup()
{
//Initialisiert die serielle Schnittstelle
Serial.begin(9600);
//Warted bis die serielle Verbindung hergestellt wurde
while(!Serial);
//AttachInterrupt
pinMode(SW, INPUT);
attachInterrupt(digitalPinToInterrupt(SW), onInterrupt, FALLING);
}
void loop()
{
interrupts();
long neuePosition = meinEncoder.read();
if (neuePosition != altePosition)
{
altePosition = neuePosition;
Serial.println(neuePosition);
}
}
void onInterrupt()
{
Serial.println(„Interrup“);
//while(1);
}[/cpp]
0
0
SainSmart LCD-TFT & Touch
LCD & Touch Libraries
Hier können Sie die benötigten Libraries (Bibliotheken) für Ihr LCD und Touch Modul herunterladen. Es sind die Libraries für alle angebotenen Größen mit dabei.
Name | Autor | Version | Größe | Downloads | Download |
---|---|---|---|---|---|
Name | Autor | Version | Größe | Downloads | Download |
SainSmart TFT LCD Touch Docs & Libaries | SainSmart | 14.7 MiB | 209 | Download | |
[Libary] UTouch | Rinky Dink Electronics | v1.24 | 0.0 B | 1065 | Download |
Sie finden in dem Archiv auch eine Dokumentation der Module.
0
0
Bevor Sie loslegen
Arduino - Einleitung
Bevor wir mit den Tutorials für Arduino beginnen, hier eine kleine Einleitung. Oft stellt sich am Anfang vor allem die Fragen, was brauche ich eigentlich alles? Grundlegend reicht ein Arduino UNO vollkommen aus, jedoch ist man dann schnell frustriert, da man „nichts sieht“. Es würden sich hier sogenannte Starter-Sets anbieten. Je nach Set, ist dort schon jede Menge mit dabei:
- Widerstände
- Schalter
- LED’s
- Taster
- LCD Panel
- Sensoren usw.
Hier nur ein paar Beispiele, was auf Amazon erhältlich ist.
Durch das Klicken auf das oben abgebildete Produkt gelangt Ihr über einen Amazon Partnerlink auf die gewünschte Produktseite. Durch den Kauf über unserer Partnerlink erhalten wir eine kleine Provision von Amazon für die Vermittlung. Mehr über das Amazon Partnerprogramm können Sie unter Punkt 8 (Amazon Partnerprogramm) in unserer Datenschutzerklärung nachlesen.
Natürlich könnt Ihr euch auch alles einzeln bestellen, oder eben nur einen Arduino.
Die Arduino IDE herunterladen
Bevor Ihr mit dem Programmieren beginnen könnt, müsst Ihr die Entwicklungsumgebung für Arduino herunterladen. Diese ist kostenlos und kann hier heruntergeladen werden.
Es gibt auch die Möglichkeit andere Entwicklungsumgebungen, wie Sublime Text 3, zu benutzen. Diese bieten meist eine schönere und einfachere Programmierung. Dazu jedoch später noch mehr.
0
0
Anfänger
Neue Bibliotheken (Libaries) hinzufügen
Dank der großen Anzahl an Arduino-Nutzern gibt es für fast alles eine eigene Bibliothek.
Was ist eine Bibliothek?
Eine Bibliothek, im Englischen library, ist eine Sammlung an Funktionen und Methoden (einfach ausgedrückt), welche in das eigene Projekt geladen werden. Der Vorteil hier liegt, dass man sich keine, bzw. fast keine, Gedanken machen muss, was die Bibliothek im Hintergrund macht.
Wir können einfach unsere benötigte Funktion aus der Bibliothek aufrufen, falls nötig die gewünschten Parameter übergeben und das Ergebnis nutzen.
Eine Bibliothek zum Projekt hinzufügen
Um eine bereits installierte Bibliothek zu Ihrem aktuellen Projekt hinzufügen zu können, klicken Sie im Arduino IDE auf Sketch – Include Library – und wählen Sie die gewünschte Bibliothek aus.
Ihre Bibliothek wird dann wie folgt in Ihr Projekt integriert.
[cpp]#include <LiquidCrystal.h>[/cpp]
Beim Kompelieren wird der Inhalt der Bibliothek in das aktuelle Projekt „kopiert“.
Zugriff auf die Funktionen der Bibliothek
Nun kann auch auf die Funktionen, welche die Bibliothek in das Projekt einbindet, zugreifen. Ein Beispiel für die LCD Bibliothek.
[cpp]//Initialisiert das LCD und gibt bekannt, welche Ausgänge für dieses genutzt werden.
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);[/cpp]
Ihr könnt in der jeweiligen Dokumentation nachlesen, welche Befehle die jeweilige Bibliothek mit sich bringt und welche Parameter Ihr dieser übergeben müsst.
Eine neue Bibliothek installieren
Oft wird auch eine Bibliothek benötigt, welche nicht standardmäßig in die Arduino IDE integriert ist. Führen Sie dazu folgende Schritte durch.
- Schließen Sie die Arduino IDE
- Laden & entpacken Sie die neue Bibliothek
- Kopieren Sie den Ordner in folgendes Verzeichnis C:\Program Files (x86)\Arduino\libraries\NAME-DER-BIBLIOHTEK
Jede Bibliothek hat ihren eigenen Ordner in dem Verzeichnis \libraries\…
Der Inhalt des Ordners kann wie folgt aussehen.
Natürlich gibt es auch hier mehrere Möglichkeiten, wie Ihr eine neue Bibliothek hinzufügen könnt.
0
0
Kommentar abgeben?