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