Hi, i have a problem with digitalread() using arduinoMega. in pin 22-37 and pins 38-53 are outputs.
MY problem is digitalread() in pins 22-37 should return 1, but it always returns 0 working with processing. This problem working with the software of arduino, its not happen...
here my code in arduino:
void setup(){
Serial.begin(9600);
for(int i = 22; i<=37 ;i++){
pinMode( i , INPUT);
}
for(int i = 38; i<=53 ;i++){
pinMode( i , OUTPUT);
}
}
void loop(){
for(int i = 22; i<=37 ;i++){
if(digitalRead(i) == HIGH ){
Serial.println(i);
}
}
}
this example work fine but in processing not found the digitalread():
import cc.arduino.*;
import processing.serial.*;
Arduino arduino;
void setup() {
// size(600,600);
arduino = new Arduino(this, "COM4", 57600);
arduino.pinMode(2, Arduino.INPUT);
for (int i = 22; i<=37 ;i++) {
arduino.pinMode(i, Arduino.INPUT);
}
for (int i = 38; i<=53 ;i++) {
arduino.pinMode( i, Arduino.OUTPUT);
}
}
void draw() {
for (int i = 22; i<=37 ; i++) {
if (arduino.digitalRead(i) == Arduino.HIGH) {
println("work");
}
//println("pin: "+i+" "+arduino.digitalRead(i));
}
}
the port its fine too...
it works fine if i use one of the pwm pins as input but i dont want to waste them.
so is there a way to get a HIGH with digitalread() on pins 22-37?
thanks!
sorry for mi poor english.