Ach, du lieber Nikolaus,
Komm ganz schnell in unser Haus.
Hab so viel an dich gedacht!
Hast mir doch was mitgebracht?
Und damit herzlich willkommen zu dem Weihnachtskurzblog für Türchen Nummer sechs. Die Weihnachtswichtel von AZ-Delivery und der Nikolaus haben sich zusammengetan und haben die Überraschungsbox M für Sie dabei.
Was ist im Nikolausstiefel nun genau drin?
Im Stiefel befinden sich folgende „Gadgets“, die den Tag versüßen sollen:
- NodeMCU Lua Lolin V3 Modul mit ESP8266 12F
- 1x Jumper-Kabel M2M/M2F/F2F
- 1 x HD44780 1602 LCD Modul Display mit I2C-Adapter
- 1 x KY-036 Touch Sensor Modul
- 3 x KY-013 Thermistor Sensor Modul
- 3 x KY-029 Bi-Color LED Modul 3mm
Für die Programmierung benötigen Sie für die Arduino IDE die Programm-Bibliotheken LiquidCrystal_I2C und NTC_Thermistor. Wie das geht, zeigen wir u.a. hier.
Kleine Ausgabe der Sensordaten
In dem heutigen Mini-Blog wird eine ganz simple Ausgabe der digitalen Werte des KY-036 Touch Sensor Modul und des KY-013 Thermistor Sensor Modul umgesetzt. Die Werte sollen aber nicht auf dem seriellen Monitor erscheinen, sondern auf dem schon bekannten HD44780 1602 LCD Modul Display mit I2C-Adapter und dem KY-029 Bi-Color LED Modul.
Leider gibt es für einige Teile der Module keine Fritzing-Parts, daher der Anschluss über Tabelle 1 und Abbildung 1.
Pin Modul |
Pin MicroControler |
KY-013 Thermistor “-“-Pin |
GND |
KY-013 Thermistor “Mittlere”-Pin |
5V |
KY-013 Thermistor “S”-Pin |
A0 |
KY-029 Bi-Color LED “S”-Pin |
13 |
KY-029 Bi-Color LED “-“-Pin |
GND |
KY-036 Touch Sensor “GND”-Pin |
GND |
KY-036 Touch Sensor “+”-Pin |
5V |
KY-036 Touch Sensor “S”-Pin |
7 |
I2C-Adapter “GND”-Pin |
GND |
I2C-Adapter “VCC”-Pin |
5V |
I2C-Adapter “SDA”-Pin |
A4 |
I2C-Adapter “SCL”-Pin |
A5 |
Tabelle 1: Anschluss an Micro Controller Board mit ATmega328P
Abbildung 1: Anschluss am MicroController
Schließen Sie danach den Micro Controller an Ihren PC an und kopieren Sie Code 1. Vergessen Sie bitte nicht, vorher die benötigten Bibliotheken runterzuladen und einzufügen. Laden Sie das Programm auf den Micro Controller und Sie können nach einer kurzen Zeit die Temperatur in Grad Celsius und Kelvin auf dem LCD-Display sehen.
//-----------------------------------------------------
// Little sample for surprise box M from Az-delivery
// Autor: Joern Weise
// License: GNU GPl 3.0
// Created: 27. Nov 2020
// Update: 27. Nov 2020
//-----------------------------------------------------
#include <Thermistor.h>
#include <NTC_Thermistor.h>
#include <LiquidCrystal_I2C.h>
#define SENSOR_PIN A0
#define REFERENCE_RESISTANCE 8000
#define NOMINAL_RESISTANCE 100000
#define NOMINAL_TEMPERATURE 20
#define B_VALUE 3950
#define INTERVAL 1000
Thermistor* thermistor;
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
const int PinDigitalTouch = 7;
const int PinLED = 13;
unsigned long iLastUpdate;
// the setup function runs once when you press reset or power the board
void setup() {
Serial.begin(115200);
pinMode(PinDigitalTouch, INPUT);
pinMode(PinLED, OUTPUT);
thermistor = new NTC_Thermistor(
SENSOR_PIN,
REFERENCE_RESISTANCE,
NOMINAL_RESISTANCE,
NOMINAL_TEMPERATURE,
B_VALUE
);
lcd.init(); // initialize the lcd
lcd.backlight(); // backlight on
lcd.home(); // set cursor to 0,0
//Write some text
lcd.print("Suprisebox");
lcd.setCursor(0, 1);
lcd.print("az-delivery.de");
delay(2000);
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(PinDigitalTouch) == HIGH)
digitalWrite(PinLED,HIGH);
else
digitalWrite(PinLED,LOW);
int celsius = int(thermistor->readCelsius());
int kelvin = int(thermistor->readKelvin());
if(millis() - iLastUpdate > INTERVAL)
{
lcd.clear();
lcd.home();
lcd.print("Grad: " + String(celsius));
lcd.setCursor(0,1);
lcd.print("Kelvin: " + String(kelvin));
Serial.print(String(celsius) + " C, ");
Serial.println(String(kelvin) + " K, ");
iLastUpdate = millis();
}
}
Code 1: Überraschungsbox-Code
Zusätzlich, sofern Sie den Touch Sensor berühren, leuchtet die LED grün auf.
Der NodeMCU Lua Lolin V3 Modul mit ESP8266 12F
Nun haben Sie ein erstes Experiment mit den Bauteilen kennengelernt, bleibt noch der NodeMCU Lua Lolin V3 Modul mit ESP8266 12F. Diesen kleinen (fast) Alleskönner sehen Sie auch in Abbildung 2.
Abbildung 2: NodeMCU Lua Lolin V3 Modul mit ESP8266 12F
Schaut man sich das Pinout genauer an, siehe Abbildung 3, wird recht schnell deutlich, was der kleine Micro Controller alles leisten kann.
Abbildung 3: Pinout NodeMCU Lua Lolin V3 Modul mit ESP8266 12F
Aktuell soll nicht zu viel verraten werden, aber die Weihnachtswichtel munkeln, dass es zu genau diesem Micro Controller noch einen spannenden Weihnachtsbeitrag geben soll, daher die kurze Einweisung, wie Sie den NodeMCU Lua Lolin V3 Modul mit ESP8266 12F in der Arduino IDE verfügbar machen können.
Starten Sie die Arduino IDE und öffnen Sie die Voreinstellungen via Datei -> Voreinstellungen.
Fügen Sie bei der zusätzlichen Boardverwalter-URLs die Adresse http://arduino.esp8266.com/stable/package_esp8266com_index.json hinzu. Direkt danach öffnen Sie die Boardverwaltung und suchen nach „ESP8266“ und installieren „esp8266 by ESP8266 Community“. Danach ist der Micro Controller bereit programmiert zu werden.
Weitere Projekte für AZ-Delivery von mir finden Sie unter https://github.com/M3taKn1ght/Blog-Repo.
Das Team von AZ-Delivery wünscht eine schöne Adventszeit