Lab 12 การใช้งาน Ultrasonic module (HC-SR04)
Code Arduino IDE
///// ผนวกไลบรารี่//////
#include <Servo.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 OLED(-1);
const int trigPin = 3; // ตั้งค่าพอร์ต trigPin ที่พอร์ต 3 ตัวส่งสัญญาณเสียง
const int echoPin = 2; // ตั้งค่า echoPin ที่พอร์ต 2 ตัวรับสัญญาณเสียง
long duration; // เซตค่าตัวแปร duration เป็นทศนิยม
int distance; // เซตค่าตัวแปร distance เป็นจำนวนเต็ม
void setup() {
pinMode(trigPin, OUTPUT); // ตั้ง trigPin เป็น OUTPUT
pinMode(echoPin, INPUT); // ตั้ง echoPin เป็น INPUT
OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C); // กำหนดแอดเดรสของพอร์ตจอเป็น 0x3C (for the 128x64)
}
void loop() {
// จัดการเคลียร์ trigPin เป็นเวลา 2 ไมโครวินาที
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// เปิด trigPin เป็นเวลา 10 ไมโครวินาที
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// อ่านสัญญาณพัลซ์ echoPin
duration = pulseIn(echoPin, HIGH);
// คำนวณหาระยะทาง distance
distance= duration*0.034/2;
///////แสดงค่าขึ้นจอแสดงผล OLED/////
OLED.clearDisplay(); // เคลียร์หน้าจอ oled
OLED.setTextColor(WHITE, BLACK); //สีอักษรเป็นสีขาว ,พื้นหลังดำ
OLED.setCursor(0, 0); // เซตตำแหน่ง 0,0
OLED.setTextSize(2); // เซตขนาดอักษรมีขนาดเป็น 2
OLED.print("Dis = "); // พิมพ์คำว่า SV1 =
OLED.println(distance); // นำค่า nob มาแสดงใน oled
OLED.display(); // เปิดฟังก์ชันแสดงผล
}
ตัวอย่างการใช้งาน