# data[].attributes.attachment_caption
BitBastelei #327 - Abstandsmessung per Ultraschall: HC-SR04 mit Arduino

# data[].attributes.attachment_link.title
BitBastelei #327 - Abstandsmessung per Ultraschall: HC-SR04 mit Arduino

# data[].attributes.attachment_link.description
Ultrasonic Sensor HC-SR04 is a distance measuring sensor. The sensor has one receiver and one transmitter. The transmitter sends a generated soundwave and re...

# data[].attributes.attachment_link.readable_text
In diesem Beitrag stelle ich dir vor wie du deinen Microcontroller mit ESP8266 Chip in den „Deep Sleep" versetzt und somit deine externe Stromversorgung schonst.

Einen Microcontroller mit ESP8266 Chip habe ich unter anderem bereits in den Beiträgen:

vorgestellt.

Jedoch möchte ich hier den Wemos D1 mini verwenden, dieser kleine Microcontroller hat den Vorteil das Sensoren auf diesen gesteckt werden können ohne das man diese recht umständlich verkabeln muss.

Was ist der „deep sleep"?

Von einem „deep sleep" redet man wenn der Microcontroller in einen Schlafmodus versetzt wird. In diesem Modus verbraucht dieser nur sehr wenig Strom und kann somit mit einer Batterie deutlich länger betrieben werden. In diesem Modus kann der Microcontroller jedoch nur gewisse Befehle und Aktionen ausführen. Zumeist sind die Befehle nur um einen Timer zu aktualisieren um nach einer Zeit x wieder in den Normalen Betrieb über zugehen.

Neben dem depp sleep welchen ich in diesem Beitrag vorstellen möchte, gibt es noch zwei weitere „Modem-sleep" und „Light-sleep". Im nachfolgenden zeige ich dir eine kleine Tabelle mit den groben Unterschieden der 3 verschiedenen Sleep Modi.

* Anhängig von der Implementierung

In diesem Beitrag zeige ich dir nun wie du einen Microcontroller mit einem ESP Chip in den Deep Sleep Modus versetzt und nach einer Zeit x wieder aufwecken kannst.

benötigte Resourcen

Um das nächste Beispiel nachprogrammieren zu können benötigst du einen Microcontroller mit einem ESP Chip und ein Breadboardkabel.

Aufbau der Schaltung für einen „Deep Sleep"

Der Microcontroller wird mit einem Befehl im Programm zum schlafen gebracht und durch einen weiteren Befehl wieder zum aufgeweckt. Was sich so einfach anhört ist es auch denn man muss nur den digitalen Pin D0 bzw. GPIO16 mit dem Reset Pin des ESP verbinden.

GPIO16 mit RST verbunden für den Deep Sleep am ESP8266

Diese Verbindung muss jedoch NACH dem Upload des Sketches auf dem Microcontroller hergestellt werden!

Hinweis

Ein Problem beim Deep Sleep ist, das die Daten nicht einfach auf Wunsch bereit stehen sondern nur in einem zuvor definierten Intervall abgerufen werden können.

Zum Beispiel könnte man einen DHT11 Sensor an den Microcontroller anschließen jedoch nicht beliebig die Daten abrufen, in diesem Fall würde man entweder die Daten auf eine SD Karte schreiben oder aber an einen Intranet / Internet Dienst zur späteren Auswertung senden. Eines dieser Internetdienste wäre ThingSpeak.com, wie du Daten an diesen Dienst sendest habe ich dir im Beitrag Iot Service ThingSpeak, einrichten und betreiben ausführlich erläutert.

Als erstes wollen wir in einem definierten Abstand einen Text auf der seriellen Schnittstelle ausgeben.

Sicherlich könnten wir dieses auch mit dem Befehl „delay" machen ABER dazu müsste der Microcontroller im betrieb bleiben und würde somit deutlich mehr Strom verbrauchen.

void setup() {
  //beginn der seriellen Kommunikation mit 74880 baud
  //Es könnte auch jeder andere gültige Wert gewählt werden,
  //jedoch wird über diesen Wert auch die Debugausgaben angezeigt
  Serial.begin(74880);
  //Timeout für die serielle Verbindung
  Serial.setTimeout(2000);
  //solange die serielle Schnittstelle nicht bereit ist, mache... (nix)
  while(!Serial) { }

  //Ausgabe des Textes inkl. der Millisekunden seit dem der Microcontroller gestartet ist.
  Serial.print("Hallo, ich bin wach. Der Microcontroller läuft seit ");
  Serial.print(millis());
  Serial.println(" Millisekunden.");
  Serial.println("Ich gehe gleich für 10 sek. in den Deep Sleep.");
  //den Microcontroller in den Deep Sleep für 10 Sekunden versetzen.
  ESP.deepSleep(10e6);
}

void loop() {
  //bleibt leer
}

Video

# data[].attributes.attachment_link.description
In diesem Beitrag stelle ich dir vor wie du deinen Microcontroller mit ESP8266 Chip in den „Deep Sleep" versetzt und somit deine externe Stromversorgung schonst. Einen Microcontroller mit ESP8266 Chip habe ich unter anderem bereits in den Beiträgen: vorgestellt.

# data[].attributes.body
1. Projekt und Plan erstellung  bis 26.04

2. WhatsApp+Team+Aufgabenverteilung 3.05
3. Mikrocontroller+HC-sr40+Pi Verbindung  bis 10.05
4. Sleep Deep +Microkontroller +Battery+1Fragerunde bis 17.05
5. Display+Led+Mikrocontroller +2Fragerunde bis 24.05
6. Prototypen feststellen+im Lauf bringen 30.05
7. Dokumentation+Presentation+3Fragerunde bis 5.06

# data[].attributes.body
- zu jeden Sensor Infos erstellen. Wir sollen zu jeder Frage bereit sein

- Berichtführung
- Aufgaben verteilung
- Mailsteine anlegen
- Deadline erstellen
- Prototyp erstellen
- Code fur SensorUlt
- Code für Display
- Code WLAN
- Fragerunden

# data[].attributes.body
1. Fatema Najafi
2. Keliane Bristine Mentsa
3. Janine Göhler
4. Mura Sherbekova

# data[].attributes.body
1. Projekt- Worum es geht?

2. Team - Wer Was Macht?

3. Material -Microcontroller-UltSensor-WLAn verbindung- Displey-LED

4. Doku - Tagebuch-WhatsappGruppe-ZoomTermine- Präsentation-Deadlines Meilensteine festlegen

# data[].attributes.body
- Wie funktioniert HC-sr40?
- Was ist Mikrokontroller?

# data[].attributes.body
- Idee festgelegt/Skitze
- Mit Herr Bossle besprochen
- Messesensoren geforscht
- Andere Teile festgelegt

# data[].attributes.body
- Team festgelegt
- Microkontroller Funktionen geforscht
- Adulino Programm kennengelernt
-

# data[].attributes.body
- HC-sr04,  Ultsensor, 2Mikrokontroller (ESP32+ESP8266) bekommen
-Pi mit hc-sr04 verkabelt und in Python Programm geschrieben um zu Funktionalität zu prüfen
- Mikrokontroller versucht mit PC zu verbinden -gescheitert!

# data[].attributes.body
- Mikrokontroller+ PC Verbindung hergestellt
- Arduino+Microkontroller Verbindung hergestellt
- Deep sleep funktion kennengelernt und nachgeforscht
- Janine hat sich Aufgabe gemacht, Prototyp Behälter zu basteln
- Behälter soll erst mit Makaroni oder Bohnen gefüllt werden( wenn jem andere Idee hat, bitte hier ändern und in Komment erwähnen)