Compteur language C

Fermé
charlie532 Messages postés 4 Date d'inscription jeudi 16 février 2012 Statut Membre Dernière intervention 16 juin 2014 - 16 févr. 2012 à 17:31
charlie532 Messages postés 4 Date d'inscription jeudi 16 février 2012 Statut Membre Dernière intervention 16 juin 2014 - 22 févr. 2012 à 11:48
Bonjour,
Pour un projet je doit faire un compteur à bille, et la solution à été de passer par un arduino, donc du language C. J'en est jamais fait avant, mais j'ai réussi à faire un programme que le logiciel valide, mais en vrais sa ne fonctionne pas.

J'arrive bien à allumer pinActOuveture mais sa ne compte pas , pouvez vous m'aider s'il vous plait :(

Voici le programme

//Capteurs
boolean cptPresenceBille = false;

//Boutons de commande
boolean btnDcy = false;
boolean btn50 = false;

//Grafcet
boolean etp00 = false;
boolean etp10 = false;
boolean etp11 = false;
boolean etp12= false;
boolean etp40 = false;
boolean etp41 = false;

//Constantes
byte max50 = 5;

//Broches
int pinCptPresenceBille = 52;
int pinBtnDcy = 53;
int pinBtn50 = 47;
int pinActOuveture =46;

//variables internes
int compteur;

void setup()
{
//entr??es
pinMode(pinCptPresenceBille, INPUT);
pinMode(pinBtnDcy, INPUT);
pinMode(pinBtn50, INPUT);

//Sorties
pinMode(pinActOuveture, OUTPUT);

//Grafcet
etp00 = true;
digitalWrite(pinActOuveture, false);
compteur=0;
}
void loop()
{
//lecture des entr??es
btnDcy = digitalRead(pinBtnDcy);
btn50 = digitalRead(pinBtn50);

cptPresenceBille = digitalRead(pinCptPresenceBille);

if (btnDcy && etp00)
{
etp10 = true;
etp00 = false;
}
if (etp10 && btn50)
{
etp11 = true;
etp10 = false;
etp40 =true;
}
if (etp11 && compteur >= max50)
{
etp12 = true;
etp11 = false;
etp40 =false;
}
if (etp12)
{
etp12 = false;
etp10 = true;
}
if (etp40 && cptPresenceBille)
{
etp41 = true;
etp40 =false;
}
if (etp41)
{
compteur++;
}
if (etp41 && !cptPresenceBille)
{
etp41 = false;
etp40 =true;
}

//Traitement étapes
if (etp11)
{
digitalWrite(pinActOuveture, true);
}

if (etp12)
{
digitalWrite(pinActOuveture, false);
compteur=0;
}
}



A voir également:

3 réponses

borisdu Messages postés 1824 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 27 octobre 2014 229
16 févr. 2012 à 17:38
Tu n'as pas de main() ?
0
charlie532 Messages postés 4 Date d'inscription jeudi 16 février 2012 Statut Membre Dernière intervention 16 juin 2014
17 févr. 2012 à 17:21
Et bien non j'pense pas qu'il y en est besoin, a vrai dire je sais pas totalement si c'est du language C mais c du language arduino
voila la page http://arduino.cc/fr/Main/Reference
0
charlie532 Messages postés 4 Date d'inscription jeudi 16 février 2012 Statut Membre Dernière intervention 16 juin 2014
22 févr. 2012 à 11:48
pas de réponse?? :(
ce programme est un peu la solution à tout mon projet et j'dois dire que je suis mal pour l'instand
0