-
        

Ergebnis 1 bis 4 von 4

Thema: Problem mit Code

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.02.2006
    Beiträge
    199

    Frage Problem mit Code

    Anzeige

    Habe ein kleines Problem beim Üben mit Arduino

    Ich will das beim kontakt von 12 und dem 5 oder 3,3V ausgang der Blinkvorgang einer an 11 angeschlossenen LED startet.
    Was habe ich hier falsch gemacht?
    Ich kann den Fehler einfach nicht finden.


    void setup(){
    pinMode(11, OUTPUT);
    pinMode(12, INPUT);

    }

    void loop(){

    digitalRead(12);

    if(12 == HIGH){

    digitalWrite(11, HIGH);
    delay(1000);
    digitalWrite(11, LOW);
    delay(200);

    }else{

    digitalWrite(11, LOW);

    }
    }


  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Hallo

    Müßte es nicht

    if(digitalRead(12) == HIGH)

    heißen?

    http://starthardware.org/lektion-12-...und-if-abfrage

    Gruß

    Micha

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.04.2008
    Beiträge
    279
    wie radbruch schon sagte, sind die beiden Zeilen
    Code:
    digitalRead(12);
      
      if(12 == HIGH){
    falsch.

    Zudem kann das ganze so nur funktionieren, wenn du am Eingang auch einen Pulldown-Widerstand hast, der den Eingang auf LOW zieht, wenn eben keine Spannung anliegt. Deshalb wäre neben dem Code auch ein Schaltplan (und bitte kein Fritzing Gekritzel) notwendig, da weitere Probleme auch auf der Hardware Seite sein können. Üblicherweise macht man das ganze übrigens anders herum. Man legt die Eingänge über PullUp Widerstände (dafür hat der Prozessor extra interne PullUps verbaut ... sieht auch Doku zu pinMode() ) dauerhaft auf HIGH. Um dann zum Beispiel einen Taster oder sowas auszuwerten, wird der auf der einen Seite mit dem Eingangs-Pin und auf der anderen Seite mit GND verbunden. Beim Betätigen des Schalters wird der Eingang dann LOW und man kann darauf reagieren. Diese Variante nennt sich deshalb Active-LOW. Das was Du machst ist Active-HIGH (Erkennen einer positiven Spannung am Eingang). Das macht man eigentlich nur im Ausnahmefall.
    Geändert von redround (03.05.2015 um 11:27 Uhr)

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.02.2006
    Beiträge
    199
    Habe das gerade entsprechend umgebaut und es funktioniert wie geplant.
    Vielen dank für die Hilfe!

Ähnliche Themen

  1. Code-Schloss mit Tastatur, LCD und Logger. Code-Beispiel
    Von Stray_Cat im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 2
    Letzter Beitrag: 05.06.2009, 11:31
  2. Antworten: 7
    Letzter Beitrag: 22.03.2008, 15:07
  3. Problem mit dcf77 code in grösserem Projekt
    Von Wolfgang Nitzschke im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 30.01.2008, 18:06
  4. Antworten: 14
    Letzter Beitrag: 06.02.2007, 01:28
  5. Problem mit dem USART Code
    Von LC-HC im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 09.04.2006, 09:52

Berechtigungen

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