Was ist los mit zweiter Geber-Variablen?

moin,
also ich programmiere erst seit kurzem mit Arduino Nano.
Daß das etwas Anderes ist als Java mit Datenbankansprache, habe ich schnell bemerken müssen..

Es geht um eine Moba-Schranke.

Finde den Grund Nicht, warum sich im nach folgenden Code die Variable val_g2 (Taster) Nicht mehr auf den vom Pullup erzwungenen Wert 1 zurücksetzen läßt, die Variable vom Geber 1 val_g1 (Taster) schon.
Der Servo funzt einwandfrei.

//- sweep_own_version1.ino
//- written by W.W.Fietz Hofbieber
//- lasteduted: 06.09.2021
//- Servo-Tester

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int led_red = 6;
int led_yellow = 7;
int led_green = 8;
int geber1 = 5; //-Taster
int geber2 = 6; //-Taster
int val_g1 = 0; //-Wert in geber1
int val_g2 = 0; //-Wert in geber2

int pos = 0;
int maxpos = 135;
int startpos = 45;
int stepp = 5;
 
void setup()
{
  Serial.begin(9600);
  pinMode(led_red, OUTPUT);
  pinMode(led_yellow, OUTPUT);
  pinMode(led_green, OUTPUT);
  
  pinMode(geber1,INPUT_PULLUP);
  pinMode(geber2,INPUT_PULLUP);  
  
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop()
{
  //myservo.write(0);
  val_g1 = digitalRead(geber1);
  val_g2 = digitalRead(geber2);
  show_vals();
  if(val_g1 == 0)
  {
    schranke_schliessen();
    Serial.println(pos);
    delay(1000);
  }  
  //-delay(1000);
  if(val_g2 == 0)  
  {
    schranke_oeffnen();
    Serial.println(pos);
    delay(1000);
  } 
  val_g1 = 1;
  val_g2 = 1; 
  show_vals();
}

void schranke_schliessen()
{
  digitalWrite(led_red, HIGH);
  for (pos = startpos; pos <= maxpos; pos += stepp)
  { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(30);                       // waits 15ms for the servo to reach the position
  }  
  digitalWrite(led_red, LOW);  
}
void schranke_oeffnen()
{
  digitalWrite(led_green, HIGH);
  for (pos = maxpos; pos >= startpos; pos -= stepp)
  { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(30);                       // waits 15ms for the servo to reach the position
  }  
  digitalWrite(led_green, LOW);
}

void show_vals()
{
  //- der print-Befehl ist Nicht identisch mit dem von Standard-C oder Standard-Java !
  //- 2. Parameter ist hier für das Ausgabeformat, nicht für nen numerischen Wert zur Ausgabe !
  Serial.print(" G1 :");
  Serial.print(val_g1);
  Serial.print(" G2 : ");
  Serial.println(val_g2);
}

hab ich Tomaten auf den Augen ?
ist ein Pin - evtl der für Geber2 Nr 6 ungeeignet ?

momentan geht der Servo zwischen vorgegebenen Start- und Endpositionen
rhythmisch hin und her, statt in einer Position zur verharren..

habe beide Taster elektrisch überprüft, funktionieren ok, kein Klemmen o.ä.

Ihr Beitrag wurde an seinen aktuellen Speicherort verschoben, da er besser geeignet ist.

Den Thread gibt es schon

oh, sorry, hab ich nicht gefunden..das Suchen bzw Wiederfinden
von mir geschriebener Beiträge kriege ich bei diesem Forum nicht gut hin,
keine Ahnung , warum..

grafik

ja und.. dat Dingen hab ich längst gesehen..so groß sind die Tomaten
jetzt auch nicht :grinning:

merkwürdig : nach Erhöhung des Delay-Wertes bei den Servo-Schleifen
klappts auf einmal, keine eigenständige Bewegung beim Servo mehr.

Hat das evtl mit Schwankungen der Versorgungsspannung im Ard. zu tun ?
Gibt es Einwirkungen auf Pin5 oder 6 (Geber) ?

Dann nutze es doch auch!
Sehen und dann doch ignorieren, ist irgendwie seltsam.......

image

ok, also über username..also tomaten im gehirn ?..
kein Wunder : hab ja auch hunger :grinning:

Neben Deinem Beitrag ist das L - klick mit rechts drauf und öffne den Link im neuen Tab.
In der Zeile Statistik: 5 Themen erstellt.
Wenn Du auf Themen klickst...

Geht auch oben rechts mit dem Profilbild - Einstellungen - Forenprofil.

Auch hinter dem Username ist der Link hinterlegt. Also Kreis mit Buchstaben oder selbst hochgeladenes Bild oder Username klicken.

Grüße Uwe

schau dir das mal genauer an :wink:

mööönsch..nich möchlich !
hab ich glatt übersehen..deswegen blieben auch die Leds aus !
Vielen Dank !