Classes et code de la partie pompe du Robot 2021
Dependencies: mbed ident_crac
bloc_monopompe.cpp@9:6869e3869638, 2021-07-17 (annotated)
- Committer:
- goldmas
- Date:
- Sat Jul 17 11:09:18 2021 +0000
- Revision:
- 9:6869e3869638
- Parent:
- 8:ba95705cf7d4
Dernier code de la coupe de fracne 2021
Who changed what in which revision?
User | Revision | Line number | New 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 | 4:4bae30d48662 | 9 | void bloc_monopompe::aspirer (void) |
goldmas | 0:253443d82cba | 10 | { |
smarecar | 7:b7dc6201b520 | 11 | float val_cpt; |
goldmas | 0:253443d82cba | 12 | _pompe = PWM_POMPE ; |
goldmas | 0:253443d82cba | 13 | _electrovanne = ELEC_OUVERTE ; |
smarecar | 8:ba95705cf7d4 | 14 | //wait_ms(1000) ; |
smarecar | 7:b7dc6201b520 | 15 | val_cpt = _capteur.read() ; |
smarecar | 8:ba95705cf7d4 | 16 | //wait_ms(100) ; |
goldmas | 0:253443d82cba | 17 | |
smarecar | 7:b7dc6201b520 | 18 | if( val_cpt >= SEUIL_CPT) |
goldmas | 0:253443d82cba | 19 | { |
smarecar | 7:b7dc6201b520 | 20 | _gobelet_en_place = 1 ; |
smarecar | 7:b7dc6201b520 | 21 | } |
smarecar | 7:b7dc6201b520 | 22 | else |
smarecar | 7:b7dc6201b520 | 23 | { |
smarecar | 7:b7dc6201b520 | 24 | _gobelet_en_place = 0 ; |
goldmas | 0:253443d82cba | 25 | } |
goldmas | 0:253443d82cba | 26 | } |
goldmas | 0:253443d82cba | 27 | |
goldmas | 4:4bae30d48662 | 28 | void bloc_monopompe::relacher (void) |
goldmas | 0:253443d82cba | 29 | { |
goldmas | 0:253443d82cba | 30 | if(_capteur.read() >= SEUIL_CPT) |
smarecar | 7:b7dc6201b520 | 31 | { |
smarecar | 7:b7dc6201b520 | 32 | _pompe = PWM_STOP_POMPE; |
smarecar | 7:b7dc6201b520 | 33 | _electrovanne = ELEC_FERME ; |
smarecar | 8:ba95705cf7d4 | 34 | //wait_ms(100) ; |
smarecar | 7:b7dc6201b520 | 35 | } |
smarecar | 7:b7dc6201b520 | 36 | _gobelet_en_place = 0 ; |
goldmas | 0:253443d82cba | 37 | } |
goldmas | 0:253443d82cba | 38 | |
goldmas | 4:4bae30d48662 | 39 | char bloc_monopompe::etat_actuel (void) |
goldmas | 0:253443d82cba | 40 | { |
goldmas | 4:4bae30d48662 | 41 | char etat_groupe = 0 ; |
goldmas | 4:4bae30d48662 | 42 | bool etat_pompe; |
goldmas | 4:4bae30d48662 | 43 | bool etat_electrovanne ; |
goldmas | 4:4bae30d48662 | 44 | |
goldmas | 4:4bae30d48662 | 45 | if(_pompe.read() != 0) //test de la pompe |
goldmas | 4:4bae30d48662 | 46 | etat_pompe = 1 ; |
goldmas | 4:4bae30d48662 | 47 | else |
goldmas | 4:4bae30d48662 | 48 | etat_pompe = 0 ; |
goldmas | 4:4bae30d48662 | 49 | |
goldmas | 4:4bae30d48662 | 50 | if(_capteur.read() >= SEUIL_CPT) //test du capteur |
goldmas | 0:253443d82cba | 51 | _gobelet_en_place = 1 ; |
goldmas | 0:253443d82cba | 52 | else |
goldmas | 0:253443d82cba | 53 | _gobelet_en_place = 0 ; |
goldmas | 0:253443d82cba | 54 | |
goldmas | 4:4bae30d48662 | 55 | if(_electrovanne.read()) //test de l'electrovanne |
goldmas | 9:6869e3869638 | 56 | etat_electrovanne = 1 ; |
goldmas | 4:4bae30d48662 | 57 | else |
goldmas | 9:6869e3869638 | 58 | etat_electrovanne = 0 ; |
goldmas | 4:4bae30d48662 | 59 | |
goldmas | 9:6869e3869638 | 60 | // contenue du char : (cela evite l'utilisation de pointeurs) |
goldmas | 4:4bae30d48662 | 61 | //0000 0 "bit pompe" "bit elec" "bit cpt" |
goldmas | 4:4bae30d48662 | 62 | return etat_groupe = (etat_pompe << 2) + (etat_electrovanne << 1) + _gobelet_en_place ; |
goldmas | 4:4bae30d48662 | 63 | } |
goldmas | 4:4bae30d48662 | 64 | |
goldmas | 4:4bae30d48662 | 65 | void bloc_monopompe::stop_pompe (void) |
goldmas | 4:4bae30d48662 | 66 | { |
goldmas | 4:4bae30d48662 | 67 | _pompe = PWM_STOP_POMPE ; |
goldmas | 4:4bae30d48662 | 68 | _electrovanne = ELEC_OUVERTE ; |
goldmas | 0:253443d82cba | 69 | } |