De Redder

Discussie in 'Bouwverslagen - Schepen' gestart door Halmar, 15 dec 2010.

  1. buddyschut

    buddyschut

    Lid geworden:
    4 sep 2011
    Berichten:
    238
    Ziet er top uit
     
  2. Marc w

    Marc w

    Lid geworden:
    10 feb 2013
    Berichten:
    3.277
    Locatie:
    Turnhout belgie
    het resultaat mag er zeker wezen.
    mooie vooruitgang.
     
  3. jankraak

    jankraak

    Lid geworden:
    22 jan 2005
    Berichten:
    647
    Locatie:
    Den Helder "Netherlands"
    Ziet er gaaf uit
    Waarvan zijn je roosters gemaakt?
     
  4. Halmar

    Halmar

    Lid geworden:
    14 apr 2003
    Berichten:
    1.066
    Locatie:
    Amersfoort
    De roosters zijn gemaakt van 0,3 mm geperforeerde messing plaat. Gaatjes zijn 3 x 3 mm.

    Groet Halmar
     
  5. Halmar

    Halmar

    Lid geworden:
    14 apr 2003
    Berichten:
    1.066
    Locatie:
    Amersfoort
    Weer een stukje detaillering van de railing :), de houder voor het drijfanker.

    [​IMG]

    Groet Halmar
     
    Laatst bewerkt door een moderator: 20 nov 2015
  6. greef

    greef

    Lid geworden:
    18 dec 2007
    Berichten:
    43
    Locatie:
    Den-Oever
    :worship: vakwerk
     
  7. buddyschut

    buddyschut

    Lid geworden:
    4 sep 2011
    Berichten:
    238
    Ziet er goed uit
     
  8. Halmar

    Halmar

    Lid geworden:
    14 apr 2003
    Berichten:
    1.066
    Locatie:
    Amersfoort
  9. buddyschut

    buddyschut

    Lid geworden:
    4 sep 2011
    Berichten:
    238
    Ziet er weer goed uit
     
  10. Marc w

    Marc w

    Lid geworden:
    10 feb 2013
    Berichten:
    3.277
    Locatie:
    Turnhout belgie
    het zit hem in de details , maar je bent goed op weg.
    Zeer netjes vervaardigd allemaal.
     
  11. jankraak

    jankraak

    Lid geworden:
    22 jan 2005
    Berichten:
    647
    Locatie:
    Den Helder "Netherlands"
    langzaam maar gestaag wordt het een echte reddingboot.
    Ziet er mooi strak uit hoor.
     
  12. Halmar

    Halmar

    Lid geworden:
    14 apr 2003
    Berichten:
    1.066
    Locatie:
    Amersfoort
    De railing is inmiddels in de primer gespoten en met epoxy in het dek gelijmd. Zit er stevig op :). Ondertussen heb ik na best wat denkwerk en een tijdje programmeren een MultiSwitch gebouwd op basis van een Arduino. De eerste tests lijken goed te werken, dus kan na nog wat verder uitwerken een hoop van de verlichting of andere aan/uit functies bedienen.



    Groet Halmar
     
  13. jankraak

    jankraak

    Lid geworden:
    22 jan 2005
    Berichten:
    647
    Locatie:
    Den Helder "Netherlands"
    Halmar, mooi gedaan.
    Is dit op 40Mhz of op 2.4GHz?
     
  14. Halmar

    Halmar

    Lid geworden:
    14 apr 2003
    Berichten:
    1.066
    Locatie:
    Amersfoort
    Dit is op 40 MHz. In de zender zit overigens niets bijzonders. Werking is als volgt; als je een gewone stuurknuppel naar een uiterste beweegt ziet de arduino dit als een aan signaal, de volgende keer dat je de knuppel naar die plek brengt word hij weer uitgeschakeld. Doormiddel van een aantal weerstanden heb ik 11 (een is middenstand) posities gemaakt, waar je de knuppel als het ware heen kan brengen, maar elke positie heeft dus een schakelaartje gekregen. De arduino kan elke positie vervolgens vertalen naar schakel functie. (Hoop dat het idee duidelijk is). Omdat er in de zender en in de signaal overdracht niets anders is als bij een gewone stuurfunctie, heb ik goede hoop dat dit ook in een 2,4 GHz zender zou moeten werken. Heb zelf helaas geen zender om dit uit te testen, kan alleen het concept testen, gewoon een echte knuppel gebruiken op mijn vliegzender...

    Groet Halmar
     
    MikeMohawk vindt dit leuk.
  15. jankraak

    jankraak

    Lid geworden:
    22 jan 2005
    Berichten:
    647
    Locatie:
    Den Helder "Netherlands"
    Halmar, zit net je schakeling weer te lezen en dat principe ziet er goed uit.
    Dit gaat zeker werken op 2.4ghz.
    Ik heb nu de verlichting ook in de mast, maar had nu 2 blauwe knipperleds gebruikt.
    Maar ik denk dat ik deze ook vervang door 3 smd leds in een blauw kapje, te samen met jouw flitslicht schakeling.
    Zal deze week weer wat foto,s plaatsen.
     
  16. Halmar

    Halmar

    Lid geworden:
    14 apr 2003
    Berichten:
    1.066
    Locatie:
    Amersfoort
    Long time no see... Maar de tube is bekleed. Ziet er mooi uit, als de zwarte bies er ook op zit zal ik een paar foto's posten.

    Vandaag hadden we in Zutphen nog een vaardag, en heb hem even uitgelaten. Blijft een erg mooi vaarbeeld. Kleine impressie;



    Groet Halmar
     
    Unusual RC, Bert V, Marc w en 1 andere persoon vinden dit leuk.
  17. Unusual RC

    Unusual RC

    Lid geworden:
    19 mei 2004
    Berichten:
    1.743
    Locatie:
    Rijswijk, Zuid Holland
    Echt prachtig!
     
  18. Bootjebouwer 2

    Bootjebouwer 2

    Lid geworden:
    23 jul 2019
    Berichten:
    1.399
    Locatie:
    Het noorden van Drenthe
    Behalve dat ik hier een groot compliment wil, nee móet, geven voor dit schitterende model wil ik ook wel even kwijt dat dit misschien wel het langst lopende topic van dit forum is:bier:

    Maar: wat langzaam komt is goed.
    Dat blijkt maar weer eens.
     
  19. Halmar

    Halmar

    Lid geworden:
    14 apr 2003
    Berichten:
    1.066
    Locatie:
    Amersfoort
    Is zeker een lang lopend project. Eigenlijk teveel andere projecten en te weinig tijd, maar hij is ook te mooi om niet verder te gaan :).

    Hier nog een plaatje van hoe de multiswitch geworden is;

    En omdat er zo nu en dan mensen naar vragen hier de code (geen garantie);

    Code:
    /*
     * Use transmitter stick to togle a led on and of 
     * By Halmar Lakeman
     * 13-10-2015
     * Last update 28-12-2017
     */
    
    int input;  // Input from transmitter
    
    int ch1 ;  // Channels
    int ch2 ;  // To store channel state
    int ch3 ;  
    int ch4 ;
    int ch5 ;
    int ch6 ;
    int ch7 ;
    int ch8 ;
    int ch9 ;
    int ch10 ;
    
    int laststate1 = 0; // last position
    int laststate2 = 0;
    int laststate3 = 0;
    int laststate4 = 0;
    int laststate5 = 0;
    int laststate6 = 0;
    int laststate7 = 0;
    int laststate8 = 0;
    int laststate9 = 0;
    int laststate10 = 0;
    
    unsigned long lastdebouncetime1 = 0;// keep track of time
    unsigned long lastdebouncetime2 = 0;
    unsigned long lastdebouncetime3 = 0;
    unsigned long lastdebouncetime4 = 0;
    unsigned long lastdebouncetime5 = 0;
    unsigned long lastdebouncetime6 = 0;
    unsigned long lastdebouncetime7 = 0;
    unsigned long lastdebouncetime8 = 0;
    unsigned long lastdebouncetime9 = 0;
    unsigned long lastdebouncetime10 = 0;
    
    int debouncedelay = 500; //time for debouncen
    
    
    void setup() {
    
      pinMode(2, INPUT);    // input, connected to reciever
     
      pinMode(3, OUTPUT);   // ch1
      pinMode(4, OUTPUT);   // ch2
      pinMode(5, OUTPUT);   // ch3
      pinMode(6, OUTPUT);   // ch4
      pinMode(7, OUTPUT);   // ch5
      pinMode(8, OUTPUT);   // ch6
      pinMode(9, OUTPUT);   // ch7
      pinMode(10, OUTPUT);  // ch8
      pinMode(11, OUTPUT);  // ch9
      pinMode(12, OUTPUT);  // ch10
      pinMode(13, OUTPUT);  // Just to switch of the led
    
    
    }
    
    void loop() {
    
      input = pulseIn(2, HIGH, 25000); // Read the pulse width of the signal
    
      // kanaal 1
      //values 860 & 951 are transmitter/configuration dependant. You will have to figure
      //out wat works for you. The same goes for all subsequent channels
    
      if ( input < 860 || input > 951 ) {              // make it a digital on/off signal
        ch1 = 0;
      } else if (input > 860 && input < 951) {
        ch1 = 1;
      }
    
      if((millis() - lastdebouncetime1) > debouncedelay)  // debouce time checken
      {
        if (ch1 == 1 && laststate1 == 0) {                // switch on
            digitalWrite(3, HIGH);
            laststate1 = 1;
            lastdebouncetime1 = millis();
           
          } else if (ch1 == 1 && laststate1 == 1){        // switch off
            digitalWrite(3, LOW);
            laststate1 = 0;
            lastdebouncetime1 = millis();
        }
      }
    
      // kanaal 2
     
        if ( input < 951 || input > 1059 ) {              // maak een digitaal aan/uit signaal
        ch2 = 0;
      } else if (input > 951 && input < 1059) {
        ch2 = 1;
      }
    
      if((millis() - lastdebouncetime2) > debouncedelay)  // debouce tijd checken
      {
        if (ch2 == 1 && laststate2 == 0) {                // aan zetten
            digitalWrite(4, HIGH);
            laststate2 = 1;
            lastdebouncetime2 = millis();
           
          } else if (ch2 == 1 && laststate2 == 1){        // uit zetten
            digitalWrite(4, LOW);
            laststate2 = 0;
            lastdebouncetime2 = millis();
        }
      }
    
      // kanaal 3
    
        if ( input < 1059 || input > 1200 ) {              // maak een digitaal aan/uit signaal
        ch3 = 0;
      } else if (input > 1059 && input < 1200) {
        ch3 = 1;
      }
    
      if((millis() - lastdebouncetime3) > debouncedelay)  // debouce tijd checken
      {
        if (ch3 == 1 && laststate3 == 0) {                // aan zetten
            digitalWrite(5, HIGH);
            laststate3 = 1;
            lastdebouncetime3 = millis();
           
          } else if (ch3 == 1 && laststate3 == 1){        // uit zetten
            digitalWrite(5, LOW);
            laststate3 = 0;
            lastdebouncetime3 = millis();
        }
      }
    
      //kanaal 4
    
        if ( input < 1200 || input > 1327 ) {              // maak een digitaal aan/uit signaal
        ch4 = 0;
      } else if (input > 1200 && input < 1327) {
        ch4 = 1;
      }
    
      if((millis() - lastdebouncetime4) > debouncedelay)  // debouce tijd checken
      {
        if (ch4 == 1 && laststate4 == 0) {                // aan zetten
            digitalWrite(6, HIGH);
            laststate4 = 1;
            lastdebouncetime4 = millis();
           
          } else if (ch4 == 1 && laststate4 == 1){        // uit zetten
            digitalWrite(6, LOW);
            laststate4 = 0;
            lastdebouncetime4 = millis();
        }
      }
    
      //kanaal 5
    
        if ( input < 1327 || input > 1452 ) {              // maak een digitaal aan/uit signaal
        ch5 = 0;
      } else if (input > 1327 && input < 1452) {
        ch5 = 1;
      }
    
      if((millis() - lastdebouncetime5) > debouncedelay)  // debouce tijd checken
      {
        if (ch5 == 1 && laststate5 == 0) {                // aan zetten
            digitalWrite(7, HIGH);
            laststate5 = 1;
            lastdebouncetime5 = millis();
           
          } else if (ch5 == 1 && laststate5 == 1){        // uit zetten
            digitalWrite(7, LOW);
            laststate5 = 0;
            lastdebouncetime5 = millis();
        }
      }
    
      // kanaal 6
    
        if ( input < 1573 || input > 1691 ) {              // maak een digitaal aan/uit signaal
        ch6 = 0;
      } else if (input > 1573 && input < 1691) {
        ch6 = 1;
      }
    
      if((millis() - lastdebouncetime6) > debouncedelay)  // debouce tijd checken
      {
        if (ch6 == 1 && laststate6 == 0) {                // aan zetten
            digitalWrite(8, HIGH);
            laststate6 = 1;
            lastdebouncetime6 = millis();
           
          } else if (ch6 == 1 && laststate6 == 1){        // uit zetten
            digitalWrite(8, LOW);
            laststate6 = 0;
            lastdebouncetime6 = millis();
        }
      }
    
      // kanaal 7
    
        if ( input < 1691 || input > 1818 ) {              // maak een digitaal aan/uit signaal
        ch7 = 0;
      } else if (input > 1691 && input < 1818) {
        ch7 = 1;
      }
    
      if((millis() - lastdebouncetime7) > debouncedelay)  // debouce tijd checken
      {
        if (ch7 == 1 && laststate7 == 0) {                // aan zetten
            digitalWrite(9, HIGH);
            laststate7 = 1;
            lastdebouncetime7 = millis();
           
          } else if (ch7 == 1 && laststate7 == 1){        // uit zetten
            digitalWrite(9, LOW);
            laststate7 = 0;
            lastdebouncetime7 = millis();
        }
      }
    
      // kanaal 8
    
        if ( input < 1818 || input > 1959 ) {              // maak een digitaal aan/uit signaal
        ch8 = 0;
      } else if (input > 1818 && input < 1959) {
        ch8 = 1;
      }
    
      if((millis() - lastdebouncetime8) > debouncedelay)  // debouce tijd checken
      {
        if (ch8 == 1 && laststate8 == 0) {                // aan zetten
            digitalWrite(10, HIGH);
            laststate8 = 1;
            lastdebouncetime8 = millis();
           
          } else if (ch8 == 1 && laststate8 == 1){        // uit zetten
            digitalWrite(10, LOW);
            laststate8 = 0;
            lastdebouncetime8 = millis();
        }
      }
    
      // kanaal 9
    
        if ( input < 1959 || input > 2068 ) {              // maak een digitaal aan/uit signaal
        ch9 = 0;
      } else if (input > 1959 && input < 2068) {
        ch9 = 1;
      }
    
      if((millis() - lastdebouncetime9) > debouncedelay)  // debouce tijd checken
      {
        if (ch9 == 1 && laststate9 == 0) {                // aan zetten
            digitalWrite(11, HIGH);
            laststate9 = 1;
            lastdebouncetime9 = millis();
           
          } else if (ch9 == 1 && laststate9 == 1){        // uit zetten
            digitalWrite(11, LOW);
            laststate9 = 0;
            lastdebouncetime9 = millis();
        }
      }
    
      //kanaal 10
    
        if ( input < 2068 || input > 2160 ) {              // maak een digitaal aan/uit signaal
        ch10 = 0;
      } else if (input > 2068 && input < 2160) {
        ch10 = 1;
      }
    
      if((millis() - lastdebouncetime10) > debouncedelay)  // debouce tijd checken
      {
        if (ch10 == 1 && laststate10 == 0) {                // aan zetten
            digitalWrite(12, HIGH);
            laststate10 = 1;
            lastdebouncetime10 = millis();
           
          } else if (ch10 == 1 && laststate10 == 1){        // uit zetten
            digitalWrite(12, LOW);
            laststate10 = 0;
            lastdebouncetime10 = millis();
        }
      }
    }
    
    Ik heb deze schets gebruikt om de waarden van mijn zender te bepalen:

    Code:
    /*
     * Read a servo signal on pin 2 and display in the serial monitor 
     * By Halmar Lakeman
     * 13-10-2015
     * Last update 28-12-2017
     */
    
    int ch1;
    
    void setup() {
    
      pinMode(2, INPUT);
    
      Serial.begin(9600);
    
    }
    
    void loop() {
    
      ch1 = pulseIn(2, HIGH, 25000);
    
      Serial.print("Pulse width   ");
      Serial.println(ch1);
    
      delay(500);
    
    }
    Succes! Halmar
     
    jankraak vindt dit leuk.
  20. bootjesbouwer

    bootjesbouwer

    Lid geworden:
    25 nov 2023
    Berichten:
    1
    Locatie:
    woerden
    Hoi Halmar,

    Mooi project die multiswitch, lijkt mij leuk om na te bouwen. Ik begrijp de code maar vraag mij af wat je in de zender moet inbouwen.
    Een aantal schakelaars en weerstanden begrijp ik, heb je daar ppk een schematje van? Ander vraagje: met een Flysky FS-i6S kun je met de Flifhtmode ook de pulslengte van een kanaal op tot 9 standen schakelen, zou dat ook werken?

    Groeten
    Geert
     

Deel Deze Pagina