Forum: Mikrocontroller und Digitale Elektronik Potentiometer analoger Eingang


von diode1990 (Gast)


Lesenswert?

Hallo,
ich versuche zurzeit ein wenig programmieren zu lernen. Mit meinem 
Arduino Board. Ich habe noch gewisse Schwierigkeiten mit den analogen 
Eingängen.
Dieser Port erkennt Spannungsunterschiede. Ich habe das so verstanden, 
liegen 5 Volt am Eingang an wandelt der A/D in den Wert 1023 um und bei 
Null Volt der Wert 0.

Ich habe im Internet eine Vorlage gefunden.
1
int sensorPin = 0;
2
int ledPin = 13;
3
int sensorValue = 0;
4
 
5
void setup() {
6
  pinMode(ledPin, OUTPUT);
7
}
8
 
9
void loop() {
10
  sensorValue = analogRead(sensorPin);
11
  digitalWrite(ledPin, HIGH);
12
  delay(sensorValue);
13
  digitalWrite(ledPin, LOW);
14
  delay(sensorValue);
15
}
Wenn zb.: bei 2.3 Volt und 3.3Volt der Mikrocontroller ein Port 
ansteueren soll. Wie muss ich das eingeben und woher weiß ich welche 
Spannung welcher Wert ist.

Vielleicht kann mir jemand weiterhelfen.

Lg diode1990

von Tom (Gast)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

diode1990 schrieb:

> Wie muss ich das eingeben

na, das Programm!

> und woher weiß ich welche
> Spannung welcher Wert ist.

Sieh dir an, was mit dem Wert passiert.

Wo wird der Wert eingelesen?
Hier
1
  sensorValue = analogRead(sensorPin);
danach steht der Wert in der Variablen 'sensorValue'.

Und wo wird die benutzt?
Hier
1
  delay(sensorValue);

Was macht die Funktion 'delay'? Sie realisiert eine Wartezeit. D.h. der 
Wert vom ADC, der die Spannung repräsentiert, wird als Wartezeit 
genommen.

Wartezeit wofür?
Na für das hier
1
  digitalWrite(ledPin, HIGH);
2
  delay(sensorValue);
3
  digitalWrite(ledPin, LOW);
4
  delay(sensorValue);

der angegebene Pin mit namen 'ledPin' wird auf HIGH gesetzt (die LED 
wird eingeschaltet), danach wird gewartet (mit einer Zeit, die sich aus 
dem Potiwert ergibt), dann wird der Pin auf LOW gesetzt (die Led geht 
wieder aus) und es wird wieder entsprechend gewartet.
Danach geht alles wieder von vorne los, weil ja loop dauernd aufgerufen 
wird.


> Vielleicht kann mir jemand weiterhelfen.

Du solltest auch lernen Code nicht nur abzutippen, sondern auch lernen 
ihn zu analysieren. Sonst kommst du nicht weit in deiner 
Programmiererei.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.