» codelab : http://codelab.fr/accueil » Forum : Processing : http://codelab.fr/processing » class Moteur : http://codelab.fr/5219 Ceci est la version imprimable d'un sujet du forum, pour retourner à la version complète : class Moteur |
fabrice54 — 2014-08-20 05:16:22 |
Bonjour. Code (P5) :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); } } |
fabrice54 — 2014-08-20 05:59:18 |
j'ai réussis à faire un truc qui fonctionne mais on doit pouvoir faire mieux. Code (P5) :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); } } } } |