2017年4月29日 星期六

筆記 Arduino 光敏電阻 Photoresistor

Arduino 光敏電阻 Photoresistor


使用OLED面板顯示光敏電阻偵測到的數值

材料

  1. Arduino *1 (UNO)
  2. 麵包板 *1
  3. 麵包線 數根
  4. OLED面板 *1 (SSD1306 128*64 I2C)
  5. 光敏電阻 *1
  6. 1k歐姆電阻 *1

電路圖



接線圖



CODE

/*
  使用U8g2在OLED上顯示光敏電阻偵測到的數值
*/

// U8g2_Arduino - Version: Latest 
#include <U8g2lib.h>
#include <U8x8lib.h>

//OLED面板
U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, SCL, SDA, U8X8_PIN_NONE);//(rotation, clock, data [, reset])

#define LDR_PIN A0 //光敏電阻腳位

void setup() {
  u8g2.begin();
}

int ldrVal = 0;
void loop() {
  ldrVal = analogRead(LDR_PIN);//讀取數值
    
  u8g2.firstPage();  
  do {
    draw();
  } while( u8g2.nextPage() ); 

}

void draw(){
  u8g2.setFont(u8g2_font_9x18B_mr);//設定字型
  u8g2.setCursor(0,16);//設定位置
  u8g2.println("LDR Value:");
  u8g2.println(ldrVal);//印出數值
  
  //圖形數值計
  u8g2.drawFrame(10,24,108,20);
  u8g2.drawBox(11,24,map(ldrVal,0,1023,1,107),20);

}

影片


此影片中的OLED面版使用了ArduinoSensorShleldv5.0擴充板所提供的I2C接腳


沒有留言:

張貼留言