/*attiny aiguillage KATO BP
04/09/2023
Dominique Hudry
commande d'un aiguillage KATO par un BP avec affichage de la voie sélectionnée
l'étage de puissance est un L293D
lien:
Brochage Attiny85
=|1 U 8|= VCC
CdeInput2 <--3 =|2 7|= 2--> LedVoieDeviee
CdeInput1 <--4 =|3 6|= 1--> LedVoieDirecte
GND =|4 5|= 0<-- BPcommande--GND
*/
#include "simpleBouton.h"
const byte BPcommande = 0;
const byte LedVoieDirecte = 1;
const byte LedVoieDeviee = 2;
const byte CdeInput1 = 4;
const byte CdeInput2 = 3;
bool variableEtat = false;
int dureeImpulsion = 200;
simpleBouton bouton(BPcommande);
void setup() {
pinMode(CdeInput1, OUTPUT);
pinMode(CdeInput2, OUTPUT);
digitalWrite(CdeInput1, LOW);
digitalWrite(CdeInput2, LOW);
pinMode(LedVoieDirecte, OUTPUT);
pinMode(LedVoieDeviee, OUTPUT);
digitalWrite(LedVoieDirecte, HIGH);
digitalWrite(LedVoieDeviee, HIGH);
delay(200);
digitalWrite(LedVoieDirecte, LOW);
digitalWrite(LedVoieDeviee, LOW);
} // fin setup
void loop() {
bouton.actualiser();
if (bouton.vientDEtreEnfonce()) {
variableEtat = !variableEtat;
if (variableEtat) {
digitalWrite(LedVoieDeviee, LOW);
digitalWrite(CdeInput1, HIGH);
delay(dureeImpulsion);
digitalWrite(CdeInput1, LOW);
digitalWrite(LedVoieDirecte, HIGH);
} //fin if
else {
digitalWrite(LedVoieDirecte, LOW);
digitalWrite(CdeInput2, HIGH);
delay(dureeImpulsion);
digitalWrite(CdeInput2, LOW);
digitalWrite(LedVoieDeviee, HIGH);
} // fin else
} // fin if
} // fin loop