Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



Arduino


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

Offline

Joined: 02 Dec 2013
Posts: 6
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Wed 4 Dec - 08:35 (2013)    Post subject: Arduino Reply with quote

PublicitéSupprimer les publicités ?
Bonjours,
je suis nouveau sur ce forum, et c'est la première fois que je m'inscrit sur un forum.
Je suis en bac techno STI2D et je doit faire un projet pour le bac

Je suis débutant dans ce domaine arduino,
Pourriez vous me proposer un programme, ou le servomoteur serais a 0 ou 180 degré en fonction de la luminosité que recois un capteur de luminosité
Back to top
oneill
Débutant

Offline

Joined: 03 Jun 2013
Posts: 60
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Tue 31 Dec - 14:57 (2013)    Post subject: Arduino Reply with quote

Salut roro96, tu veut que ton servomoteur soit entre 0-180 suivant la luminosité reçus par ton capteur. Dsl je n'ai pas de capteur, faute de moyen, pour pouvoir faire le code. Encore dsl.
Back to top
Tachro52
Débutant

Offline

Joined: 30 Nov 2013
Posts: 100
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Tue 31 Dec - 17:25 (2013)    Post subject: Arduino Reply with quote

Je regarderais ça après les fêtes, ça me parraît pas bien compliqué Okay
Back to top
Arduino0
Débutant

Offline

Joined: 07 Apr 2013
Posts: 119
Masculin
Niveau d'éléctronique: Pro

PostPosted: Thu 2 Jan - 18:49 (2014)    Post subject: Arduino Reply with quote

Je te fait sa :)
Back to top
Arduino0
Débutant

Offline

Joined: 07 Apr 2013
Posts: 119
Masculin
Niveau d'éléctronique: Pro

PostPosted: Thu 2 Jan - 19:07 (2014)    Post subject: Arduino Reply with quote

Dit moi si sa ne marche pas ...

 
Code:
 #include <Servo>

//pour roro96 sur arduino.leforum.eu

Servo ServoMoteur;
int ServoPin = 9; //le pin ou tu branche ton servo SORTIE PWM
int Capteur = 0; //ENTREE ANALOGIQUE
int lum;

void setup()
{

ServoMoteur.attach(ServoPin);
ServoMoteur.write(90);//on met le servo au centre (entre 0 et 180°)

}

void loop()
{
  lum = analogRead(Capteur);
  if (lum == 0)//a toi de modifier en fonction de tes besoins!
  {
    ServoMoteur.write(0);//a toi de modifier en fonction de tes besoins!
  }
  if (lum == 1080)//a toi de modifier en fonction de tes besoins!
  {
    ServoMoteur.write(180);//a toi de modifier en fonction de tes besoins!
  }
  else
  {
    ServoMoteur.write(90);//a toi de modifier en fonction de tes besoins!
  }
 
}
Back to top
Tachro52
Débutant

Offline

Joined: 30 Nov 2013
Posts: 100
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Thu 2 Jan - 20:02 (2014)    Post subject: Arduino Reply with quote

Ton code ne fonctionne pas chez moi chef Okay
Déjà il manque le .h à la fin de l'appellation de la bibliothèque, Ensuite, l'utilisation de conditions SI ne lui donne rien de souple :
C'est SOIT il fait nuit
SOIT il fait jour,
Entre les deux on sait pas trop ^^

J'ai essayé de faire quelque-chose de variable mais je n'arrive pas à atteindre les 1023 à l'entrée de mon arduino, j'arrive au max à 850, Du coup j'ai du ajuster le calcul, Chez moi, ceci fonctionne plus ou moins bien : le servo varie selon la luminosité :

Code:
#include <Servo.h>

//pour roro96 sur arduino.leforum.eu

Servo ServoMoteur;
int ServoPin = 9; //le pin ou tu branche ton servo SORTIE PWM
int Capteur = 0; //ENTREE ANALOGIQUE
int lum;
int pos;

void setup()
{
Serial.begin(9600);
ServoMoteur.attach(ServoPin);
ServoMoteur.write(90);//on met le servo au centre (entre 0 et 180°)

}

void loop()
{
  lum = analogRead(Capteur); 
  pos = lum/(4.44);
  ServoMoteur.write(pos);
  delay(100);
 
  Serial.println(lum);
  Serial.println(pos);
}


EDIT : j'ai une résistance de pull_down ainsi qu'un condensateur pour un résultat plus fin.
Back to top
Admin
Fondateur

Offline

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

PostPosted: Thu 2 Jan - 20:15 (2014)    Post subject: Arduino Reply with quote

Les capteurs de luminosité sont peu précis mais la fonction map() te permet de passer de 0 à 1023 à 0 à 180
Voili voilou !!
____________________________
http://simple-duino.com
Back to top
Tachro52
Débutant

Offline

Joined: 30 Nov 2013
Posts: 100
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Thu 2 Jan - 20:19 (2014)    Post subject: Arduino Reply with quote

Ben il y a plusieurs type de capteur de luminosité, les résistances en dépendent.
C'est pour cela que j'ai ouvert le port série : connaître les extrême de mon capteur, et ajuster le produit en croix en fonction de.

C'était la première fois que j'utilisais une de ces bête sur arduino, il faudrait que je m'y penche d'avantage.
Back to top
Admin
Fondateur

Offline

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

PostPosted: Thu 2 Jan - 20:24 (2014)    Post subject: Arduino Reply with quote

Mais je vois que tu effectues un calcul pour définir la position entre 0 et 1023 or la fonction Map me permet plus simple et plus précise:
Structure de la fonction Map :
Int pos = map(min_lum, max_lum, min_pos, max_pos);
____________________________
http://simple-duino.com
Back to top
Tachro52
Débutant

Offline

Joined: 30 Nov 2013
Posts: 100
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Thu 2 Jan - 20:28 (2014)    Post subject: Arduino Reply with quote

Oui, en fait je fais tout simplement ce que fait la fonction map, mais en détaillé...
La fonction MAP trouve la proportionnalité PRECISE entre les deux plages (lum et pos pour nous ici) puis procède à un calcul aussi en croix pour définir en fonction de l'entrée lum, la valeur de sortie pos.

Moi je prends un coefficient de proportionnalité qui me semble juste, puis j'établis un calcul en fonction de mon résultat...

Mais la fonction MAP est plus pratique Okay
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