/* Utilisation d’une photo-résistance */ int ledPIN = 13; int port = A0; int valeur = 0; float vin = 0; void setup() { Serial.begin(9600); } void loop() { // Lit l’entrée analogique A0 valeur = analogRead(port); // convertit l’entrée en volt vin = (valeur * 5.0) / 1024.0; Serial.println(vin); // Délai entre chaque prise d'information delay(1000); } \\ \\ **Code photodiode** #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); } \\ \\ /* 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); } \\ \\ 1) #include #include 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 } } \\ \\ 2 #include //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); } \\ \\ 3 #include //--- 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 } } 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