US-100 Ultrasonic Sensor Module เป็น Sensor ที่ใช้ไฟเลี้ยง 5VDC ทำงานที่ช่วง 2-450 cm.
ตัวอย่างการต่อวงจร
Arduino | US-100 |
5VDC | VDC |
GND | GND |
D2 | Trig |
D3 | Echo |
ตัวอย่างโปรแกรม
#include <SoftwareSerial.h>
const int US100_TX = 2;
const int US100_RX = 3;
// Instancia nuevo canal serie
SoftwareSerial puertoUS100(US100_RX, US100_TX);
unsigned int MSByteDist = 0;
unsigned int LSByteDist = 0;
unsigned int mmDist = 0;
int temp = 0;
void setup() {
Serial.begin(9600);
puertoUS100.begin(9600);
}
void loop() {
puertoUS100.flush(); // limpia el buffer del puerto serie
puertoUS100.write(0x55); // orden de medición de distancia
delay(500);
if(puertoUS100.available() >= 2) // comprueba la recepción de 2 bytes
{
MSByteDist = puertoUS100.read(); // lectura de ambos bytes
LSByteDist = puertoUS100.read();
mmDist = MSByteDist * 256 + LSByteDist; // distancia
if((mmDist > 1) && (mmDist < 10000)) // comprobación de la distancia dentro de rango
{
Serial.print("Distancia: ");
Serial.print(mmDist, DEC);
Serial.println(" mm");
}
}
puertoUS100.flush(); // limpia el buffer del puerto serie
puertoUS100.write(0x50); // orden de medición de distancia
delay(500);
if(puertoUS100.available() >= 1) // comprueba la recepción de 1 byte
{
temp = puertoUS100.read(); // lectura del byte
if((temp > 1) && (temp < 130)) // comprobación de rango válido
{
temp -= 45; // corrige offset de 45º
Serial.print("Temperatura: ");
Serial.print(temp, DEC);
Serial.println(" C.");
}
}
delay(500);
}
ผลการทดสอบ
หน้าที่เข้าชม | 7,138,179 ครั้ง |
ผู้ชมทั้งหมด | 2,835,077 ครั้ง |
เปิดร้าน | 15 ก.ย. 2557 |
ร้านค้าอัพเดท | 29 ก.ย. 2568 |