## Physical Computing
---- ## Plan für heute - Rückblick - Temperatur und Feuchtigkeit überwachen - Sensoren, Motoren und etwas Mathematik ---- ### Rückblick - Temperatur und Feuchtigkeit überwachen
---- ### Lösung für DHT20 ```python[1-18] from lcd1602 import LCD1602 from dht20 import DHT20 as DHT from machine import (I2C, Pin, ADC, PWM) from utime import sleep i2c0 = I2C(0, sda=Pin(8), scl=Pin(9), freq=400000) i2c1 = I2C(1, sda=Pin(6, mode=Pin.IN, pull=Pin.PULL_UP), scl=Pin(7, mode=Pin.IN, pull=Pin.PULL_UP), freq=400000) sensor = DHT(i2c1) sensor.measure() d = LCD1602(i2c0, 2, 16) ``` ---- ### Lösung für DHT20 ```python[1-12] while True: sensor.measure() sleep(1) temp = sensor.temperature() hum = sensor.humidity() d.setCursor(0,0) d.print("Temp: %3.1f" % temp) d.setCursor(0,1) d.print("Humid: %3.1f" % hum) ``` ---- ### Lösung für DHT11 - von Leah ```python[] import dht from lcd1602 import LCD1602 from machine import Pin, I2C from utime import sleep sensor = dht.DHT11(Pin(18)) sensor.measure() temp = sensor.temperature() humid = sensor.humidity() i2c = I2C(1, scl=Pin(7), sda=Pin(6), freq=400000) d = LCD1602(i2c, 2, 16) d.display() ``` ---- ### Lösung für DHT11 - von Leah ```python[] while True: sleep(1) d.clear() d.setCursor(0,0) d.print("Temp: "+str(temp)) d.setCursor(0,1) d.print("Humid: "+str(humid)) sleep(1) ``` ---- ### Die ersten Schritte sind geschafft - Microcontroller flashen - Input: - Licht, Schall, Temperatur, Feuchtigkeit - Output - LCD-Display, Buzzer, Onboard-LED ---- ### Sensoren, Motoren und etwas Mathematik
---- ### Zuerst die Hardware, dann die Mathematik... ---- ### Problemstellung
---- ### Regelkreis
---- ### Control engineering
Interdisziplinäre Domäne der Ingenieurswissenschaften
Schafft Methoden zur effizienten und fehlertoleranten Auslegung von Reglern
Verhilft Systemen adaptiv auf sich verändernde Bedingungen zu reagieren
Macht Systeme smart («low-level intelligence», ohne Kognition)
Quelle: https://github.com/A-make/awesome-control-theory
---- ### PID-Regler