接下來看一下 Arduino MCU + Analog/Digital Sensor 的簡單示範範例(溫溼度計) :
Arduino Mega2560 + DHT11 Sensor(Without LED Shield)
此圖由 fritzing 製作而成, 請自行下載使用
此圖由 fritzing 製作而成, 請自行下載使用
再來看看真實的Arduino在IOT 的實際應用, 由 Arduino AVR + Digital Seosor(DHT 11) + 1602 LCD Keypad Shield + LED, 所組合而成的簡易型溫濕度計, 如下圖 
 | 
要如何讓溫濕度的感應器(DHT11 Sensor)所測得的數據顯示在 2*16 的LCD 螢幕上, 同時更新 溫濕度數據時, 讓紅色的LED燈亮一下, 這樣我們也可以看到溫濕度感應器(DHT11 Sensor, PIC 3-1)是有作用中, 所以來看一下 Arduino IDE 的 程式是如何寫的:
PIC 3-1
/*    將DHT11測得的溫濕度顯示在LCD顯示器 */ 
#include <LiquidCrystal.h>    //使用LiquidCrystal Library 
#include <dht11.h>                 //使用DHT11 Library
LiquidCrystal lcd(8,9,4,5,6,7);  //初始設定LCD1602 Keypad 的顯示器的介面 
dht11 DHT11;     //定義DHT11 物件
#define DHT11PIN 2  //定義讀取資料的 Pin腳 
void setup() {     
   lcd.begin(16, 2);  // 設定LCD有2列16欄  
      Serial.begin(9600);  
} 
void loop() {  
   lcd.setCursor(0, 0); //將游標設定在第一行第一個位置(column 0, line 1)  
   int chk = DHT11.read(DHT11PIN);  //檢查DHT感測器的回應  
      switch (chk) {     
   case 0:       
     lcd.print("Humidity:");       
     lcd.print((float)DHT11.humidity, 1);       
     lcd.print("%");       
     lcd.setCursor(0, 1);       
     lcd.print("Tempure:");       
     lcd.print((float)DHT11.temperature, 1);       
     lcd.print("oC");     // 無法顯示度,只好用小寫的O表示  
     digitalWrite(3, HIGH);   
     delay(1000);//Wait rest of 1 second recommended delay before
        //accessing sensor
     digitalWrite(3, LOW);
           break;     
   case -1:       
     lcd.print("Checksum error"); 
     break;     
   case -2:       
     lcd.print("Time out error"); 
     break;     
   default:       
     lcd.print("Unknown error"); 
     break;   
   }  
   delay(1000);  //延遲 1 秒
} 


