# IOT Lab4 ## DHT11 溫濕度感測器 ``` #include <SimpleDHT.h> int pinDHT11 = 28; //修改腳位為X SimpleDHT11 dht11(pinDHT11); void setup() { Serial.begin(115200); } void loop() { //start working... Serial.println("==============="); Serial.println("Sample DHT11..."); //read without samples. byte temperature = 0; byte humidity = 0; int err = SimpleDHTErrSuccess; if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) { Serial.print("Read DHT11 failed, err="); Serial.println(err); delay(1000); return; } Serial.print("Sample OK: "); Serial.print((int)temperature); Serial.print(" *C, "); Serial.print((int)humidity); Serial.println(" H"); //DHT11 sampling rate is lHZ. delay(1500); } ```  ## I2C-1602 LCD Hello, world ``` #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display void setup(){ lcd.init(); // initialize the lcd // Print a message to the LCD. lcd.backlight(); lcd.setCursor(3,0); lcd.print("Hello, world!"); lcd.setCursor(2,1); lcd.print("Panda!"); delay(1000); lcd.clear(); delay(1000); } void loop(){ } ```   ## SAD 與 SCL 介紹 SDA和SCL是I2C通訊協議中的兩條線路。 * SDA(Serial Data):是I2C數據傳輸線路,用於傳輸數據信號。線路用於傳輸數據位,數據位是透過一個開關元件(通常是一個晶體管)來控制的,當開關元件處於導通狀態時,SDA線路就被拉低表示數據位為0,當開關元件處於斷開狀態時,SDA線路就被拉高表示數據位為1。因此,SDA線路上的電壓電平可以判斷出傳輸的數據位是0還是1。 * SCL(Serial Clock):是I2C時鐘線路,用於傳輸時鐘信號,用來同步數據傳輸的節奏。 * I2C(Inter-Integrated Circuit)是一種串行通訊協議,可用於連接不同芯片、傳感器和其他電子裝置之間的數據傳輸。具有使用線路少、傳輸速率高、傳輸距離短等特點。I2C的設計旨在減少線路數量,使連接更簡單,因此只需要使用兩條線路即可完成通訊。其中SDA和SCL線路是I2C通訊協議中最重要的兩條線路,幾乎所有I2C設備都需要使用這兩條線路進行通訊
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up