- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 27

Thema: 2 funktionierende Sketche in einem - Bitte um Hilfestellung für Anfänger

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    16.02.2014
    Beiträge
    80
    Anzeige

    E-Bike
    Und an den Fehlfunktionen hat sich nichts geändert, oder?

    Was Op1 betrifft ist's klar - Du schreibst mit digitalWrite(ledPin, ledState); auf die rote LED, also geht diese auch an. Vermutlich wolltest Du da eher ein digitalWrite(camPin, ledState); drin haben.
    Auch das wäre mit ausführlicherer Namensgebung (z.B. "ledRedPin") sofort aufgefallen.

    Was Du bei Op2 treiben willst ist mit ehrlich gesagt nicht so klar. Allerdings ist's schonmal unsauber daß Du den 10bit-Wert des ADCs mit dem 8bit-Wert für PWM vermischst. Um das Problem zu beseitigen würde ich den Sensorwert schon beim Einlesen nach 8bit umformen mit
    Code:
    lightLevel = analogRead(sensorPin) >> 2;
    Außerdem ist wohl die Reihenfolge von Codezeilen verrutscht. Die letzten beiden Befehle dort (map, constrain) sind wirkungslos. Sie verändern die Variable lightLevel und die nächste Operation mit dieser erfolgt beim nächsten Funktionseintritt - dort wird sie aber gleich wieder mit dem Sensorwert überschrieben bevor sie irgendetwas bewirkt hat.
    Womöglich hilft's schon die ersten beiden Zeilen der Funktion (lightLevel =... und analogWrite...) zu vertauschen.

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    35
    Beiträge
    180
    Also ich hab beides Ausprobiert!

    Habe aus ledPin - camPin gemacht - ich denke das is einer der Fehler in der Schaltung.

    Das andere in Operation 2 verstehe ich nicht was du meinst, also mit den 10bit und 8 bit?
    dann nehme ich eben ein anderen pin wenn das besser ist. oder ?

    ist ganz einfach was ich möchte =)

    der arduino soll zwei aufgaben erledigen:

    Aufgabe1: auf Druck auf Taster bzw Schalter Netzwerkkamera ein und ggf. wieder ausschalten
    Aufgabe2: LED´s momentan 1x LED ( später auf dem RSL7 mehrere LEDs) per Sensor ein und ausschalten
    so wie in meinem Tutorial, also nicht nur an aus, sondern auch solangsam über den Analogen Eingang.

    Wie im Auto =) Hell - Licht aus / Dunkel - Licht an =)

    Mfg Benny

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    16.02.2014
    Beiträge
    80
    Das andere in Operation 2 verstehe ich nicht was du meinst, also mit den 10bit und 8 bit?
    dann nehme ich eben ein anderen pin wenn das besser ist. oder ?
    Alle Arduino-ADCs, egal von welchem ADC-Pin, liefern 10bit, also einen int-Wert. Einen solchen nimmst Du und schreibst ihn 8-bittig auf einen PWM-Ausgang, welcher nur unsigned char "versteht". Ob das in dem Fall ein wirkliches Problem ist weiß ich nicht, aber sauber ist's halt nicht.

    Aufgabe2: LED´s momentan 1x LED ( später auf dem RSL7 mehrere LEDs) per Sensor ein und ausschalten
    so wie in meinem Tutorial, ...
    Was für'n Tutorial?

    So wie ich das verstehe (der Sinn der +-30 ist mir nicht ganz klar...) könntest Du Deine Operation2() übrigens auf eine einzige Zeile reduzieren:
    Code:
    analogWrite (ledRedPin, (map(analogRead(sensorPin), 1023, 0, 30, 225) );   // LED-PWM ist mindestens 30 und maximal 225
    Dabei wird die Umsetzung 10bit->8bit durch den map Befehl berücksichtigt

    Ganz allgemein solltest Du Dir wohl einiges an Debug-Code einfügen, d.h. Deine fraglichen Werte immer erstmal über Serial.print auf die Konsole ausgeben. Natürlich mußt Du dann auch noch einige Delays einfügen um die serielle Schnittstelle nicht zu überfluten, was die Sache ziemlich hakelig macht, klar. Aber - wer schön sein will muß leiden . Auf diese Weise kommst Du dann so nach und nach selber drauf wo es mit dem Code hapert. Und wenn's denn funktionier tkann man den Debug wieder entfernen oder auskommentieren...

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    35
    Beiträge
    180
    Guten Morgen,

    okay also das mit den 10bit und 8bit PWM leuchtet mir ein und habs registriert

    Das Tutorial hab ich gemeint, das bei dem Starter Kit dabei war, allerdings, kann ich als Neuling diesen Code,
    nicht richtig nachvollziehen, und wenn jemand was nicht nachvollziehen kann tut man sich schwer!

    Also der ganze Code aus Operation 2 kommt aus dem Tutorial von dem Starterkit weil du schreibst ( @cdk)

    So wie ich das verstehe (der Sinn der +-30 ist mir nicht ganz klar...)
    habe dann deine Code Zeile eingefügt und das andere auskommentiert. Da hat er aber gemeckert das der Satz im zu lang sei.

    Aber kurz um da ich den Code nicht richtig verstehe, hab ich mich gestern Nacht nochmal auf die Suche gemacht und für mich einen
    verständlichen Code gefunden!

    Code:
    char led_front_Pin = 7;
    
    void setup()
    {
      pinMode(led_front_Pin, OUTPUT);
      Serial.begin(9600);
    }
    
    void loop()
    {
      int sensorValue = analogRead(A1);
      int mappedValue = 0;
      
      mappedValue = map(sensorValue, 350, 1016, 0, 255 * 3); 
      // Wert von Berreich 350 bis 1023 auf 0 bis 3 * 255 legen
      // http://arduino.cc/de/Reference/Map
      
      Serial.println(mappedValue); // Wert Seriel Übertragen
      
      if(mappedValue < 0) // Wenn der Wert kleiner wie 0
      mappedValue = 0; // Wert auf 0 setzen
      
      if(mappedValue < 1016)
      {
        analogWrite(led_front_Pin, mappedValue); // LED leuchtet bei Wert kleiner 1016
      }
    }
    Da ich aber nur Vesperpause hab konnte ich den Code nur umschreiben, und nicht testen mit dem Arduino.
    Hab den Code praktisch für mich umgeschrieben.

    Als Info noch: die led_front_Pin = 7; ist der Pin .... ledPin = 4; von gestern.


    Mfg Benny

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    16.02.2014
    Beiträge
    80
    okay also das mit den 10bit und 8bit PWM leuchtet mir ein und habs registriert
    Du machst das jetzt aber schon wieder. Mit 8 Bit ist Schluss bei 255 - und 3*255 wäre dann abermals ein 10bit-Wert.

    habe dann deine Code Zeile eingefügt und das andere auskommentiert. Da hat er aber gemeckert das der Satz im zu lang sei.
    Ja stimmt, da fehlt noch 'ne weitere abschliessende Klammer vor'm ';'. Wollte... *hust* ähm... nur mal sehen ob Du's merkst...

    Da ich aber nur Vesperpause hab konnte ich den Code nur umschreiben, ...
    Macht ganz schön süchtig, was? Mit hat's auch vor'n paar Wochen erwischt...

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    35
    Beiträge
    180
    Guten Abend =)

    ja das macht sehr sehr süchtig, da muss ich dir recht geben, vor allem wenn man am verstehen ist .

    Okay ; vergessen aber vor welchem M meinst du denn ? oder stelle ich mich jetzt an?

    Desweiteren hab ich heute mittag gesehen das ich in der Operation 2, ein steckfehler hatte.
    Auf einmal funktioniert der Code auch ohne den Satz von dir @cdk.

    Wenn ich weis wohin die klammer dann, werde ich es testen.

    Das winzigste ist nur das Die LED aus Operation 1 nicht angeht, obwohl der Serial Monitor ( LED an und LED aus ) ausgibt.

    Habe aber geschaut das in der Operation 1 kein Steckfehler mehr drin ist

    Mfg Benny

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    16.02.2014
    Beiträge
    80
    Okay ; vergessen aber vor welchem M meinst du denn ? oder stelle ich mich jetzt an?
    Nix M. Ich meinte damit "vor dem Strichpunkt fehlt eine Klammer". Also:
    Code:
    analogWrite (ledRedPin, (map ( analogRead(sensorPin), 1023, 0, 30, 225 ) ) );   // LED-PWM ist mindestens 30 und maximal 225
    Allerdings steckt da halt meine gestrige Interpretation der +-30 Geschichte drin, siehe Kommentar.

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    35
    Beiträge
    180
    okay ich bin grad an dem Code am testen, habe auch grad geschnallt was du meinst :=)

    Jetzt kommt die Fehlermeldung " at this point in file " ..... und der bzw dein Satz is gelb markiert.
    Direkt übersetzt " an diesem Punkt in Datei "

    Hast du ein tip cdk was das sein kann ?

    Lg

  9. #19
    Benutzer Stammmitglied
    Registriert seit
    16.02.2014
    Beiträge
    80
    Da mußt Du schon etwas genauer sagen was da bemängelt wird bzw. die genaue Meldung posten.

    Wahrscheinlich hat Du zuvor eine KLammer oder einen ; oder sowas vergessen. Bei mir geht das jedenfalls ohne meckern durch den Compiler und es funktioniert auch - drehe ich das Poti (=Sensor) hoch wird die LED dunkler, drehe ich es runter wird sie heller.

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    35
    Beiträge
    180
    okay ich kontrolliere es nochmal, cool hast du es ausprobiert bei dir ?

    und alle anderen Sätze auskommentieren und nur den einen gell hab ich richtig verstanden ?

    - - - Aktualisiert - - -

    hier noch als nachtrag, die komplette Fehlermeldung:

    /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Arduino.h: In function 'void Operation2()':
    /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Arduino.h:101: error: too many arguments to function 'int analogRead(uint8_t)'
    Roboter_RSL7_Hauptaufgaben:76: error: at this point in file
    /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Arduino.h:209: error: too few arguments to function 'long int map(long int, long int, long int, long int, long int)'
    Roboter_RSL7_Hauptaufgaben:76: error: at this point in file

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. c++ Uhr, brauche hilfestellung für interrupts
    Von backinblack im Forum Software, Algorithmen und KI
    Antworten: 1
    Letzter Beitrag: 01.04.2013, 13:46
  2. Hilfestellung mit C-Programmierung für einen uC
    Von xxrider im Forum C - Programmierung (GCC u.a.)
    Antworten: 23
    Letzter Beitrag: 18.09.2011, 18:38
  3. Antworten: 14
    Letzter Beitrag: 22.06.2009, 19:49
  4. C Anfänger! Bitte code angucken
    Von Freakster235 im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 21.02.2008, 17:10
  5. bitte helft einem Anfänger !!!
    Von jagdfalke im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 9
    Letzter Beitrag: 02.03.2005, 17:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests