Surprise box - AZ-Delivery

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

 

Specials

Leave a comment

All comments are moderated before being published

Recommended blog posts

  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