Outils pour utilisateurs

Outils du site


wiki:projets:titrimetre:code

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:projets:titrimetre:code [2015/02/13 19:57]
mathieu
wiki:projets:titrimetre:code [2020/10/05 14:39] (Version actuelle)
Ligne 1: Ligne 1:
-<code>+<code=cpp>
 /* /*
   Utilisation d’une photo-résistance   Utilisation d’une photo-résistance
-*/+  */
 int ledPIN = 13; int ledPIN = 13;
 int port = A0;    int port = A0;   
Ligne 24: Ligne 24:
 } }
 </code> </code>
 +\\
 +\\
 +  **Code photodiode**
 +<code=cpp>
 +#define inPin0 0
 + 
 +void setup(void) {
 + 
 +  Serial.begin(9600);
 +  Serial.println();
 +  pinMode(13, OUTPUT);
 +     
 +}
 + 
 +void loop(void) {
 +  float pVolt0 = 0.0;
 +  //float essaie = pVolt0;
 +  int pinRead0 = analogRead(inPin0);
 +  pVolt0 = pinRead0 / 1024.0 * 5;
 +  Serial.print(pVolt0);
 +  Serial.println();
 +  digitalWrite(13, HIGH);
 +  delay(1000);
 +
 +}
 +</code>
 +\\
 +\\
 +<code>
 +/*
 +  ReadAnalogVoltage
 +  Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor.
 +  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 +
 +This example code is in the public domain.
 +  */
 +
 +// the setup routine runs once when you press reset:
 +void setup() {
 +  // initialize serial communication at 9600 bits per second:
 +  Serial.begin(9600);
 +}
 +
 +// the loop routine runs over and over again forever:
 +void loop() {
 +  // read the input on analog pin 0:
 +  int sensorValue = analogRead(A0);
 +  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
 +  float voltage = sensorValue * (5.0 / 1023.0);
 +  // print out the value you read:
 +  Serial.println(voltage);
 +  delay(1000);
 +}
 +</code>
 +\\
 +\\
 +1)
 +<code=cpp>
 +#include <AccelStepper.h>
 +#include <AFMotor.h>
 +AF_Stepper motor1(200, 1);
 + int X = 0;
 +void setup()
 +{  
 +   pinMode(13,OUTPUT);
 +   Serial.begin(9600);           // set up Serial library at 9600 bps
 +   Serial.println("Stepper test!");
 +   motor1.setSpeed(400);
 +
 + 
 +}
 +void loop()
 +{  
 +  if (X < 400)
 +{
 +  motor1.step(5,FORWARD,DOUBLE);
 +  X = X + 1;
 +
 +    else
 +    {
 +      digitalWrite(13,HIGH);
 +      delay(500);
 +      digitalWrite(13,LOW);
 +      delay(500);
 +      digitalWrite(13,HIGH);
 +      delay(500);
 +      digitalWrite(13,LOW);
 +      delay(1000);
 +      X = 0;
 +      
 +#code provenant de Royce
 +    }
 +}
 +</code>
 +\\
 +\\
 +2
 +<code=cpp>
 +#include <Stepper.h>
 + 
 +//pour un moteur de 200 pas par tour et brancher sur les broches 2, 3, 4, 5
 +Stepper moteur(200, 2, 3, 4, 5);
 + 
 +void setup()
 +{
 +    moteur.setSpeed(30); //30 tours par minute
 +    //(rappel : ici le moteur fait 200 pas par tour, on fera donc 6000 pas par minute) 
 +}
 + 
 +void loop()
 +{
 +    moteur.step(1000);
 +    delay(100);
 +    moteur.step(-1000);
 +    delay(2000);
 +}
 +</code>
 +\\
 +\\
 +3
 +<code=cpp>
 +#include <Stepper.h>
 +//--- Nous utilisons 2 moteurs ayant 48*64 pas = 3072 pas par tour
 +      // Créons une boîte pour contenir simplement cette valeur
 +int nbrDePasParTour = 48*64;
 +//--- Créons ensuite 2 objets virtuels représentant nos 2 moteurs
 +      // Ces objets sont construits à l’aide d’un constructeur
 +      // Ce constructeur veut tout savoir :
 +         // Le nombre de pas par tour
 +         // Tous les trous utilisés dans le bon ordre
 +      // Voici ce que cela donne
 +Stepper monMoteur1(nbrDePasParTour,3,5,6,9);         // MEGA et UNO
 +//Stepper monMoteur2(nbrDePasParTour,10,11,12,13);     // MEGA uniquement
 +//----- On va créer ou utiliser une partie dite d’initialisation = setup !
 +void setup() 
 +
 +  //--- Il est préférable de définir une vitesse par défaut en tours/minutes
 +        // La vitesse maximale est très faible car ce moteur est démultiplié
 +        // La vitesse maximale est d’après nos tests de 9.9 tours/minutes
 +  monMoteur1.setSpeed(20);
 +  
 +
 +
 +//----- On va maintenant créer ou utiliser une partie dite boucle = loop
 +void loop() 
 +
 + 
 +  //--- Maintenant, il faut définir le nombre de “crans” à imposer à l’axe
 +     //-- Faisons tourner le moteur 1 de 500 crans
 +     monMoteur1.step(500);  
 + 
 +     //-- Faisons tourner le même moteur sur un tour dans l’autre sens
 +     monMoteur1.step(-500);  
 +     
 +     //-- Faisons tourner les 2 moteurs en même temps
 +          // Hélas, faire tourner un moteur bloque le programme
 +          // On ne peut donc pas faire tourner les 2 en même temps(*1)
 +          // Mais nous pouvons utiliser 1 astuce pour contourner ce problème
 +          // Nous allons faire tourner les moteurs cran par cran
 +          // Comme il y a beaucoup de crans, nous allons utiliser une boucle
 +     
 +     for (int i=0; i<1000 ; i++){// Ceci sera répété 1000 fois
 +       
 +       monMoteur1.step(1);      // On fait tourner le moteur droit d’1 cran
 +       // Ne fonctionne que sur MEGA
 +       //monMoteur2.step(1);      // On fait tourner le moteur gauche d’1 cran
 +                                 
 +     }
 +     
 +     //-- Pour changer la vitesse en cours de route, on peut écrire :
 +     monMoteur1.setSpeed(4);// Vitesses possibles de 0.01 à 9.90 
 +     
 +     //-- Faisons tourner les 2 moteurs en même temps dans l’autre sens
 +     for (int i=0; i<1000 ; i++){// Ceci sera répété 1000 fois
 +       
 +       monMoteur1.step(-1);     // On fait tourner le moteur droit d’1 cran
 +       // Ne fonctionne que sur MEGA
 +       //monMoteur2.step(-1);// On fait tourner le moteur gauche d’1 cran
 +                               
 +     }
 +    //-- Pour changer la vitesse en cours de route, on peut écrire :
 +    monMoteur1.setSpeed(7);// Vitesses possibles de 0.01 à 9.90 
 +     
 +    //-- Faisons tourner les 2 moteurs en même temps dans l’autre sens
 +    for (int i=0; i<1000 ; i++){// Ceci sera répété 1000 fois
 +       
 +      monMoteur1.step(-1);     // On fait tourner le moteur droit d’1 cran
 +      // Ne fonctionne que sur MEGA
 +     // monMoteur2.step(-1);// On fait tourner le moteur gauche d’1 cran
 +                               
 +    }
 + 
 +}
 +</code>
 +
 +
 +
 +
 +LE GRAAL! (programme d'un moteur pas à pas em257 +schéma d'un circuit avec 2moteurs)
 +http://figleymigley.livejournal.com/12568.html
 +\\
 +http://www.instructables.com/id/Arduino-Motor-Shield-Tutorial/?ALLSTEPS
 +
wiki/projets/titrimetre/code.1423857458.txt.gz · Dernière modification: 2016/09/11 11:03 (modification externe)