/*
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