Roboid Control for C++
Loading...
Searching...
No Matches
UltrasonicSensor.h
1#pragma once
2
3#include "Things/TouchSensor.h"
4
5namespace RoboidControl {
6namespace Arduino {
7
10 public:
11 // Inherit all constructors
12 //using TouchSensor::TouchSensor;
13
18 UltrasonicSensor(Participant* participant,
19 unsigned char pinTrigger,
20 unsigned char pinEcho);
21 UltrasonicSensor(Thing* parent,
22 unsigned char pinTrigger,
23 unsigned char pinEcho);
24
25 // parameters
26
28 float touchDistance = 0.2f;
29
30 // state
31
33 float distance = 0;
37 float GetDistance();
38
40 virtual void Update(unsigned long currentTimeMs,
41 bool recursive = false) override;
42
43 protected:
45 unsigned char pinTrigger = 0;
47 unsigned char pinEcho = 0;
48};
49
50} // namespace Arduino
51} // namespace RoboidControl
An HC-SR04 ultrasonic distance sensor.
Definition UltrasonicSensor.h:9
virtual void Update(unsigned long currentTimeMs, bool recursive=false) override
Definition UltrasonicSensor.cpp:62
unsigned char pinEcho
The pin number of the echo signal.
Definition UltrasonicSensor.h:47
float distance
The last read distance.
Definition UltrasonicSensor.h:33
unsigned char pinTrigger
The pin number of the trigger signal.
Definition UltrasonicSensor.h:45
float GetDistance()
erform an ultrasonic 'ping' to determine the distance to the nearest object
Definition UltrasonicSensor.cpp:26
float touchDistance
The distance at which the object is considered to be touched.
Definition UltrasonicSensor.h:28
A participant is a device which manages things. It can communicate with other participant to synchron...
Definition Participant.h:52
A thing is the primitive building block.
Definition Thing.h:20
A sensor which can detect touches.
Definition TouchSensor.h:8