Page 52 - เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น
P. 52
เอกสารประกอบการเรียนวิชาไมโครคอนโทรลเลอร์เบื้องต้น 19
}
void i2c_scan() { // scan I2C devices
uint8_t count = 0;
Serial.println( "Scanning I2C slave devices..." );
delay(1);
for( uint8_t addr=0x01; addr <= 0x7f; addr++ ) {
Wire.beginTransmission( addr );
if ( Wire.endTransmission() == 0 ) {
sprintf( sbuf, "I2C device found at 0x%02X.", addr );
Serial.println( sbuf );
count++;
}
}
if ( count > 0 ) {
sprintf( sbuf, "Found %d I2C devices.", count );
} else {
sprintf( sbuf, "No I2C device found." );
}
Serial.println( sbuf );
}
uint8_t htu21d_read_reg() {
uint8_t data = 0x00;
Wire.beginTransmission( I2C_SLAVE_ADDR );
Wire.write( HTU21_READREG );
Wire.endTransmission();
Wire.requestFrom( I2C_SLAVE_ADDR, 1 );
if ( Wire.available() == 1 ) {
data = Wire.read();
}
return data;
}
หน่วยที่ 10 การใช้งาน Arduino กับไอซีวัดอุณภูมิและโมดูลตรวจจับสัญญาณอินพุต เรียบเรียงโดยครูทันพงษ์ ภู่รักษ์