Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



[Résolu] Problème de programmation


 
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions
Previous topic :: Next topic  
Author Message
Lunatikaa
Débutant

Offline

Joined: 05 Jan 2014
Posts: 10
Féminin
Niveau d'éléctronique: Débutant

PostPosted: Fri 25 Apr - 21:05 (2014)    Post subject: [Résolu] Problème de programmation Reply with quote

PublicitéSupprimer les publicités ?
Bonjour, je souhaite effectuer le programme suivant: 
un capteur IA détecte mon chat quand celui va dehors, une  LED s'allume alors et une barrière tourne à 90° à l'aide d'un servomoteur. Cependant, avec les codes utilisé ci dessous, la LED s'allume quand le chat passe mais le servomoteur ne fait pas tourner la barrière (le servo fonctionne quand il est tout seul). Pouvait m'aider à trouver une solution. Merci.




#include
Servo myservo; // On définit le servomoteur
const int buttonPin = 2;//Le bouton-poussoir est connecté à la pin 2
int IRPin = 0; // le capteur est connecté à la pin a0 et
// au 5 v et à la masse
int buttonState = 0;
int pos=0;
int IRmesure; // la valeur lue de 0 à 1023
int pin_son = 11; // le buzzer est relié à la pin 11
int MI= 330; // la note jouée par le buzzer
int nblect=3; // nb de lectures faites, on va faire une moyenne
int moyenne=0;
int seuil = 130 ; // si la valeur analogique lue est supérieure à 130
// on déclenchera le buzzer
unsigned long TopCompteur;
int ChatIci;
int led = 13; //La led est connecté à la pin 13
void setup(void) {
myservo.attach(10);
pinMode(buttonPin, INPUT);// On met le bouton-poussoir en entré
pinMode(led, OUTPUT);//On met la Led en sortie
Serial.begin(19200);
ChatIci = 0;
}
void loop(void) {
int i;
moyenne=0; // on va faire la moyenne de plusieurs mesures
for (i=0 ; i < nblect ; i++) {
moyenne = moyenne + analogRead(IRPin);
// le capteur ne peut pas mesurer plus vite
// il faut attendre entre deux mesures
delay(40);
}
IRmesure = moyenne / nblect;
Serial.print("Mesure = ");
Serial.println(IRmesure);
if (IRmesure > seuil) { // chat proche
// Dans le cas où on vient de le détecter, on initialise le compteur
if (ChatIci == 0) { 
TopCompteur = millis(); ChatIci = 1;};
} else { ChatIci = 0; sonnette_off; } // Le chat n'est plus là
;
if ((ChatIci==1)&(millis()-TopCompteur)<2000){ 
digitalWrite(led, HIGH);
delay(4000);


+
for(pos=0;pos<135;pos += 1){
myservo.write(pos);
delay(20);
}


buttonState = digitalRead(buttonPin);                                                                                                
if (buttonState == HIGH) {
 
for(pos=135;pos<180;pos += 1){
myservo.write(pos);
delay(20);}


delay(12000);
for(pos=180;pos>0;pos -= 1)
{
myservo.write(pos);
delay(20);
;
}}}


if ((ChatIci==1) & (millis()-TopCompteur) > 10000) { // Là, ça fait 10 secondes qu'il est là
sonnette_on() ;
delay(5000); //Le buzzer sonne pendant 5 seconde puis toute les 5 secondes il sonne 5 seconde


for(pos=0;pos<135;pos+=1){
myservo.write(pos);
delay(20);
}




digitalWrite(led, LOW);// La Led s'éteint car le chat est rentré donc cela nous avertit que le chat est dans la maison
sonnette_off(); //le buzzer s'éteint
delay(2000);}
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
  myservo.attach(10);
for(pos=180;pos>0;pos-=1)
{myservo.write(pos);
delay(20);
}


delay(12000);


for (pos=0;pos=135;pos+=1)
{myservo.write(pos);
delay(20);
}




}}  
//loop
//fonctions////////////
void sonnette_on() {
tone (pin_son,MI);
}
void sonnette_off() {
noTone (pin_son);
}
Back to top
Lunatikaa
Débutant

Offline

Joined: 05 Jan 2014
Posts: 10
Féminin
Niveau d'éléctronique: Débutant

PostPosted: Sat 26 Apr - 12:39 (2014)    Post subject: [Résolu] Problème de programmation Reply with quote

 J'ai réussi à faire tourner le Servo, une visse était trop enfoncé
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Sat 26 Apr - 14:01 (2014)    Post subject: [Résolu] Problème de programmation Reply with quote

Ok, donc aucun problème logiciel. Je passe le topic en résolu
____________________________
http://simple-duino.com
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Xooit.com free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino