INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Programm, dass Fotodiode ausliest und eine Led dimmt.
15.03.2014, 23:28
Beitrag #1
Programm, dass Fotodiode ausliest und eine Led dimmt.
Hallo,

ich habe ein kleines Problem mit einer Aufgabenstellung. Habe zwar schon versucht zu programmieren (siehe Anhang) und wollte nun wissenob das soweit richtig ist oder nicht. Smile Probleme hatte ich beim dimmen der LED.
Und noch eine Frage: beginnen Arrays bei Arduino bei 0 oder 1?

Hier noch die Aufgabe:

Schreiben Sie einen volständigen Sketch, der die Raumhelligkeit permanent mittels eines lichtwiderstandes(ldr) misst und die aktuelle Raumhelligkeit per PWM an eine LED weitergibt.

Messungen: aller 100ms
5 x Messen und der Wert mitteln

Die Led soll die Raumhelligkeit per PWm anzeigen. Unterhalb eines Helligkeitsgrenzwertes von 30 soll die PWM =0 und oberhalb von 540 soll die PWM =255 sein.


Angehängte Datei(en)
.ino  fotodiode.ino (Größe: 783 Bytes / Downloads: 74)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.03.2014, 03:06 (Dieser Beitrag wurde zuletzt bearbeitet: 16.03.2014 03:46 von burgi650.)
Beitrag #2
RE: Programm, dass Fotodiode ausliest und eine Led dimmt.
Moin,

Als erstes fehlen in deinem Sketch ein paar Messungen.
Weiter und nicht weniger wichtig ist die Dokumentation.

Egal wie klein das Prgramm ist, schreib überall deine Kommentare hinter.

Dann funktioniert es auch mit dem PWM...
Viele Änderungen waren nicht notig

Uwe

Code:
int ledpin=11;
int ldr=A4;
int messung[4];
int h_wert=0;
int pwmwert=0;
int pwm=0;

void setup() {

  pinMode(ledpin,OUTPUT);
  Serial.begin(9600);

}

void loop() {
  messung[0]=analogRead(ldr);
  delay(100);
  messung[1]=analogRead(ldr);
  delay(100);
messung[2]=analogRead(ldr);   // fehlt
  delay(100);                            // fehlt
messung[3]=analogRead(ldr);  // fehlt
  delay(100);                           // fehlt
  messung[4]=analogRead(ldr);
  delay(100);
  
   h_wert=(messung[0]+messung[1]+messung[2]+messung[3]+messung[4])/5;
  
  Serial.print("Helligkeit=");
  Serial.println(h_wert);
  
  if(h_wert<=30)
  {
    digitalWrite(ledpin,LOW);
    Serial.print("LOW\n");          // So bekommst du immer einen Hinweis
    }

    if(h_wert>=540)
    {
      digitalWrite(ledpin,HIGH);
      Serial.print("HIGH\n");      // So bekommst du immer einen Hinweis
      }

      else
      {
  //      int pwm=h_wert/540;    
  //      int pwmwert=pwm*255;
  
pwmwert = map(h_wert, 30, 540, 0, 255);    // eleganter und funktionierender Weg
    
        Serial.print("pwmwert=");
        Serial.println(pwmwert);
        
        analogWrite(ledpin,pwmwert);
       }
       }

Martin Luther King sagte am 28 August 1963 :

I have a Dream !!

Ich bin weiter:

I have a Schaltplan !!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.03.2014, 08:47
Beitrag #3
RE: Programm, dass Fotodiode ausliest und eine Led dimmt.
Danke für die Hilfe Smile

dass man das mit der Funktion map machen kann wusste ich nicht. Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.03.2014, 11:27
Beitrag #4
RE: Programm, dass Fotodiode ausliest und eine Led dimmt.
Bitte,

im Gegensatz zu vielen anderen hast Du selber gedacht und probiert, da hilft man gerne.

Uwe

Martin Luther King sagte am 28 August 1963 :

I have a Dream !!

Ich bin weiter:

I have a Schaltplan !!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Fehler in meinem Programm Franz54 7 165 01.12.2016 23:58
Letzter Beitrag: hotsystems
  Selbstfahrender Roboter Programm änderung hilfe ? arekklone 11 550 06.07.2016 14:59
Letzter Beitrag: Binatone
  Fehlermeldung das eine reimundko 3 309 08.06.2016 08:56
Letzter Beitrag: hotsystems
  char* inhalt in eine Datei auf SD-Karte schreiben MartinK 0 342 30.03.2016 16:42
Letzter Beitrag: MartinK
  Werte an anderes Programm weiterleiten Typ 2 440 12.03.2016 23:28
Letzter Beitrag: Typ
  Mehrere Geräte über eine IR Fernbedienung Respun 20 2.019 07.01.2016 23:51
Letzter Beitrag: hotsystems
  Kann ich in eine For Schleife einen delay einbauen JanGamer11 6 616 05.01.2016 12:34
Letzter Beitrag: Hilgi
  Programm Code Erweitern hugolost 8 664 01.01.2016 20:02
Letzter Beitrag: Bitklopfer
  Eine Funktion vorher definieren ? arduinofan 23 2.030 30.12.2015 08:42
Letzter Beitrag: amithlon
  fehlt mir eine Bibliothek? Baumschüler 5 508 15.12.2015 08:53
Letzter Beitrag: Baumschüler

Gehe zu:


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