1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
| #include <SerialLCD.h>
#include <SoftwareSerial.h>
#define valeurMin 0
#define valeurMax 202
int rpm=0, stepsPerRevolution=200, tempsDePausePhoto=0, compteur;
#include <Stepper.h>
int enA = 10; // Enable pin 10 on Motor Control Shield
int enB = 11; // Enable pin 11 on Motor Control Shield
int dirA = 12; // Direction pin dirA on Motor Control Shield
int dirB = 13; // Direction pin dirB on Motor Control Shield
Stepper myStepper(stepsPerRevolution, dirA, dirB);
//Commande
int btnS1 = 7; // Pin for button S1
int btnS2 = 6; // Pin for button S2
int btnS3 = A0; // Pin for button S3
int interupteur = 8;
int analogValue = A0;
int relayPin = A2;
//LCD
SerialLCD slcd(0,1);
void setup(void)
{
pinMode(relayPin,OUTPUT);
pinMode(interupteur, OUTPUT);
pinMode(btnS1, INPUT);
pinMode(btnS2, INPUT);
pinMode(btnS3, INPUT);
pinMode(7,INPUT);
digitalWrite(7, HIGH);
pinMode(6,INPUT);
digitalWrite(6, HIGH);
slcd.begin();// set up :
LCD();
//LCD
// set the speed at 60 rpm:
myStepper.setSpeed(rpm);
// Enable power to the motor
pinMode(enA, OUTPUT);
digitalWrite (enA, HIGH);
pinMode(enB, OUTPUT);
digitalWrite (enB, HIGH);
//interupteur
//btn1
}
void loop()
{
while (digitalRead(interupteur)== HIGH){
slcd.noBacklight();
Moteurar();
slcd.setCursor(8,0);
LCD();
delay(100);
digitalWrite(relayPin,HIGH);
delay (tempsDePausePhoto*1000);
digitalWrite(relayPin, LOW);
if (compteur<99999)compteur++,delay(150);
}
while (digitalRead(btnS1)==LOW) {
Moteurvite();
LCD();
}
while (digitalRead(btnS2)==LOW) {
slcd.backlight();
if (tempsDePausePhoto<valeurMax)tempsDePausePhoto++,delay(50);
if(tempsDePausePhoto > 201) {
tempsDePausePhoto = 0;
slcd.clear();
}
LCD();
}
while (digitalRead(btnS3)==HIGH) {
slcd.backlight();
if (stepsPerRevolution<valeurMax)stepsPerRevolution++,delay(50);
if(stepsPerRevolution> 201) {
stepsPerRevolution = 0;
slcd.clear();
}
LCD();
}
}
void LCD(){
slcd.setCursor(0,1);
slcd.print("Rpm:");
slcd.print(rpm,DEC);
slcd.setCursor(8,1);
slcd.print("PaP:");
slcd.print(stepsPerRevolution,DEC);
slcd.setCursor(0,0);
slcd.print("Tdp:");
slcd.print(tempsDePausePhoto,DEC);
slcd.setCursor(8,0);
slcd.print("Cpt:");
slcd.print(compteur,DEC);
delay(100);
}
void Moteurav() // Moteur Av
{
myStepper.step(stepsPerRevolution);
}
void Moteurar() // Moteur Ar
{
myStepper.step(-stepsPerRevolution);
}
void Moteurvite() // Moteur vite
{
myStepper.setSpeed(rpm);
if (rpm<valeurMax)rpm++,delay(50);
if(rpm> 200) {
rpm = 0;
slcd.clear();
LCD();
}
} |
Partager