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 กับไอซีวัดอุณภูมิและโมดูลตรวจจับสัญญาณอินพุต                 เรียบเรียงโดยครูทันพงษ์  ภู่รักษ์
   47   48   49   50   51   52   53   54   55   56   57