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(); // เปิดฟังก์ชันแสดงผล

}

ตัวอย่างการใช้งาน