Hello,
I'm a very new user of arduino and need help for my first project. I'm german and my english isn't very good.
Hardware:
Arduino Uno
Laser Distance Sensor VL53L0X
8-Bit-Transmitter-Modul
Goal:
The VL53L0X should measure the distance in mm (or cm), the arduino should digital output the value in 8-bit to transmit it with the 8-bit-Transmitter.
I used the library sketch VL53L0X for single measurement and combined it with a simple sketch to transmit a voltage level. But while compiling, there is a error message "Error while compiling for the board Arduino/Genuino uno".
Could anyone help me?
Here is the code:
#include <Wire.h>
#include <VL53L0X.h>VL53L0X sensor;
// pause between measurements
const auto MEASUREMENT_PAUSE = 600;uint8_t readRangeSingleMillimeters();
void send(uint8_t meas)
{
PORTB = (PORTB & 0b11100000) | (meas & 0b00011111);
PORTD = (PORTD & 0b00011111) | (meas & 0b11100000);
}void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
Wire.begin();// HomeMatic 8-bit transmitter
// set PB0 - PB4 (DDRB) and PD5 - PD7 (DDRD) to output
DDRB |= 0b00011111;
DDRD |= 0b11100000;sensor.init();
sensor.setTimeout(500);// increase timing budget to 200 ms
sensor.setMeasurementTimingBudget(200000);
}void loop()
{
// turn led on
digitalWrite(LED_BUILTIN, HIGH);// measure and send
uint8_t meas = readRangeSingleMillimeters();
send(meas);Serial.print(sensor.readRangeSingleMillimeters());
if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }Serial.println();
// turn led off
digitalWrite(LED_BUILTIN, LOW);// pause for next measurement
delay(MEASUREMENT_PAUSE * 1000l);
}