Page 79 - เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น
P. 79
เอกสารประกอบการเรียนวิชาไมโครคอนโทรลเลอร์เบื้องต้น 46
Schematics
Code
#include <Wire.h> // use the Wire library
// connect address pins: A0=0 (GND), A1=0 (GND), A2=0 (GND)
#define ADDR_BITS (0B000) // A0=0,A1=0,A2=0
#define I2C_SLAVE_ADDR ((0B0111000) | ADDR_BITS) // 7-bit address
#define MAX_DISTANCE_IN_MM (4000) // max. valid value for distance
#define DURATION_TO_DISTANCE(x) ((17*(x))/100) // usec -> mm.
const int ECHO_PIN = 2; // D2 pin (External Interrupt 0)
const int TRIG_PIN = 4; // D4 pin
const int LED_PIN = 13; // D13 pin
volatile uint32_t tH, tL, pulse_width = 0;
uint16_t dist_mm; // distance in mm.
char sbuf[32]; // used for sprintf()
void setup() {
pinMode( LED_PIN, OUTPUT );
Wire.begin();
TWBR = 12; // for 400kHz
writeOutput(0xF0);
หน่วยที่ 10 การใช้งาน Arduino กับไอซีวัดอุณภูมิและโมดูลตรวจจับสัญญาณอินพุต เรียบเรียงโดยครูทันพงษ์ ภู่รักษ์