Bonjour.
Dans une class Moteur que dois-je mettre exactement dans le constructeur.
Moteur moteur;
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
int nb_trous=11;//entrer nombre de trous;
int[]tab_x={10,20,30,40,50,60,70,80,90,100,-550};
int IN1=8;
int IN2=10;
int IN3=9;
int IN4=11;
void setup(){
size(500,200);
println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(IN1,Arduino.OUTPUT);
arduino. pinMode(IN2,Arduino.OUTPUT);
arduino. pinMode(IN3,Arduino.OUTPUT);
arduino. pinMode(IN4,Arduino.OUTPUT);
moteur=new Moteur();
}
void draw(){
moteur.lecture_pas();
moteur.marche_avant();
moteur.marche_arriere();
}
class Moteur{
int vitesse;
boolean sens;
Moteur(){
vitesse=2;
}
void marche_avant(){
arduino.digitalWrite(IN1,Arduino.LOW);
arduino. digitalWrite(IN2,Arduino.HIGH);
arduino. digitalWrite(IN3,Arduino.HIGH);
arduino. digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
arduino. digitalWrite(IN1,Arduino.LOW);
arduino. digitalWrite(IN2,Arduino.HIGH);
arduino. digitalWrite(IN3,Arduino.LOW);
arduino. digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino. digitalWrite(IN1,Arduino.HIGH);
arduino. digitalWrite(IN2,Arduino.LOW);
arduino. digitalWrite(IN3,Arduino.LOW);
arduino. digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.HIGH);
arduino.digitalWrite(IN2,Arduino.LOW);
arduino. digitalWrite(IN3,Arduino.HIGH);
arduino. digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
}
void marche_arriere(){
arduino.digitalWrite(IN1,Arduino.HIGH);
arduino.digitalWrite(IN2,Arduino.LOW);
arduino.digitalWrite(IN3,Arduino.HIGH);
arduino.digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.HIGH);
arduino.digitalWrite(IN2,Arduino.LOW);
arduino.digitalWrite(IN3,Arduino.LOW);
arduino.digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.LOW);
arduino.digitalWrite(IN2,Arduino.HIGH);
arduino.digitalWrite(IN3,Arduino.LOW);
arduino.digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.LOW);
arduino.digitalWrite(IN2,Arduino.HIGH);
arduino.digitalWrite(IN3,Arduino.HIGH);
arduino.digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
}
}Hors ligne
j'ai réussis à faire un truc qui fonctionne mais on doit pouvoir faire mieux.
Moteur moteur;
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
int IN1=8;
int IN2=10;
int IN3=9;
int IN4=11;
void setup(){
size(500,200);
println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(IN1,Arduino.OUTPUT);
arduino. pinMode(IN2,Arduino.OUTPUT);
arduino. pinMode(IN3,Arduino.OUTPUT);
arduino. pinMode(IN4,Arduino.OUTPUT);
moteur=new Moteur();
}
void draw(){
moteur.lecture_pas();
}
class Moteur{
int vitesse;
int pas;
int nb_trous=11;//entrer nombre de trous;
int[]tab_x={10,20,30,40,50,60,70,80,90,100,-550};
Moteur(){
vitesse=2;
}
void marche_avant(int x){
for(int i=0;i<x;i++){
arduino.digitalWrite(IN1,Arduino.LOW);
arduino. digitalWrite(IN2,Arduino.HIGH);
arduino. digitalWrite(IN3,Arduino.HIGH);
arduino. digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
arduino. digitalWrite(IN1,Arduino.LOW);
arduino. digitalWrite(IN2,Arduino.HIGH);
arduino. digitalWrite(IN3,Arduino.LOW);
arduino. digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino. digitalWrite(IN1,Arduino.HIGH);
arduino. digitalWrite(IN2,Arduino.LOW);
arduino. digitalWrite(IN3,Arduino.LOW);
arduino. digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.HIGH);
arduino.digitalWrite(IN2,Arduino.LOW);
arduino. digitalWrite(IN3,Arduino.HIGH);
arduino. digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
}
delay(1000);
}
void marche_arriere(int y){
for(int i=0;i<y;i++){
arduino.digitalWrite(IN1,Arduino.HIGH);
arduino.digitalWrite(IN2,Arduino.LOW);
arduino.digitalWrite(IN3,Arduino.HIGH);
arduino.digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.HIGH);
arduino.digitalWrite(IN2,Arduino.LOW);
arduino.digitalWrite(IN3,Arduino.LOW);
arduino.digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.LOW);
arduino.digitalWrite(IN2,Arduino.HIGH);
arduino.digitalWrite(IN3,Arduino.LOW);
arduino.digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.LOW);
arduino.digitalWrite(IN2,Arduino.HIGH);
arduino.digitalWrite(IN3,Arduino.HIGH);
arduino.digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
}
delay(1000);
}
void lecture_pas(){
for(int i=0;i<11;i++){
pas=tab_x[i];
print(" ",pas);
if(pas>0){
marche_avant(pas);
}
if(pas<0){
marche_arriere(pas*-1);
}
}
}
}Hors ligne