Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1512 connectés 

  FORUM HardWare.fr
  Programmation
  C

  besoin d'aide programmation C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

besoin d'aide programmation C

n°2127786
charlie532
Posté le 22-02-2012 à 12:14:44  profilanswer
 

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;
}
}

mood
Publicité
Posté le 22-02-2012 à 12:14:44  profilanswer
 

n°2127839
charlie532
Posté le 22-02-2012 à 17:50:56  profilanswer
 

SVP répondez moi :( :(
 
au pire sa serais bien de me donner un exemple de compteur en langage C

n°2127949
charlie532
Posté le 23-02-2012 à 11:43:30  profilanswer
 

UP

n°2127952
gilou
Modérateur
Modzilla
Posté le 23-02-2012 à 11:58:30  profilanswer
 

Si tu allais voir sur le topic arduino de la section discussion, tu auras peut être plus de réponses.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2128592
kray
Bad show?
Posté le 28-02-2012 à 00:42:18  profilanswer
 

Bon, je suis pas expert en Arduino, et j'ai pas trop envie de reconvertir ton "C-grafcet" (c'est un choix ou imposé parle prof?) en Grafcet
A supposer que tu veux compter des billes
Je verrai bien quelque chose du genre :
 

Code :
  1. int nombre_billes=0;
  2. loop()
  3. {
  4. boolean BilleAvant = false;
  5. boolean BilleEncours = digitalRead(pinCptPresenceBille);
  6. if (BilleEncours && !BilleAvant)  nombre_billes++;
  7. BilleAvant=BilleEncours; //a priori la bille reste longtemps devant le capteur, on vérifie qu'il y a eu un "trou" avant
  8. if (nombre_bille>=xx)
  9. {
  10. //valeur max atteinte
  11. }
  12. }


 
Non compilé, et j'ai pas tout saisi de ce que tu veux faire.


---------------
I guess my real ennemy is me

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  besoin d'aide programmation C

 

Sujets relatifs
Optimisation et multi-thread en C[C#] WCF Routing et WIF
Aide HTML structure de pagePHP->C# Besoin de conversion svp
Compilation parser XML pour intégration à un code Cintégrer .lib dans un projet C# (VS Express 2010)
Aide pour ce progaide avec phprunner
Besoin d'aide pour problem entre yoxview et IEProgrammation en C, besoin d'aide
Plus de sujets relatifs à : besoin d'aide programmation C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR