Arduino Playground is read-only starting December 31st, 2018. For more info please look at this Forum Post

Аналогов вход (AnalogInput)

Потенциометърът е прост уред осигуряващ променливо съпротивление, което платката Ардуино може да прочете като аналогова стойност. В настоящия пример, тази стойност ще контролира интервала през който ще мига светодиод.

Ще свържем три жици към платката Ардуино. Първата жица свързва едно от външните крачета на потенциометъра към масата (GND), втората свързва другото външно краче към 5V и третата свързва средното краче към аналогов входен пин 2.

Когато въртим копчето на потенциометъра ние променяме съпротивлението от двете страни на рамото свързано към средното краче на потенциометъра. Това променя относителната близост на крачето до 5V волта и 0V (GND), като ни дава различни аналогови стойности. Когато копчето е завъртяно до край в едната посока, до средното краче стигат 0 волта, и отчитаме 0. Когато копчето е завъртяно до другия край, до крачето стигат 5 волта и отчитаме 1023. Когато копчето е между двете крайни позиции, командата analogRead() връща число между 0 и 1023, пропорционално на напрежението което стига до средното краче.

Снимка

Код

/* Analogov vhod
* ------------
*
* kontrolira vremeto, za koeto e zapalen svetodiod s pomoshtta na potentsiometur
*
* ot David Cuartielles
*
* podobrena ot Tom Igoe (Juni 2009)
*
* bulgarski prevod ot Simeon Ianchev / Robotev.com (Septemvri 2009)
*/

int potPin = 2;    	     // vhoden pin za potentsiometura
int ledPin = 13;   	     // pin za svetodioda 
int val = 0;       	     // promenliva za dannite ot potentsiometura 

void setup() {
  pinMode(ledPin, OUTPUT);   // deklarira ledPin kato ishod (OUTPUT)
}

void loop() {
  val = analogRead(potPin);  	// otchitane stoynostta ot potentsiometura
  digitalWrite(ledPin, HIGH);  	// zapalva svetodioda
  delay(val);                   // spirane na programata za izvestno vreme 
  digitalWrite(ledPin, LOW);    // izgasva svetodioda 
  delay(val);                   // spirane na programata za izvestno vreme 
}