Sakut a tous ! je reprends mon projet !
seul soucis , c'est un probleme de code en Processing que voici :
error inside Serial.Write()
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
java.lang.NullPointerException
at processing.serial.Serial.write(Unknown Source)
at sketch_121202a.sendCommands(sketch_121202a.java:261)
at sketch_121202a.draw(sketch_121202a.java:322)
at processing.core.PApplet.handleDraw(PApplet.java:2128)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:190)
at processing.core.PApplet.run(PApplet.java:2006)
at java.lang.Thread.run(Thread.java:662)
Exception in thread "Animation Thread" java.lang.RuntimeException: Error inside Serial.write()
at processing.serial.Serial.errorMessage(Unknown Source)
at processing.serial.Serial.write(Unknown Source)
at sketch_121202a.sendCommands(sketch_121202a.java:261)
at sketch_121202a.draw(sketch_121202a.java:322)
at processing.core.PApplet.handleDraw(PApplet.java:2128)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:190)
at processing.core.PApplet.run(PApplet.java:2006)
at java.lang.Thread.run(Thread.java:662)
J'ai compris que l'erreur venait de Serial.Write , mais ou ?
Je vous joint ici le code processing avec tout ce qu'il faut sur ce lien :
https://www.dropbox....poo5/N6ugzWk-Z8le code arduino est celui ci en passant :
int controls[13] = { 0x47, 0x67, 0x57, 0x77, 0x45, 0x65,
0x53, 0x73, 0x42, 0x62, 0x4c, 0x6c, 0x58 };
// Base
int baseEnablePin = 3;
int basePin1 = 16;
int basePin2 = 17;
// Shoulder
int shoulderEnablePin = 14;
int shoulderPin1 = 2;
int shoulderPin2 = 4;
// Elbow
int elbowEnablePin = 6;
int elbowPin1 = 7;
int elbowPin2 = 15;
// Wrist
int wristEnablePin = 11;
int wristPin1 = 8;
int wristPin2 = 12;
//Grip
int gripEnablePin = 10;
int gripPin1 = 9;
int gripPin2 = 5;
int ledPin = 13;
// set a variable to store the byte sent from the serial port
int incomingByte;
void setup() {
// set light LED
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
// set the SN754410 pins as outputs:
pinMode(basePin1, OUTPUT);
pinMode(basePin2, OUTPUT);
pinMode(baseEnablePin, OUTPUT);
pinMode(shoulderPin1, OUTPUT);
pinMode(shoulderPin2, OUTPUT);
pinMode(shoulderEnablePin, OUTPUT);
pinMode(elbowPin1, OUTPUT);
pinMode(elbowPin2, OUTPUT);
pinMode(elbowEnablePin, OUTPUT);
pinMode(wristPin1, OUTPUT);
pinMode(wristPin2, OUTPUT);
pinMode(wristEnablePin, OUTPUT);
pinMode(gripPin1, OUTPUT);
pinMode(gripPin2, OUTPUT);
pinMode(gripEnablePin, OUTPUT);
// start sending data at 115200 baud rate
// I set my Xbee Baud Rate at 115200 bps,
// change the Baud Rate according to your XBee
Serial.begin(115200);
}
void loop() {
// check that there's something in the serial buffer
if (Serial.available() > 0) {
// read the byte and store it in our variable
// the byte sent is actually an ascii value
incomingByte = Serial.read();
// note the upper casing of each letter!
// each letter turns a motor different way.
//===== Grip
// Grip in
if (incomingByte == controls[0]) {
gripIn();
}
// Grip Out
if (incomingByte == controls[1]) {
gripOut();
}
//Wrist
if (incomingByte == controls[2]) {
//digitalWrite(wristPin1, LOW);
//digitalWrite(wristPin2, HIGH);
wristUp();
}
if (incomingByte == controls[3]) {
wristDown();
}
//===== Elbow
// Elbow Up
if (incomingByte == controls[4]) {
elbowUp();
}
// Elbow Down
if (incomingByte == controls[5]) {
elbowDown();
}
//===== Shoulder
// Shoulder Up
if (incomingByte == controls[6]) {
shoulderUp();
}
// Shoulder Down
if (incomingByte == controls[7]) {
shoulderDown();
}
//===== Base
// Base Right
if (incomingByte == controls[8]) {
baseRight();
}
// Base Left
if (incomingByte == controls[9]) {
baseLeft();
}
// Light ON
if (incomingByte == controls[10]) {
digitalWrite(ledPin, HIGH);
}
// Light OFF
if (incomingByte == controls[11]) {
digitalWrite(ledPin, LOW);
}
// if a O is sent make sure the motors are turned off
if (incomingByte == controls[12]) {
allStop();
}
delay(100);
}
}
void gripIn() {
digitalWrite(gripEnablePin, HIGH);
digitalWrite(gripPin1, LOW);
digitalWrite(gripPin2, HIGH);
}
void gripOut() {
digitalWrite(gripEnablePin, HIGH);
digitalWrite(gripPin2, LOW);
digitalWrite(gripPin1, HIGH);
}
void wristUp() {
digitalWrite(wristEnablePin, HIGH);
digitalWrite(wristPin1, LOW);
digitalWrite(wristPin2, HIGH);
}
void wristDown() {
digitalWrite(wristEnablePin, HIGH);
digitalWrite(wristPin2, LOW);
digitalWrite(wristPin1, HIGH);
}
void elbowUp() {
digitalWrite(elbowEnablePin, HIGH);
digitalWrite(elbowPin1, LOW);
digitalWrite(elbowPin2, HIGH);
}
void elbowDown() {
digitalWrite(elbowEnablePin, HIGH);
digitalWrite(elbowPin2, LOW);
digitalWrite(elbowPin1, HIGH);
}
void shoulderUp() {
digitalWrite(shoulderEnablePin, HIGH);
digitalWrite(shoulderPin1, LOW);
digitalWrite(shoulderPin2, HIGH);
}
void shoulderDown() {
digitalWrite(shoulderEnablePin, HIGH);
digitalWrite(shoulderPin2, LOW);
digitalWrite(shoulderPin1, HIGH);
}
void baseRight() {
digitalWrite(baseEnablePin, HIGH);
digitalWrite(basePin1, LOW);
digitalWrite(basePin2, HIGH);
}
void baseLeft() {
digitalWrite(baseEnablePin, HIGH);
digitalWrite(basePin2, LOW);
digitalWrite(basePin1, HIGH);
}
void allStop() {
digitalWrite(baseEnablePin, LOW);
digitalWrite(basePin1, LOW);
digitalWrite(basePin2, LOW);
digitalWrite(shoulderEnablePin, LOW);
digitalWrite(shoulderPin1, LOW);
digitalWrite(shoulderPin2, LOW);
digitalWrite(elbowEnablePin, LOW);
digitalWrite(elbowPin1, LOW);
digitalWrite(elbowPin2, LOW);
digitalWrite(wristEnablePin, LOW);
digitalWrite(wristPin1, LOW);
digitalWrite(wristPin2, LOW);
digitalWrite(gripEnablePin, LOW);
digitalWrite(gripPin1, LOW);
digitalWrite(gripPin2, LOW);
}
Merci d'avance de votre aide et bonne soiree a tous