С помощью ардуино можно сделать простой дальномер в домашних условиях для этого нам понадобится модуль SC-SR04, LCD Module 1602 и ARDUINO
Подключаем SC-SR04 к arduino
- Gnd к GND
- Vcc к 5V
- Trig к 7 пину ардуино
- Echo к 6 пину ардуино
16x2 LCD
- 0V
- 5V
- Контраст: 1ком к GND и 10ком к пину 5V
- RS: to Arduino pin12
- R/W: to 0V
- E: to Arduino pin11
- DB0: n/c
- DB1: n/c
- DB2: n/c
- DB3: n/c
- DB4: to Arduino pin 5
- DB5: to Arduino pin 4
- DB6: to Arduino pin 3
- DB7: to Arduino pin 2
- Anode: to 100Ω or 220Ω resistor; other end of resistor to 5V
- Cathode: to GND
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int pingPin = 7; //output 10us pulse to this pin
int inPin = 6; //measure return pulse width from this pin
long duration, inches, cm;
int indec, cmdec;
int inchconv = 147; // ratio between puls width and inches
int cmconv = 59; // ratio between pulse width and cm
String s1, s2;
// initialise LCD library and pins
void setup() {
lcd.begin(16, 2);
pinMode(pingPin, OUTPUT);
pinMode(inPin, INPUT);
}
void loop()
{
// Send a short LOW followed by HIGH pulse to Trigger input:
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
// read the length of the return pulse on Echo output
duration = pulseIn(inPin, HIGH);
// convert the time into a distance (non-floating point with decimals
inches = microsecondsToInches(duration);
indec = (duration - inches * inchconv) * 10 / inchconv;
cm = microsecondsToCentimeters(duration);
cmdec = (duration - cm * cmconv) * 10 / cmconv;
s1 = String(inches) + "." + String(indec) + "in" + " ";
s2 = String(cm) + "." + String(cmdec) + "cm" + " ";
lcd.setCursor(0, 0); // print inches on top line of LCD
lcd.print(s1);
lcd.setCursor(0,1); // print cm on second line of LCD
lcd.print(s2);
delay(100);
}
long microsecondsToInches(long microseconds)
{
return microseconds / inchconv;
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / cmconv;
}
Комментариев нет:
Отправить комментарий