Variabel voltage op model via zender.

Discussie in 'Model elektronica' gestart door Martijn205, 3 sep 2015.

  1. Martijn205

    Martijn205

    Lid geworden:
    29 jul 2010
    Berichten:
    53
    Locatie:
    Sittard
    Hallo !

    Ik heb een vraagje.. wil via een pot.meter op de zender (MX20) op mijn model een variabele spanning tussen 0 en 5 volt kunnen regelen. Iemand een idee hoe ik dit het beste kan doen ?

    *toelichting te bereiken doel: aansturen input op 'Arduino micro' tussen 0 en 5 volt waardoor de Arduino een digitale 'output' genereerd waarmee ik (veel!) verschillende programma's op de Arduino kan activeren.

    Groetjes, Martijn
     
  2. hmeijdam

    hmeijdam

    Lid geworden:
    29 jan 2010
    Berichten:
    1.884
    Locatie:
    Barneveld
    Wellicht de simpelste oplossing is om een servo in je model een potmeter te laten aansturen, die vervolgens de spanning aan je Arduino afgeeft.

    Alternatief is om je Arduino direct het PWM (servo) signaal van je RC ontvanger te laten decoderen. Aan die methode kleeft wel het nadeel dat de PWM input routine (pulsein) een vertragende werking heeft op je Arduino routine. Tenzij je die kunt programmeren middels interrupts. In dat geval houd ik mij aanbevolen voor zo'n stukje niet-vertragende PWM lees routine !
     
  3. Cheeta

    Cheeta Forum veteraan

    Lid geworden:
    8 jul 2003
    Berichten:
    9.523
    Locatie:
    Nieuwegein
    sorry??? je hebt een arduino en die wil je met 0-5V aansturen in plaats van met je servo signalen..... FOEI! :p
    arduino kan ook prima servo signalen inlezen
    https://www.arduino.cc/en/Reference/PulseIn

    waarom moeilijk doen als het makkelijk kan?

    hmeijdam was me net voor ;)
     
  4. Martijn205

    Martijn205

    Lid geworden:
    29 jul 2010
    Berichten:
    53
    Locatie:
    Sittard
    lol kijk... daarom post ik dat soort dingen hier ! Super antwoorden ! Dat met de servo signalen heb ik wel aan gedacht maar helemaal snappen deed ik het niet. Heb nu om de Arduino te schakelen een sxm van Graupner gebruikt maar dat werkt niet lekker en ik kan er 2 programma's mee oproepen, wat te weinig is.

    Heeft een van jullie wellicht een stukje programma zodat ik een idee heb van de te gebruiken waarden ?
     
    Laatst bewerkt: 3 sep 2015
  5. Volhout

    Volhout

    Lid geworden:
    23 jul 2008
    Berichten:
    912
    Locatie:
    Twente
    @hmeijdam

    http://www.benripley.com/diy/arduino/three-ways-to-read-a-pwm-signal-with-arduino/

    De tekst is wat crypisch en zal niet 1:1 compileren, maar je snapt wat de bedoeling is.

    Zet de interrupt op rising edge,
    Int: log de timer, zet de interrupt op falling edge, return
    volgende
    Int: vorige timer af van huidige, zet interrupt op rising edge, return.

    Maakt gebruik van een arduino "pinchangeint" library (zie #include)

    Pin Change Interrupts
    #include <PinChangeInt.h>

    #define MY_PIN 5 // we could choose any pin

    volatile int pwm_value = 0;
    volatile int prev_time = 0;
    uint8_t latest_interrupted_pin;

    void rising()
    {
    latest_interrupted_pin=PCintPort::arduinoPin;
    PCintPort::attachInterrupt(latest_interrupted_pin, &falling, FALLING);
    prev_time = micros();
    }

    void falling() {
    latest_interrupted_pin=PCintPort::arduinoPin;
    PCintPort::attachInterrupt(latest_interrupted_pin, &rising, RISING);
    pwm_value = micros()-prev_time;
    Serial.println(state);
    }

    void setup() {
    pinMode(MY_PIN, INPUT); digitalWrite(MY_PIN, HIGH);
    Serial.begin(115200);
    PCintPort::attachInterrupt(MY_PIN, &rising, RISING);
    }

    void loop() { }​
     
    Laatst bewerkt: 3 sep 2015
  6. hmeijdam

    hmeijdam

    Lid geworden:
    29 jan 2010
    Berichten:
    1.884
    Locatie:
    Barneveld
    @ volhout. Bedankt, daar ga ik eens mee testen.
     

Deel Deze Pagina