Problem solved!

I added this line to the firmata 2.1:

digitalWrite(pin, HIGH);       // turn on pullup resistors

in this context:

    case INPUT:
      pinStatus[pin] = mode;
      pinMode(pin, INPUT);
->   digitalWrite(pin, HIGH);       // turn on pullup resistors
      portStatus[port] = portStatus[port] &~ (1 << (pin - offset));
      break;

exactly as described on the arduino website.

I think this definitely needs to be included in the standard firmata!
Hans, don't you think so (since you're taking care of the pduino)?

Cheers
Ingo


> From: "Ingo Scherzinger" <[email protected]>
> Subject: [PD] problem with arduino digital ins - Pduino-0.5beta8 /
>       Firmata 2.1
> To: <[email protected]>
> Message-ID: <821d925e7c144a22b5e3ee150bae3...@meincomputer>
> Content-Type: text/plain;     charset="us-ascii"
> 
> Hi,
> 
> I'm having a problem with the arduino digital ins.
> According to the arduino website there are pull up resistors inside the
> ATmega that get activated automatically when the digital ins are turned
on.
> This is not the case here with the Pduino-0.5beta8.
> When I connect ground to the pin it switches to 0 as expected. When I
> disconnect the wire it starts switching randomly between 0 and 1. If I use
> an "external" pullup resistor everything works as expected again.
> I just read the help file from the pduino and it states that this is the
> normal behaviour which shouldn't be the case with the internal pullup
> resistors activated.
> What's the problem with these internal pullup resistor not getting turned
> on?
> Is there a command I can (or have to) send to the arduino?
> 
> I've tested this with a diecimila and duemilanove and Ubuntu 10.4 and
> Windows XP.
> Maybe there is a problem with Pduino or Firmata 2.1?
> 
> Any ideas appreciated!
> Cheers, Ingo



_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to