Page 65 - เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น
P. 65

เอกสารประกอบการเรียนวิชาไมโครคอนโทรลเลอร์เบื้องต้น    32



                              Wire.requestFrom( I2C_SLAVE_ADDR, 1 );

                              delayMicroseconds(4);
                       if ( Wire.available() ) {

                              data = Wire.read();}

                              return data;
                              }

                              uint16_t read_ultrasonic_sensor( int pin ) {
                              digitalWrite( LED_PIN, HIGH);

                              writeOutput( 0xF0 | (1 << pin) );
                              writeOutput( 0xF0 );

                              pulse_width = 0;

                       while ( pulse_width == 0 ) {}  // wait until pulse_width > 0
                              digitalWrite( LED_PIN, LOW );

                              return DURATION_TO_DISTANCE( pulse_width );

                              }
                       void loop() {

                              for (int i=0; i < 2; i++ ) {

                              dist_mm = read_ultrasonic_sensor( i );
                       if ( dist_mm > MAX_DISTANCE_IN_MM ) {

                              Serial.println( "Out of range." );
                       } else {

                              sprintf( sbuf, "Sensor %d, %d.%1d cm", i, (dist_mm/10), (dist_mm%10) );

                              Serial.println( sbuf );
                              }

                              delay(5);
                              }

                              delay( 250 );

                              }
                              volatile uint32_t timestamp;

                       void eint_isr() { // ISR for Ext. Interrupt

                              timestamp = micros();  // read the timestamp (in microseconds)
                       if ( digitalRead( ECHO_PIN ) == LOW ) {





               หน่วยที่ 10  การใช้งาน Arduino กับไอซีวัดอุณภูมิและโมดูลตรวจจับสัญญาณอินพุต                 เรียบเรียงโดยครูทันพงษ์  ภู่รักษ์
   60   61   62   63   64   65   66   67   68   69   70