- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: Auslösen von Befehlen, durch Signalübergabe eines Arduinos an ein anderen Arduino

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.212
    Schreib das mal ungefähr so:

    bool leseWert;
    leseWert=digitalRead(kp);
    if(leseWert==HIGH)
    {
    .....
    .....
    }

    Deine Methode _müsste_ eigentlich auch funktionieren, aber aus Erfahrung weiss ich: manchmal funktioniert es eben nicht.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  2. #2
    HaWe
    Gast
    Zitat Zitat von Rabenauge Beitrag anzeigen
    Schreib das mal ungefähr so:

    bool leseWert;
    leseWert=digitalRead(kp);
    if(leseWert==HIGH)
    {
    .....
    .....
    }

    Deine Methode _müsste_ eigentlich auch funktionieren, aber aus Erfahrung weiss ich: manchmal funktioniert es eben nicht.
    Ich finde persönlich, bool sollte man nur mit TRUE oder FALSE verwenden, nicht mit high oder low, auch wenn es logisch äquivalent ist.

    stattdessen gehen aber sicherlich auch die Datentypen char oder byte für leseWert problemlos mit deinem Code, und sie benötigen in C(++) auch denselben Speicher.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    57
    Beiträge
    2.814
    Auc hwenn es hier vermutlich nicht die Ursache ist,
    Digitalsignale haben 3 Spannungszustände.
    Low, nicht Definiert und High.
    Momentan ist der Ausgang High wenn der Eingang High ist und wenn der Eingang Low und nicht definiert ist ist der Ausgang Low.

    Kehrt man die Befehlslogik um, ist der Ausgang nur Low wenn der Eingang low ist.
    Sonst ist er High.
    Code:
      if (digitalRead(kp) == LOW){
    
      digitalWrite (rot, HIGH);
      digitalWrite (gruen, LOW);
      }
    
      else {
        
      digitalWrite (rot, HIGH);
      digitalWrite (gruen, HIGH);
      }
    Ein Versuch würde zeigen ob es was bringt oder nicht.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    04.05.2015
    Beiträge
    41
    Hallo,

    danke, für die vielen Antworten. Ich werde das alles mal nach und nach ausprobieren. Bin schon froh, dass ich in meinem Gedankengang also nicht so falsch lag.

Ähnliche Themen

  1. Reed-Sensor durch anderen Drehgeber ersetzen
    Von frefrafru im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 29.01.2014, 15:01
  2. 7Segmentanzeige auslösen durch zwei Tasten in bestimmter Zeitfolge / Attiny 24
    Von Joschi1711 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 20.02.2012, 14:51
  3. Unterprogramm durch Interrupt auslösen
    Von YaNnIk im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 07.01.2010, 17:47
  4. rnmega2560 USB Interrupt durch USB auslösen
    Von AndiDC im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 26.03.2007, 07:52
  5. sofortigen programmstop durch interrupt auslösen
    Von MarkusH im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 25.05.2005, 14:47

Berechtigungen

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

Labornetzteil AliExpress