In diesem Video möchten wir Ihnen die Mikrocontroller ESP8266-01S und Digispark ATTiny85 vorstellen. Im Rahmen des Videos werden die technischen Spezifikationen und Unterschiede beider Controller erklärt. Zusätzlich zeigen wir mehrere Beispielschaltungen, um darzustellen, wie die Mikrocontroller eingesetzt werden können und wie die Verkabelung funktioniert.
! Achtung: Wenn das Video bei Ihnen nicht angezeigt wird, sollten Sie Ihre Cookie Einstellungen überprüfen. Sie müssen Cookies akzeptieren, damit das Video sichtbar ist! Alternativ finden Sie es auch in unserem YouTube Kanal.
Hier finden Sie die vorgestellten Mikrocontroller:
Verdrahtung ESP8266-01S:
Code ESP8266-01S:
/* ___ _____ ____ ___ / /__ / / __ \___ / (_) _____ _______ __ / /| | / / ______/ / / / _ \/ / / | / / _ \/ ___/ / / / / ___ |/ /_/_____/ /_/ / __/ / /| |/ / __/ / / /_/ / /_/ |_/____/ /_____/\___/_/_/ |___/\___/_/ \__, / /____/ Produkt, Datenblatt und Pinout unter: https://www.az-delivery.de/ Projekt: ESP8266-01S Datum: 03/2022 Link ESP8266Webserver.h: https://github.com/esp8266/ESPWebServer */ #include "ESP8266WiFi.h" #include "ESP8266WebServer.h" #include "credentials.h" int ledPin=2; //Inhalt der Website String ein= "<a href=\"/ein\"><button>LED einschalten</button></a>"; String aus= "<a href=\"/aus\"><button>LED ausschalten</button></a>"; String output="<!DOCTYPE html><html><head><title>LEDs</title><meta name='viewport' content='width=device-width, initial-scale=1'></head>" "<h1>LED-Steuerung</h1>"+ein+aus+"</html>"; ESP8266WebServer server(80); //optional eine fixe IP-Adresse definieren IPAddress ip(192,168,178,83); IPAddress gateway(192,168,178,1); IPAddress subnet(255,255,255,0); void startSeite() { server.send(200, "text/html", output); } void toggleLED(){ digitalWrite(ledPin, !digitalRead(ledPin)); //nach dem Aufruf des Links soll die Startseite angezeigt werden server.send(200, "text/html", output); } void setup() { Serial.begin(115200); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); WiFi.begin(ssid, pass); WiFi.config(ip, gateway, subnet); while(WiFi.status() != WL_CONNECTED){ delay(500); Serial.print("."); } server.on("/",startSeite); server.on("/ein", toggleLED); server.on("/aus", toggleLED); server.begin(); } void loop() { server.handleClient(); }
Zugehörige Credentials:
const char* ssid = "meineSSID"; const char* pass = "42istnichtmeinpasswort";
Verdrahtung Digisparkt ATTiny85:
Code Digispark ATTiny85 (Temperatur):
/* ___ _____ ____ ___ / /__ / / __ \___ / (_) _____ _______ __ / /| | / / ______/ / / / _ \/ / / | / / _ \/ ___/ / / / / ___ |/ /_/_____/ /_/ / __/ / /| |/ / __/ / / /_/ / /_/ |_/____/ /_____/\___/_/_/ |___/\___/_/ \__, / /____/ Produkt, Datenblatt und Pinout unter: https://www.az-delivery.de/ Projekt: ATTiny85 - Digispark Rev.3 Datum: 03/2022 Treiber: https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip Boardverwalter-URL: http://digistump.com/package_digistump_index.json DigisparkOLED.h: https://github.com/digistump/DigistumpArduino/blob/master/digistump-avr/libraries/DigisparkOLED/DigisparkOLED.h TinyDHT: https://github.com/adafruit/TinyDHT */ //Display #include <TinyDHT.h> #define DHTTYPE DHT11 #define TEMPTYPE 0 // Use Fahrenheit (0 for celsius) #define DHTPIN 1 // Sensor connected to GPIO #1 DHT dht(DHTPIN, DHTTYPE); // Define Temp Sensor #include <DigisparkOLED.h> void setup() { Serial.begin(115200); oled.begin(); delay(100); dht.begin(); // Initialize DHT Teperature Sensor } void loop() { if(millis()%500==0){ int8_t h = dht.readHumidity(); // Read humidity int16_t t = dht.readTemperature(TEMPTYPE); // read temperature oled.clear(); oled.setCursor(12, 0); oled.setFont(FONT8X16); oled.print(F("AZ-Delivery")); oled.setCursor(25, 6); oled.print(t); oled.setCursor(70, 6); oled.print(h); } }
Code Digispark ATTiny85 (Keyboard):
#include "DigiKeyboard.h" void setup() { // don't need to set anything up to use DigiKeyboard DigiKeyboard.update(); } void loop() { DigiKeyboard.update(); delay(100); DigiKeyboard.sendKeyStroke(0); DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT); // meta+r delay(100); DigiKeyboard.println("notepad"); delay(200); //y + z switched :) DigiKeyboard.println("Hello from AY Deliverz!"); // It's better to use DigiKeyboard.delay() over the regular Arduino delay() // if doing keyboard stuff because it keeps talking to the computer to make // sure the computer knows the keyboard is alive and connected DigiKeyboard.delay(5000); }
4 Kommentare
Andreas S
Mit dem ESP hab ich schon ein wenig gebastelt, ein nettes, kleines Teil mit dem man viel mehr machen kann. Besonders mit dem I2C-Bus gibt es viele Möglichkeiten.
Im Video wird der Baustein programmiert, während der D0 auf GND gesetzt ist. Korrekterweise müsste doch der Pin beim Power-Up bzw Reset auf GND sein, damit das Modul in den Programmiermodus hineinbootet. (Tipp: RST-Pin auch über Taster an GND!)
Sollte man nicht einen Vorwiderstand in Reihe mit der LED schalten ?
Andreas Wolter
@Thomas Tasler: wenn kein Video angezeigt wird, könnte das an den Cookieeinstellungen liegen. Unter dem Video finden Sie einen Hinweis dazu. Außerdem einen Link direkt zu Youtube, um sich das Video dort anzuschauen.
Grüße,
Andreas Wolter
AZ-Delivery Blog
Ralf M.
Den ESP01 kannte ich so noch gar nicht, gerade wegen der kleinen Größe gefällt mir der ausgesprochen gut.
Danke fürs Zeigen und bitte gern mehr von den Videos, sehr gut erklärt!
Beste Grüße aus Hannover
Ralf
Thomas Tasler
Von welchem Video ist hier die Rede – ich sehe nur ein Bild mit Ankündigung, aber ein Video gibt es nicht !