Go Down

Topic: Pin ABfrage und umleiten (Read 1 time) previous topic - next topic

lota

Mar 02, 2009, 04:06 pm Last Edit: Mar 02, 2009, 06:11 pm by lota Reason: 1
Hallo,
wie kann man mit der Arduino0012 den Signalzustand von zB. pin10 abfragen und auf Pin8 auf High schalten? Ich hatte mir das so gedacht.
Auf PB2 läuft mein PWM Signal.

if ( PINB & (1<<PINB2) )
{
    PORTB |= (1<<PB2);
}

Geht aber nicht.
Nun hab ich es so probiert.

const int PIN_PWM_OUTPUT = 10;//The high precision PWM pin
int value = 0;


const int DIGITAL_PIN = 10;//this is the digital output pin to use, it can be set to 9 or 10
 

   int PIN_PWM2   = 8;
   pinMode(PIN_PWM_OUTPUT, OUTPUT);
   pinMode(PIN_PWM2, OUTPUT);  
   
value = digitalRead(DIGITAL_PIN);

 digitalWrite(PIN_PWM2, value);  

Funzt auch nicht.

Gruß


kiwix

Hallo,

kannst Du mal genauer beschreiben was nicht funktioniert?

Ich habe da keine Erfahrung, aber ich bin mir gar nichts sicher, ob das überhaupt funktionieren kann. Bei einem PWM wird ja nur der Ausgang pulsierend an und aus geschaltet, und somit dürfte der fast immer high sein und wenn man das Ergebnis mit einer LED anzeigt, dann müsste die für das Auge immer Leuchten, ggf. nur manchmal etwas dunkler und da bezweifel ich, dass man das erkennen kann.

Gruß
KiWiX

lota

Hi,
ich möchte das Signal auf drei pins haben. Ich weiß auch nicht ob das geht.  Eventuell kann man das ja irgend wie auslesen und weiter schicken. Wenn es dann nicht geht, werde ich drei Chips nehmen und laufen lassen. Dann ist  nur die Frequenz nicht synchron. Es muss auch der 16bit Timer sein.

Gruß Lorenz

kiwix

Tja,

da kann ich auch nicht helfen. Aber ich habe mir mal folgendes angesehen:
http://arduino.cc/en/Tutorial/PWM

und hier

http://arduino.cc/en/Reference/AnalogWrite

habe ich folgendes gelesen:
Quote
Writes an analog value (PWM wave) to a pin. Can be used to light a LED at varying brightnesses or drive a motor at various speeds. After a call to analogWrite(), the pin will generate a steady square wave of the specified duty cycle until the next call to analogWrite() (or a call to digitalRead() or digitalWrite() on the same pin). The frequency of the PWM signal is approximately 490 Hz.

On newer Arduino boards (including the Mini and BT) with the ATmega168 chip, this function works on pins 3, 5, 6, 9, 10, and 11. Older USB and serial Arduino boards with an ATmega8 only support analogWrite() on pins 9, 10, and 11.


Ich würde das jetzt so interpretieren, dass man den Puls nicht sinnig wieder einlesen und weiterleiten kann. Da könnte man doch besser das Signal direkt parallel auf 3 Ausgängen ausgeben.

gruß
kIWiX

lota

Hi,
genau auf drei Ausgänge brauch ich es ja. Aber ich bekomme das Signal nur auf  PB2 . Mit der INt Abfrage soll es noch gehen. Aber da muss ich wohl noch lesen.

Gruß
Lorenz  

Go Up