Herzlich willkommen bei Waldemar Breiling DJ1DZ
Hier möchte ich das eine oder andere Projekt in Bezug auf den Arduino Nano, Uno und ESP8266 vorstellen.
Das Zusammenbauen der Schaltungen auf einem Steckboard und das Programmieren mit ARDUINO.exe erleichtern den Probeaufbau und das Übermitteln des Programmcodes zum Arduino Prozessor wesentlich.
Deshalb sind auch hier alle Projekte mit dieser Standardumgebung ausgeführt. Für den ersten Einstieg zum Erlernen der Programmiersprache empfehle ich arduino-tutorial.de.
Dort sind auch weitere sehr interessante Bastelprojekte zu sehen.
.
5erLauflicht
Zu Beginn, um Arduino und Umgebung kennenzulernen, werden wir hier ein Lauflicht basteln mit 5 Dioden. Jede Diode bekommt einen Vorwiderstand der 220 Ohm bis 470 Ohm sein kann.
Benötigte Teile:
1 Stück Arduino Nano V3.0
1 Stück Steckboard
5 Stück Leuchtdiode (LED)
5 Stück Widerstand 220-470 Ohm
6 Stück Verdrahtung (verschiedene Farben.)
Die Widerstände haben die Aufgabe den Strom zu begrenzen um die Belastung der Stromversorgung zu minimieren.
Wir benutzen Rote LED´s die mit 2 Volt und 20 mA betrieben werden.
Aus dem Arduino Nano wird die LED mit knapp 5Volt angesteuert.also müssen wir 3Volt über den Vorwiderstand abfallen lassen. Nach dem Ohmschen Gesetz:
U = R * I und nach R = U / I umgestellt ist R = 3V / 0,02A = 150 Ohm
Der kleinste Widerstand sollte also 150 bis 220 Ohm sein. Bei einem etwa doppelten Wert (möglich ist 470 Ohm) fließt dann auch nur die Hälfte an Strom.
Das Programm für den Arduino befindet sich hier.
.
Bewegungsmelder
Eine Notwendigkeit in einem Sicherheitsbereich ist der Bewegungsmelder. Um diesen Sicherheitsaspekt zu realisieren benötigen wir auch hier nur wenige Teile.
1 Stck. Steckboard
1 Stck. Arduino Nano
1 Stck. Bewegungssensor
2 Stck. LED (rot, grün) mit Vorwiderstand je 470 Ohm
6 Stck. Verdrahtung (verschiedene Farben)
Die Datenleitung des Sensors ist an Pin D13 angeschlossen. Die Ausgabe liegt auf Pin D6. Der Pin6 ist mit dem Relaise verbunden. Sobald vom B-Sensor eine Bewegung erkannt wird schaltet das Relaise ein. Wird der Pin7 benutzt, so wird das Relaise im Bewegungsfall ausgeschaltet. Pin7 kann aber auch als Anschluss zu einer Sirene o.ä. dienen.
Der Sensor hat zwei Potis. Einer ist für die Empfindlichkeit zuständig und der andere bestimmt die Mindestzeitdauer nach einer Aktivität.
Hier laden sie das Programm
.
Datensammler
ESP8266**DS18B20**SQL-Datenbank
Temperaturüberwachung einer Zentralheizung mit Vorlauftemperatur, Rücklauftemperatur und Warmwassertemperatur Erfassung
(natürlich auch erweiterbar)
Zur ersten Überlegung Temperaturdaten zu sammeln stellt sich die Frage: Was soll gemessen werden – Zimmertemperatur, Raumtemperatur, Wassertemperatur, Kühlschrank oder irgendwelche Gegenstände die temperaturüberwacht werden sollen? In unserem Fall ist es die Zentralheizung, konkret die Vorlauftemperatur und zum Vergleich die Rücklauftemperatur. Und wenn wir schon mal dabei sind, können wir auch noch die Warmwasserleitung etc. mit einbeziehen.
Jetzt will ich aber nicht ständig in den Keller gehen, um irgendwelche Temperaturen aufzuschreiben und diese mühevoll in einer Grafik darzustellen. Das soll dann schon alles automatisch ablaufen.
Wie, wird im folgenden Kapitel dargestellt. Weiterlesen pdf-format
Programm Download für Arduino.exe ( ESP8266fuenfTempSQL.ino )
.
Klopfzeichen Öffner
Vor einiger Zeit rief mich der Cousin aus „Grebenau“ an und fragte nach einem Programm mit dem Arduino, der dann in der Lage sein soll, per Klopfzeichen eine Tür zu öffnen. Da er so oft keinen Schlüssel zur Hand hat, muss er jedes mal seine Frau bitten, von innen die Tür zu öffnen und das nervt. Er wird sich zwar bemühen, immer den Schlüssel dabei zu haben, aber na ja - man weiß schon was da kommt.
Also im Internet erst mal nach fertigen Programmen suchen – aber Pustekuchen – auf diese verrückte Idee muss man erst mal kommen.
Also selbst ist der Mann: Zuerst ein Konzept.
Um Klopfzeichen, also Töne, dem Arduino anzubieten bedarf es einen Sensor. Habe ich gefunden bei EBAY. Inclusiv dem kleinen Mikrofon kostet der Spaß mal gerade 1€. Zusätzlich brauchen wir noch ein Relais (wird schon für 1,50€ angeboten), um das schwache Signal vom Arduino, bei richtigem Klopfzeichen, den Türsummer zu setzen.
Das richtige Klopfzeichen wird dann erkannt, wenn die Zeiten zwischen den Klopfern, ähnlich wie beim Morsen lange und kurze Abstände vorhanden sind.
Der Arduino sendet das Öffnungssignal an Pin 5 für 1 Sekunde, der Summer summt, die Tür kann aufgedrückt werden.
Hoffentlich kann mein Cousin aus Grebenau jetzt den Hausfrieden wieder sicherstellen.
Was wird benötigt?
- das Steckboard
- der Arduino NANO
- zwei Leuchtdioden rot, grün mit je einem 470 Ohm Widerstand
- 5V Two 2 Channel Relay Module With optocoupler
- DC 5V MIC Controller Sound Detection Sensor Module
Das Ganze - wie rechts zu sehen - zusammenstecken.
Wird der richtige Code geklopft, leuchtet die grüne LED und die blinkende rote LED erlischt. Gleichzeitig wird ein Signal an das Realis gesendet, welches 3 Sekunden den Türöffnungssummer zum Öffnen der Tür hält. Der gesamte Vorgang wird auch auf dem Monitor ausgegeben. Die Klopfzeichen für * und - können auch am Monitor geübt werden..
Das Programm kann hier herunter geladen werden.
.
Morsen zum Üben
Eine günstige Gelegenheit ergibt sich für den Funkamateur, mit nachstehender Schaltung, seine Morsefertigkeit zu steigern. Der Aufbau ist einfach und mit wenigen Bauteilen auf dem Steckboard angeordnet.
Benötigt werden nachstehende Teile:
- Arduino UNO (oder auch NANO)
- Zwei Leuchtdioden mit je 470 Ohm Widerstand
- Deine hoffentlich noch vorhandene Morsetaste
- Das Steckbord kann auch das Kleinste sein.
Die LED`s leuchten im Wechsel der Morsezeichen. Hier kann bei Bedarf auch ein Summer angeschlossen werden. Die erzeugten Signale werden decodiert im Monitor ausgegeben.
Das Morseprogramm(download) kann mit Sonderzeichen erweitert werden.
Die Eingabe der Morseimpulse erfolgt über den Pin 7 des Arduino UNO oä. Die Zeitdauer für * und - wird über die Zeitmessung pulseIn bestimmt. Ist die gemessene Zeit (duration/Speedfaktor) > 1000 dann ist das Ergebnis - .Ist die gemessene Zeit (duration/Speedfaktor) < 1000 dann ist das Ergebnis * . Die Zeitmesseung der Nicht-Impule erfolgt über den Pin 13 des Arduino UNO oä. Ist die gemessene Zeit (duraus/Speedfaktor) > 2000 dann ist das Ergebnis "Buchstabenende". Ist die gemessene Zeit (duraus/Speedfaktor) > 5000 dann ist das Ergebnis "Wortende"..
.
Bluetooth als Funkschnittstelle an Arduino und Co.
Mit Bluetooth hat man die Möglichkeit, Informationen weiterzuleiten und auch zu empfangen. Wie das Handling der Schnittstellen mit dem Arduino vonstatten geht, werde ich versuchen hier mal klarzustellen.
Wir benutzen hier folgende Geräte:
- Unser Handy natürlich mit Bluetooth.
- Das Bluetooth Device HC-06 (als Slave) oder die Masteversion HC-05
- Den Arduino Nano oder Uno oder Mega etc.
- Und einen PC oder Laptop mit USB Schnittstelle.
Welche Programme brauchen wir ?
- für den PC -Arduino IDE
- für den Arduino -Bluetooth_HC-06_nano.ino und HC-06_Baud_suchen.ino
Zum Probeaufbau sollte das Bild unten genügend aussagekräftig dargestellt sein.
Hier aber nochmal die Verbindungsleitungen.
- Arduino HC-06
- 5V VCC
- GND GND
- D2 TX
- D3 RX
Über die USB-Schnittstelle übertragen wir per Arduino IDE das Programm Bluetooth_HC-06_nano.ino in den Arduino.
Jetzt könnten wir über den Arduino-Monitor am Bluetooth Gerät HC-06 Einstellungen vornehmen. Vorausgesetzt der HC-06 ist werkmäßig auf 9600Baud eingestellt. Wenn nicht dann haben unsere Befehle keine Wirkung.
Der Befehlssatz für HC-06 ist begrenzt auf nachfolgende Sequenzen.
Dafür in der obersten Zeile (die Sendezeile) nur Großbuchstaben verwenden.
- 1. Befehl AT -der HC-06 antwortet mit OK
- 2. Befehl AT+VERSION -Antwort OKlinvorV0.8 oder z.B -hc01.comV2.0
- 3. Befehl AT+NAMEPeter -Antwort OKsetname
- 4.Befehl AT+BAUD8 -Antwort OK115200 (Achtung!)
- 5.Befehl AT+PIN1234 -Antwort OK1234
Einstellbare Baudraten für den 4.Befehl
- 1- 1200 set to 1200baud
- 2- 2400 set to 2400baud
- 3- 4800 set to 4800baud
- 4- 9600 set to 9600baud (Default)
- 5 - 19200 set to 19200baud
- 6 - 38400 set to 38400baud
- 7- 57600 set to 57600baud
- 8 - 115200 set to 115200baud
- 9- 230400 set to 230400baud
Achtung! Wird die Baudzahl nach BAUD8 geändert, muss im Programm Zeile 16 mySerial.begin(115200); geändert werden. Wenn man die Übertragungsgeschwindigkeit nicht kennt, hilft das Programm HC-06_Baud_suchen.ino weiter.
Um das Handy mit einzubeziehen, muss es sich erst mit dem HC-06 bekannt machen. Das nennt man Pairing. Unter Eigenschaften, Bluetooth, wird nach neuen Bluetooth Verbindungen gesucht. Ist ein neuer Bluetooth Partner gefunden, wird durch Anklicken und Eingabe des Passwortes (z.B. 1234 siehe 5.Befehl) das Pairing eingeleitet. Erst jetzt ist es möglich, mit einem Terminalprogramm den Connect herzustellen.
Wenn wir jetzt einen Text per Handy eingegeben wird dieser auch am PC-Monitor ausgegeben. Der Text auf dem PC-Monitor wird aber auch auf dem Handy erscheinen. Also beide Übertragungsrichtungen werden unterstützt.
Und so sieht unsere Verbindung schematisch aus:
.
CEuS
CodeErkennenundSchalten
All das soll natürlich wenig kosten und der Aufbau soll in wenigen Schritten realisierbar sein. Das Konzept wird in den nachfolgenden Kapiteln klargelegt.
Der Aufbau ist einfach. Zum Probeaufbau benötigen wir ein Steckboard 400. Der Probeaufbau ist wichtig, um das Zusammenspielen der Komponenten einfach zu testen, um spätere Änderungen zu vermeiden.
Wir benötigen nachstehende Teile.
1. Steckboard 400
2. Arduino nano
3. Empfängermodul XY-MK-5V
4. Leuchtdiode mit Vorwiderstand 330 Ohm
5. Relais Modul 5V/230V mit Optokoppler
6. Die 230V Blinklampe oder was sonst geschaltet wird.
Der Empfänger soll im Bereich 433MHz alles empfangen und an den Arduino weitergeben. Hier wird geprüft ob der eingetragene Code vorhanden ist. Wenn ja, dann schalte das Relaise ein, wartet eine definierte Zeit ab und schalte wieder aus.
.