Classes et code de la partie pompe du Robot 2021

Dependencies:   mbed ident_crac

Committer:
goldmas
Date:
Fri Jan 15 07:36:28 2021 +0000
Revision:
0:253443d82cba
Child:
4:4bae30d48662
Code pour les pompes Coupe de France de robotique 2021

Who changed what in which revision?

UserRevisionLine numberNew contents of line
goldmas 0:253443d82cba 1 #include "bloc_monopompe.h"
goldmas 0:253443d82cba 2
goldmas 0:253443d82cba 3 bloc_monopompe::bloc_monopompe (PinName pompe, PinName electrovanne, PinName capteur)
goldmas 0:253443d82cba 4 : _pompe(pompe), _electrovanne(electrovanne), _capteur(capteur)
goldmas 0:253443d82cba 5 {
goldmas 0:253443d82cba 6 _pompe.period_us(20) ;
goldmas 0:253443d82cba 7 }
goldmas 0:253443d82cba 8
goldmas 0:253443d82cba 9 bool bloc_monopompe::aspirer (void)
goldmas 0:253443d82cba 10 {
goldmas 0:253443d82cba 11 _pompe = PWM_POMPE ;
goldmas 0:253443d82cba 12 _electrovanne = ELEC_OUVERTE ;
goldmas 0:253443d82cba 13 wait_ms(100) ;
goldmas 0:253443d82cba 14
goldmas 0:253443d82cba 15 if(_capteur.read() >= SEUIL_CPT)
goldmas 0:253443d82cba 16 {
goldmas 0:253443d82cba 17 _electrovanne = ELEC_FERME ;
goldmas 0:253443d82cba 18 wait_ms(100) ;
goldmas 0:253443d82cba 19 if(_capteur.read() >= SEUIL_CPT)
goldmas 0:253443d82cba 20 {
goldmas 0:253443d82cba 21 _pompe = 0 ;
goldmas 0:253443d82cba 22 _gobelet_en_place = 1 ;
goldmas 0:253443d82cba 23 }
goldmas 0:253443d82cba 24 else
goldmas 0:253443d82cba 25 {
goldmas 0:253443d82cba 26 _electrovanne = ELEC_OUVERTE ;
goldmas 0:253443d82cba 27 _gobelet_en_place = 0 ;
goldmas 0:253443d82cba 28 }
goldmas 0:253443d82cba 29 return _gobelet_en_place ;
goldmas 0:253443d82cba 30 }
goldmas 0:253443d82cba 31
goldmas 0:253443d82cba 32 }
goldmas 0:253443d82cba 33
goldmas 0:253443d82cba 34 bool bloc_monopompe::relacher (void)
goldmas 0:253443d82cba 35 {
goldmas 0:253443d82cba 36 _electrovanne = ELEC_OUVERTE ;
goldmas 0:253443d82cba 37 wait_ms(100) ;
goldmas 0:253443d82cba 38 if(_capteur.read() >= SEUIL_CPT)
goldmas 0:253443d82cba 39 _gobelet_en_place = 1 ;
goldmas 0:253443d82cba 40 else
goldmas 0:253443d82cba 41 _gobelet_en_place = 0 ;
goldmas 0:253443d82cba 42
goldmas 0:253443d82cba 43 return _gobelet_en_place ;
goldmas 0:253443d82cba 44 }
goldmas 0:253443d82cba 45
goldmas 0:253443d82cba 46 bool bloc_monopompe::possession (void)
goldmas 0:253443d82cba 47 {
goldmas 0:253443d82cba 48 if(_capteur.read() >= SEUIL_CPT)
goldmas 0:253443d82cba 49 _gobelet_en_place = 1 ;
goldmas 0:253443d82cba 50 else
goldmas 0:253443d82cba 51 _gobelet_en_place = 0 ;
goldmas 0:253443d82cba 52
goldmas 0:253443d82cba 53 return _gobelet_en_place ;
goldmas 0:253443d82cba 54 }