Eerder zagen we al de Range finder en de LCD display in aktie, nu kunnen we deze natuurlijk ook combineren en op de display de afstanden aflezen. Of het zinvol is is een andere vraag maar we doen het gewoon, omdat het kan.
Ik zal de aansluitingen in het kort herhalen:
De display:
- GND gaat naar GND van de Arduino
- VCC gaat naar 5 Volt op de Arduino
- SDA gaat naar SDA op de Arduino
- En SCL gaat naar SCL op de Arduino
De rangfinder:
- VCC op de 5 Volt van de Arduino
- GND naar de GND van de Arduino
- Echo naar pin 11 van de Arduino
- En Ping naar pin 12 van de Arduino
Nu kun je de code laden testen en uploaden:
Je hebt nodig de librarie’s:
En een stukje code: KLIK
#include “Wire.h”
#include “LiquidCrystal_I2C.h”
#include “NewPing.h”LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define MAX_DISTANCE 500 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
void setup()
{
lcd.init(); // initialize the lcd
lcd.begin (20,4); // our LCD is a 20×4, change for your LCD if needed// LCD Backlight ON
// lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.backlight();lcd.home (); // go home on LCD
lcd.print(“Range Finder HC-SR04”);
}void loop()
{
unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
unsigned int cm = sonar.convert_cm(uS); // Convert into centimeterslcd.setCursor (0,1); // go to start of 1st line
lcd.print(“https://colandino.nl”);
lcd.setCursor (0,2); // go to start of 2nd line
lcd.print(“Huidige afstand:”);
lcd.setCursor (0,3); // go to start of 4th line
lcd.print(“Ping: “);
lcd.print(cm);
lcd.print(” cm “);delay(250);
}