Xavier Jannin / Mbed 2 deprecated PETIT_robot

Dependencies:   mbed

Committer:
xav_jann1
Date:
Wed May 22 16:54:27 2019 +0000
Revision:
0:1cfd66c3a181
Premiere version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xav_jann1 0:1cfd66c3a181 1 #include "Infra.h"
xav_jann1 0:1cfd66c3a181 2 #include <math.h>
xav_jann1 0:1cfd66c3a181 3
xav_jann1 0:1cfd66c3a181 4 // Constructeur:
xav_jann1 0:1cfd66c3a181 5 Infra::Infra(PinName pin)
xav_jann1 0:1cfd66c3a181 6 : m_analog(pin),
xav_jann1 0:1cfd66c3a181 7 m_isOn(true),
xav_jann1 0:1cfd66c3a181 8 m_distdetect(30.0f),
xav_jann1 0:1cfd66c3a181 9 m_detect(false) {}
xav_jann1 0:1cfd66c3a181 10
xav_jann1 0:1cfd66c3a181 11 // Mesure:
xav_jann1 0:1cfd66c3a181 12 bool Infra::mesure() {
xav_jann1 0:1cfd66c3a181 13 // Mesure:
xav_jann1 0:1cfd66c3a181 14 m_voltage = m_analog.read();
xav_jann1 0:1cfd66c3a181 15 m_voltage = (float)m_voltage * (float)3.3;
xav_jann1 0:1cfd66c3a181 16 m_distance = (float)29.988 * powf(m_voltage, -1.173) / 2.0f;
xav_jann1 0:1cfd66c3a181 17
xav_jann1 0:1cfd66c3a181 18 // Détection:
xav_jann1 0:1cfd66c3a181 19 if (m_isOn) m_detect = m_distance < m_distdetect;
xav_jann1 0:1cfd66c3a181 20 else m_detect = false;
xav_jann1 0:1cfd66c3a181 21
xav_jann1 0:1cfd66c3a181 22 return m_detect;
xav_jann1 0:1cfd66c3a181 23 }
xav_jann1 0:1cfd66c3a181 24
xav_jann1 0:1cfd66c3a181 25 // Setters:
xav_jann1 0:1cfd66c3a181 26 void Infra::setDistDetect(float detect) { m_distdetect = detect; }
xav_jann1 0:1cfd66c3a181 27 void Infra::on() { m_isOn = true; }
xav_jann1 0:1cfd66c3a181 28 void Infra::off() { m_isOn = false; }
xav_jann1 0:1cfd66c3a181 29
xav_jann1 0:1cfd66c3a181 30 // Getters:
xav_jann1 0:1cfd66c3a181 31 float Infra::getDistance() { return m_distance; }
xav_jann1 0:1cfd66c3a181 32 float Infra::getVoltage() { return m_voltage; }
xav_jann1 0:1cfd66c3a181 33 float Infra::getDistdetect() { return m_distdetect; }