Kann man 2 Analogsignale gleichzeitig auslesen?

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#1
06.09.2015, 23:53

Hallo, hab da ein Problem. Ich habe mir eine Analogvoltmeteruhr gebastellt und wollte diese noch gern mit einer Beleuchtung aufpimpen. Sie soll über einen LDR eingeschaltet werden und zusätzlich noch mit einem Poti zu dimmen sein.
Hat auch alles soweit funktioniert, bis darauf, daß wenn das Poti nicht voll aufgedreht ist die LED anfängt zu flackern. Weiß vielleicht jemand, ob das ein Pogramm oder Hardwareproblem ist?

Gruß Titanes


 
//
int sensorReading = A0; //LDR auslesen
 
const int Poti = A1; //Poti auslesen
 
const int LED1 = 3; // Analog output pin that the LEDs is attached to
const int LED2 = 9;
const int LED3 = 10;
const int LED4 = 11;
 
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
 
 
 
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}
 
void loop() {

// read the analog in value:
sensorValue = analogRead(Poti);
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 255);
// change the analog out value:


sensorReading=analogRead(0); //get analog reading Pin A0
 
if (sensorReading<200) //LDR Wert einstellen
{
analogWrite(LED1, outputValue);
analogWrite(LED2, outputValue);
analogWrite(LED3, outputValue);
analogWrite(LED4, outputValue);
}
else
analogWrite(LED1, LOW);
analogWrite(LED2, LOW);
analogWrite(LED3, LOW);
analogWrite(LED4, LOW);
}
 


Angehängte Dateien Thumbnail(s)
   
Zitieren
wedelchen
Junior Member
**

Beiträge: 39
Registriert seit: Jun 2014
Bewertung: 0
#2
07.09.2015, 18:21

Hey,

gib doch mal alle Werte im seriellen Monitor aus, eventl. kommst du damit der Sache näher.

Nach dem Auslesen der analogen Ports lege ich immer eine kurze Pause vom 50ms ein.

Gruß...
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#3
07.09.2015, 23:41

Hi, danke erst mal für die Antwort. Die Werte hatte ich schon ausgelesen, waren alle i.O.. Das Delay hab ich noch eingefügt. Hab dann mal auf Verdacht die RTC von meinen Testarduinoboard abgeklemmt. Und siehe da, daß Flackern ist weg. B.z.w. am pin 3 ist kein Flackern zu sehen und an den Restlichen nur ganz minimal. Ist aber gerade noch vertretbar. Werd die Tage mal die Hardware fertigstellen und den Sketch in das Uhrenprogramm einbinden und Hoffen, daß dann alles funktioniert.

Gruß Titanes
Zitieren
wedelchen
Junior Member
**

Beiträge: 39
Registriert seit: Jun 2014
Bewertung: 0
#4
07.09.2015, 23:52

Komisch,

baue grad ein Wählgerät für die Haustürklingel und meine Fritzbox, verwende u.a. auch eine RTC und ein gedimmtes TFT-Display via PVM.

Flackern tut hier nichts...

Wie oft machst du die Abfrage ?

Werden irgendwo an anderer Stelle in deinem Code die LEDs gelöscht/gesetzt?

An dieser Stelle würde der komplette Sketch zwecks Fehlersuche eventl. weiter helfen.

Gruß...
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 735
Registriert seit: Apr 2014
Bewertung: 5
#5
08.09.2015, 10:44

Hmmm...

Ich hätte das ganze einfach am Arduino vorbei gemacht. Mit einer einfachen Transistorschaltung und passenden Potis oder Widerständen (siehe unten).
Aber OK, wenn's der Arduino regeln soll, dann passt das schon.

Gruß
Uni


So zum Beispiel:
   
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#6
09.09.2015, 00:33

Hi, der Sketch ist so wie er oben steht, hab halt nur noch das delay mit 50 ms und 2 ms wie im Beispielsketch hinter dem Einlesen eingefügt. Wie gesagt, pin 3 läuft wunderbar. Die restlichen pins flackern nur minimal. Ich glaub ich mach das halb und halb mit der Schaltung. LDR über den Arduino auslesen und das Poti mit der Transistorschatung,

Gruß Titanes
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#7
17.09.2015, 22:05

Hi, hab die Uhr jetzt fertigShy. Ich schalte jetzt die LEDs über einen Transistor, der über den LDR vom Arduino geschaltet wird. Hab noch überlegt das Gehäuse schwarz zu lackieren und Alutaster mit LED Beleuchtung einzubauen. Sieht aber eigentlich auch so cool aus. Voll Retro StyleBig Grin. Ich glaub ich lasse sie so. Muß jetzt nur noch was mit den PWM Werten spielen, damit die Zeiger auch in den richtigen Positionen zu meinen Skalen stehen. Ist ein bißchen knifflig. Ich lese die Zeit zwar seriell aus und kann direkt die Werte einstellen, aber wenn ich das Programmierkabel abziehe und das Netzteil anschließe bekommt der Arduino etwas mehr Spannung und die Positionen stimmen nicht mehr trotz 5V Netzteil. Sollte der Arduino nicht immer 5V über einen Spannungsregler ausgeben? Naja, werd ich schon hinkriegen.

Gruß Titanes


Angehängte Dateien Thumbnail(s)
               
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 735
Registriert seit: Apr 2014
Bewertung: 5
#8
18.09.2015, 16:24

Hi,

für die Versorgung des Arduino kannst Du natürlich mal über einen einstellbaren Spannungsregler nachdenken. Ich nehme da gerne einen LM317.
Ein solcher Regler hat zwar auch eine Verlustleistung, die jedoch bei Anschluss eines Netzteils nicht ins Gewicht fallen dürfte.

Schau Dir mal das Datenblatt an: http://www.ti.com/lit/ds/symlink/lm117.pdf

Dort ist auch ein Beispiel aufgeführt, bei dem Du die Ausgangsspannung mit einem kleinen Poti regulieren kannst. Und immer ein schönen Kondensator vor den Eingang und hinter den Ausgang des LM317 packen um evtl auftretende Spannungsschwankungen abzufangen.

Auf die Weise musst Du Dir keine Gedanken über Spannungsschwankungen machen. Und Deine PWM-Werte können bleiben wie sie sind.

Grüße
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
wedelchen
Junior Member
**

Beiträge: 39
Registriert seit: Jun 2014
Bewertung: 0
#9
20.09.2015, 10:06

Wie versorgst du den Arduino per Netzteil, gehst du direkt mit den +5V an den Arduino oder nutzt du den Spannungsregler am Arduino via Vin ?
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#10
21.09.2015, 22:40

Hallo, das Problem ist eigentlich, daß die Spannung über das Programmerkabel etwas niedriger ist als 5V, sodaß bei dem PWM Wert 255 (12 Uhr) das Voltmeter gar nicht voll ausschlägt. Wenn ich über den RAW Pin reingehe stehen dann allerdings 5V an. Sorry, hab mich oben etwas falsch ausgedrückt. Kann man eigentlich die Spannung am RAW Pin anlegen und dafür die Versorgung vom Programmerkabel weglassen? Dann hätte ich das Problem nicht.

Gruß Titanes
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste