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 กับไอซีวัดอุณภูมิและโมดูลตรวจจับสัญญาณอินพุต                 เรียบเรียงโดยครูทันพงษ์  ภู่รักษ์





