Заказал у китайцев немного мелочёвки для ардуины. Среди прочего заказывал ультразвуковой сонар. В субботу получил и сразу опробовал.
Забавная штука, хотя особой точности измерения я не заметил.
В перспективе собираюсь приделать его на какой-нибудь игрушечный транспорт, а может на робота, что бы в препятсвия не врезался, а пока это просто ультрозвуковая рулетка :)
Один из вариантов применения - измерение роста непоседливого ребёнка. Только надо добавить кнопку фиксации результата измерения и автономный источник питания.
Немного кода из стандартных библиотек:
#include
#include
#include
#include
#include
#define OLED_RESET 4
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
Adafruit_SSD1306 display(OLED_RESET);
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup () {
Serial.begin(115200);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64)
display.display();
delay(2000);
}
void loop () {
delay(50);
int uS = sonar.ping();
printText("Ping: " + String(uS / US_ROUNDTRIP_CM) + "cm");
}
void printText(String Text){
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println(Text);
display.display();
}