Vraagje aan de Arduino gebruikers

Discussie in 'Model elektronica' gestart door Marc w, 26 nov 2024.

  1. Roelof

    Roelof Moderator Moderator team Forum veteraan

    Lid geworden:
    20 aug 2003
    Berichten:
    29.691
    Locatie:
    Sassenheim
    Als je de interne pull up kunt uitschakelen kan je altijd een externe pull up naar 5v leggen.
     
    lecraM vindt dit leuk.
  2. max z

    max z Vriend van modelbouwforum.nl PH-SAM

    Lid geworden:
    4 dec 2009
    Berichten:
    2.407
    Locatie:
    Boskoop
    Voor zover ik het begrijp wordt de pin met PWM geforceerd naar HIGH of LOW, er is geen sprake van of noodzaak voor een interne pullup. De enige manier om een 3,3V signaal naar 5V te brengen is met een externe transistor.
     
  3. Marc w

    Marc w

    Lid geworden:
    10 feb 2013
    Berichten:
    3.483
    Locatie:
    Turnhout belgie
    Denk dat ik er ben, deze schets laat de brandwijze continu veranderen net zoals bij de tester.
    nu nog even aanpassen dat ie maar 1x loopt als ik op een knopje druk

    #include <ESP32Servo.h>

    static const int servoPin = 12;

    Servo servo1;

    void setup() {
    Serial.begin(115200);
    servo1.attach(servoPin);
    }

    void loop() {
    for(int posDegrees = 0; posDegrees <= 180; posDegrees++) {
    servo1.write(posDegrees);
    Serial.println(posDegrees);
    delay(20);
    }

    for(int posDegrees = 180; posDegrees >= 0; posDegrees--) {
    servo1.write(posDegrees);
    Serial.println(posDegrees);
    delay(20);
    }
    }
     
  4. Marc w

    Marc w

    Lid geworden:
    10 feb 2013
    Berichten:
    3.483
    Locatie:
    Turnhout belgie
    Ter extra info, de 3V of 5V maken niets uit, Heb de servo tester op 3V gezet al staat er op ( 4.8 - 6V IN) hij blijft werken en .... ja hoor het zwaailicht veranderd dus ook op 3V.
    Hierdoor was ik verder gaan zoeken naar andere manieren om een servo aan te sturen en kwam ik bij bovenstaand progje uit wat meteen werkte bij het testen.
    Was dus gewoon een kwestie van try en error , om dit zelf te verzinnen ben ik nog een beetje te veel beginneling :)

    toch van harte bedankt aan alle mee denkers,
    groetjes Marc
     
    Herby63 vindt dit leuk.
  5. max z

    max z Vriend van modelbouwforum.nl PH-SAM

    Lid geworden:
    4 dec 2009
    Berichten:
    2.407
    Locatie:
    Boskoop
    Ik denk dat dit wel gaat werken:

    Code:
    const int Pushpin = 4; // drukknop aan pin 4 aansluiten, naar GND
    
    void setup (){
      pinMode ( Pushpin, INPUT_PULLUP);
    }
    
    void loop () {
      while ( digitalRead (Pushpin) == 0); // while loop herhaalt totdat de drukknop losgelaten wordt
      delay (50); // wacht tot contactdender voorbij is
      while ( digitalRead (Pushpin) == 1); // while loop herhaalt totdat de drukknop ingedrukt wordt
      // etc.
    }
    
     
    Laatst bewerkt: 28 nov 2024
  6. Marc w

    Marc w

    Lid geworden:
    10 feb 2013
    Berichten:
    3.483
    Locatie:
    Turnhout belgie
    Merci max,
    maar ik ga via bluetooth het commando geven, dan kan ik ze ook vanop afstand wijzigen.
    Jouw code is altijd meerdere regels korter dan die van mij, ga het eens bekijken word waarschijnlijk uiteindelijk iets tussen in.
     
    Herby63 vindt dit leuk.
  7. max z

    max z Vriend van modelbouwforum.nl PH-SAM

    Lid geworden:
    4 dec 2009
    Berichten:
    2.407
    Locatie:
    Boskoop
    Ik begrijp eigenlijk nog niet hoe jouw knipperlicht van modus veranderd ( snel/langzaam/flitsen/roteren enz.), is het zo dat bij één sweep van 0 tot 180 alle varianten voorbijkomen?
     
  8. Marc w

    Marc w

    Lid geworden:
    10 feb 2013
    Berichten:
    3.483
    Locatie:
    Turnhout belgie
    @ Max , bij elke sweep van 0 naar 180 , gaat het naar de volgende modus,5 verschillende , (snel en langzaam -flitsen of roteren en uit.)
    origineel zet je het op een aux kanaal van je zender, en telkens je in en uit schakelt veranderd de modus.
    het heeft ook een geheugen want het start terug op in de stand waarin je spanning hebt uitgeschakeld.

    je kan het vergelijken met kerst verlichting met verschillende flikker standen die je kiest met een druk knopje op het bedienings kastje.
     
    max z vindt dit leuk.
  9. max z

    max z Vriend van modelbouwforum.nl PH-SAM

    Lid geworden:
    4 dec 2009
    Berichten:
    2.407
    Locatie:
    Boskoop
    Nu is mij het duidelijk, dank je. Maar dan zou je geen sweep nodig hebben, alleen maar de eindwaarden 0 en 180:
    Code:
    void loop () {
      while ( digitalRead (Pushpin) == 0); // while loop herhaalt totdat de drukknop losgelaten wordt
      delay (50); // wacht tot contactdender voorbij is
      servo1.write (0);
      while ( digitalRead (Pushpin) == 1); // while loop herhaalt totdat de drukknop ingedrukt wordt
      delay (50);
      servo1.write (180);
    }
     
    Laatst bewerkt: 29 nov 2024 om 10:35

Deel Deze Pagina