Arduino: Uitgangstoestand van pin (~ 3) met PWM-signaal. Staat het AAN of UIT?

Op mijn Arduino UNO heb ik pin ~ 3 ingesteld om PWM uit te voeren. Is er een manier om te weten wanneer het signaal AAN is en wanneer het UIT is?

Ik probeer achtergrondruis van een LED-lichtintensiteit te elimineren door pulsbreedte de LED te moduleren en vervolgens de lichtmaat in het UIT-gedeelte van de PWM (dit is omgevingslicht of ruis) af te trekken van de lichtmaat uit het AAN-deel van de PWM (dit is de LED en het geluid). Welke alleen de lichte maat van de LED zou moeten verlaten.

Ik heb een "slechte" oplossing gemaakt waarbij ik pin 3 en pin 4 heb verbonden. Ik gebruik dan digitalRead op pin 4 en lees gewoon de status van de pin op die manier. Maar ik hoop op een meer interne oplossing, waar ik de informatie direct uit de registers kan halen, of op een andere manier.

Mijn PWM is als volgt opgezet:

void setup(void)
{
  //PWM 490 Hz
  pinMode(3, OUTPUT);   //OCR2B
  pinMode(11, OUTPUT);  //OCR2A
  TCCR2A = _BV(COM2A1) | _BV(COM2B1) | _BV(WGM20);  
  TCCR2B = _BV(CS22);
}
void loop(void)
{
   //PWM 75 duty cycle
  OCR2B = 170;
  OCR2A = 200;
}

Is er een betere manier om te weten of Pin 3 in een AAN-status of een UIT-status is?

Dank je.

0
U kunt proberen pin 3 aan een interrupt-pin 2 te koppelen en een code te schrijven om een ​​interrupt te activeren als deze laag wordt. Ik weet echter niet zeker of dit zal werken.
toegevoegd de auteur slovon, de bron

Geen antwoorden

0