Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



[Résolu] Problème de programmation


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions
Sujet précédent :: Sujet suivant  
Auteur Message
Lunatikaa
Débutant

Hors ligne

Inscrit le: 05 Jan 2014
Messages: 10
Féminin
Niveau d'éléctronique: Débutant

MessagePosté le: Ven 25 Avr - 21:05 (2014)    Sujet du message: [Résolu] Problème de programmation Répondre en citant

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);
}
Revenir en haut
Lunatikaa
Débutant

Hors ligne

Inscrit le: 05 Jan 2014
Messages: 10
Féminin
Niveau d'éléctronique: Débutant

MessagePosté le: Sam 26 Avr - 12:39 (2014)    Sujet du message: [Résolu] Problème de programmation Répondre en citant

 J'ai réussi à faire tourner le Servo, une visse était trop enfoncé
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Sam 26 Avr - 14:01 (2014)    Sujet du message: [Résolu] Problème de programmation Répondre en citant

Ok, donc aucun problème logiciel. Je passe le topic en résolu
____________________________
http://simple-duino.com
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 16:46 (2017)    Sujet du message: [Résolu] Problème de programmation

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino