Google+
Doel:€250.00
Donaties:€53.20

Per saldo:€-196.80

Steun ons nu!

Laatst bijgewerkt
op 16-09-2018
Algemeen

De stichting

Recente berichten

19 Toen door Rick
Vandaag om 15:13:11
Sfeertopic voor toekomstige module door Stedahult
Vandaag om 15:10:24
MB-module: "Groeten uit Jottum" door Hendrik Jan
Vandaag om 15:09:37
Pfarrerwinkel bahn door Wim Vink
Vandaag om 15:07:22
3D/RM-IG: Onshape - Materieel 1:76 door Hans van de Burgt
Vandaag om 15:05:47
Vieze treinen, gebouwen, wegen etc. (tips en plaatjes) door Stedahult
Vandaag om 15:02:33
M.s.v. De Percee bouwt aan nieuwe clubbaan door J. Moors
Vandaag om 15:02:29
NS modelbaan Hoekdam H0 door IJsselsteyn
Vandaag om 15:00:00
EifelBurgenBahn door Reinout van Rees
Vandaag om 15:00:00
Postrijtuig PD 64 van Tramwegmij. Oostelijk Groningen in 1:87. door Sven
Vandaag om 14:52:00
Toon hier je nieuwe (model) spooraanwinst(en)... door Jelmer
Vandaag om 14:51:04
Mijn eerste H0 modeltreinbaan in aanbouw door Jelmer
Vandaag om 14:48:40
Rivarossi DB 627 pimpen. door Dave.......
Vandaag om 14:34:20
Projekt RET ZGT 4/6 801-850 en 6/6 701-750 in H0 door Sven
Vandaag om 14:33:33
Oersik in schaal 1 door FritsT
Vandaag om 14:25:07
Smalspoormodelbouwdagen Stoomtrein Katwijk Leiden door Hugo Baart
Vandaag om 14:20:17
Roco 1600 HUSA: ledverlichting aanpassen door Fritsprt
Vandaag om 14:14:47
Nieuwe ruimte herbeginnen bouwen, maar wat? door Wim Hesselink
Vandaag om 14:09:37
De bouw van mijn modelbaan in Thailand door Almar
Vandaag om 14:08:58
Roco 2018 (zonder Fleischmann) door IJsselsteyn
Vandaag om 13:57:56
Martin's geknoei met groen.. door tijgernootje
Vandaag om 13:43:08
TT-baan Heinenoord door Almar
Vandaag om 13:03:35
BNLS-actie: Artitec DAF SRV door Rinus H0
Vandaag om 12:47:14
Projekt 083-338 door Deetrein
Vandaag om 12:41:25
BNLS-Module: "Rvbr-Btk, Ringvaartbrug Haarlemmermeer nabij Buitenkaag" NS H0 door nighttrain1
Vandaag om 12:37:54
Raadplaatje door Modellbahnwagen
Vandaag om 12:36:17
Piko RRF 102 Driepuntsverlichting door Fritsprt
Vandaag om 12:19:25
Cranicher Altbahn door Hans Grasmaijer
Vandaag om 12:10:46
  

Auteur Topic: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie  (gelezen 7053 keer)

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1100
    • El Carrilet
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #75 Gepost op: 19 juni 2018, 21:42:49 »
Code deel 2 (was te lang om in 1x te plakken):

// -------------------------------------------------------------------------------------
//
//  A simple class that represents a complete AHOB with all its leds and two servos
//  for moving the arms
//
//  TBD, the sound of the bells
//
class AHOB
{
  private:
    SingleRedLed *redLight;
    SingleWhiteLed *whiteLight;
    ArmServo  *arm1;
    ArmServo  *arm2;
    AkiStaat state = uit;

  public:
    //
    //  Create an instance of the AHOB, using the specified Led and ArmServo objects
    //
    AHOB(SingleWhiteLed *aWhiteLed, SingleRedLed *aRedLed, ArmServo *aServo1, ArmServo *aServo2)
    {
      redLight   = aRedLed;
      whiteLight = aWhiteLed;
      arm1 = aServo1;
      arm2 = aServo2;
      state = uit;
      //
      //  AHOB is veilig, dus armen omhoog, roodlicht uit, wit licht aan
      //
      arm1->hoog();
      arm2->hoog();
      redLight->setOn(false);
      whiteLight->setOn(true);
    }
    //
    //  Activate the connected leds and arm servos. TBD: the sound
    //
    void heartBeat()
    {
      if (arm1->isHoog() && arm2->isHoog())
      {
        redLight->setOn(false); // Als de armen omhoog staan mag het rode licht niet branden
        whiteLight->setOn(true); // armen omhoog = wit licht aan
      }
      redLight->heartBeat();
      whiteLight->heartBeat();
      arm1->stepServo();
      arm2->stepServo();
    }

    void set(AkiStaat aState)
    {
#if (DEBUG)
      if (state != aState)
      {
        Serial.print("[AKI::set]");
        if (aState == uit)
          Serial.println(" uit");
        else
          Serial.println(" aan");
      }
#endif
      state = aState;
      if (state == uit)
      {
        //
        //  AHOB is open, dus roodlicht uit, witlicht aan en armen omhoog
        //
        arm1->hoog();
        arm2->hoog();
        whiteLight->setOn(true);
      }
      else
      {
        //
        //  AHOB is dicht, dus witlicht uit, roodlicht aan en armen omlaag
        //
        whiteLight->setOn(false);
        redLight->setOn(true);
        arm1->laag();
        arm2->laag(); 
      }
    }
};
//
// ------------------------------------------------------------------------------------------------------
//
//  Some sensors use a digital signal and keep it high when not active and drop the signal
//  when the sensor trips, use in that case the "laag" setting.
//  Others use a digital signal and are low when not active and make the signal high when the sensor trips,
//  use the "hoog" setting in that case.
//   
//  If the sensor does not generate a digital signal, you have to use a pullup resistor
//  (or INPUT_PULLUP) and in that case specify "hoog".
//
//  The Flying Fish proximity detectors, when used in reflective mode, need the "laag" setting,
//  when their sensors are removed and positioned opposit each other, they need the "hoog" setting
//
// -----------------------------------------------------------------
//  A simple class which represents the state of a single sensor
//
class Sensor
{
  private:
    int sensorPin;
    SensorTrigger type = hoog;    // of laag, zie boven
    bool state = false;           // true = on, false = off
    unsigned long lastTime = 0;   // Timer to ignore short interrupts
    const int JITTER_TIME = 1000; // wait a second before the sensor goes off

  public:
    //
    //  Create a new instance
    //
    Sensor(int aPin)
    {
      sensorPin = aPin;
      pinMode(sensorPin, INPUT_PULLUP);
    }
    //
    //  Create a new instance
    //
    Sensor(int aPin, SensorTrigger aType)
    {
      sensorPin = aPin;
      type = aType;
      pinMode(sensorPin, INPUT_PULLUP);
    }
    //
    //  Return the current logical state of the sensor
    //
    bool getState()
    {
      return state;
    }
    //
    //  Monitor the physical sensor and update the state accordingly
    //
    void heartBeat()
    {
      if (digitalRead(sensorPin) == HIGH)
      {
        if (type == laag)       // For sensors type laag an high signal means they are in the off state
        {
          if (state != false)   // Process this signal only when the current state is ON
          {
            if (lastTime == 0)
            {
              lastTime = millis();  // start Interval
            }
            else
            {
              unsigned long currTime = millis();
              if ((currTime - lastTime) >= JITTER_TIME)
              {
#if (DEBUG)
                Serial.println("[Sensor::heartBeat] sensor(laag) goes off");
#endif
                state = false;       // sensor goes OFF
                lastTime = 0;        // Reset interval timer
              }
            }
          }
        }
        else
        {
#if (DEBUG)
          if (state != true)
          {
            Serial.println("[Sensor::heartBeat] sensor(hoog) goes on");
          }
#endif
          state = true;        // Sensor goes ON
          lastTime = 0;        // Reset interval timer
        }
      }
      else          // sensorPin  = LOW
      {
        if (type == laag)
        {
#if (DEBUG)
          if (state != true)
          {
            Serial.println("[Sensor::heartBeat] sensor(laag) goes on");
          }
#endif
          state = true;       // Sensor goes ON
          lastTime = 0;        // Reset interval timer;
        }
        else
        {
          if (state != false)   // Process this signal only when the current state is ON
          {
            if (lastTime == 0)
            {
              lastTime = millis();  // start Interval
            }
            else
            {
              unsigned long currTime = millis();
              if ((currTime - lastTime) >= JITTER_TIME)
              {
#if (DEBUG)
                Serial.println("[Sensor::heartBeat] sensor(hoog) goes off");
#endif
                state = false;       // sensor goes OFF
                lastTime = 0;        // Reset interval timer
              }
            }
          }
        }
      }
    }
};
// --------------------------------------------------------------------------------------
//
//  A finite state machine that guards a occupance of a single track
//
class SpoorControl
{
  private:
    Sensor *sensor1;
    Sensor *sensor2;

    SpoorState  state = leeg;

    //
    //  Based on the state of sensor 1 and the current state of the FSM, a new state
    //  is calculated.
    //
    void handleSensor1(bool trigger)
    {
      if (trigger)                      // Sensor 1 is ON
      {
        if (state == leeg)              // If the state is "leeg" it means that a train enters the section
        {
#if (DEBUG)
          Serial.println("[SpoorControl::handleSensor1] state is sensor1komend");
#endif
          state = sensor1komend;        // so set it to state komend
        }
        else if (state == sensor2komend) // if the other sensor tripped first
        {
#if (DEBUG)
          Serial.println("[SpoorControl::handleSensor1] state is sensor1gaand");
#endif
          state = sensor1gaand;          // The train is starting to leave the section
        }
      }
      else
      { // Sensor went OFF
        if (state == sensor1gaand)       // If the train started to leave via sensor 1
        {
#if (DEBUG)
          Serial.println("[SpoorControl::handleSensor1] state is leeg");
#endif
          state = leeg;                  // the section is "leeg"
        }
      }
    }

    //
    //  Based on the state of sensor 2 and the current state of the FSM, a new state
    //  is calculated.
    //
    void handleSensor2(bool trigger)
    {
      if (trigger)                          // Sensor 2 is ON
      {
        if (state == leeg)                  // Is the section "leeg"?
        {
#if (DEBUG)
          Serial.println("[SpoorControl::handleSensor2] state is sensor2komend");
#endif
          state = sensor2komend;            // A Train entered the section via sensor 2
        }
        else if (state == sensor1komend)    // No a train entered the section via the other sensor
        {
#if (DEBUG)
          Serial.println("[SpoorControl::handleSensor2] state is sensor2gaand");
#endif
          state = sensor2gaand;             // Start the leaving process
        }
      }
      else
      {
        if (state == sensor2gaand)          // A train is in the process of leaving
        {
#if (DEBUG)
          Serial.println("[SpoorControl::handleSensor2] state is leeg");
#endif
          state = leeg;                     // Section is empty again
        }
      }
    }
  public:
    //
    // Create an instance with two sensors
    //
    SpoorControl(Sensor *aSensor1, Sensor *aSensor2)
    {
      sensor1 = aSensor1;
      sensor2 = aSensor2;
    }
    //
    //  Get give the sensors a kick and check their state so we can update our own
    //  state.
    //
    void heartBeat()
    {
      sensor1->heartBeat();
      sensor2->heartBeat();

      handleSensor1(sensor1->getState());
      handleSensor2(sensor2->getState());
    }
    //
    // Return the current state of the section
    //
    SpoorState getState()
    {
      return state;
    }
};
// ------------------------------------------------------------------------------------
//
//  Create 2 FSM controling two track sections
//
SpoorControl spoor1(new Sensor(SENSOR1_PIN, laag), new Sensor(SENSOR2_PIN, laag)); // Sensor works reflective
SpoorControl spoor2(new Sensor(SENSOR3_PIN, laag), new Sensor(SENSOR4_PIN, laag));
SingleRedLed roodlicht(LED_RED_PIN, false);
SingleWhiteLed witlicht(LED_WHITE_PIN, false);
ArmServo arm_een (SERVO1_PIN, SERVO1_WACHTTIJD, SERVO1_LAAGPOSITIE, SERVO1_HOOGPOSITIE);
ArmServo arm_twee(SERVO2_PIN, SERVO2_WACHTTIJD, SERVO2_LAAGPOSITIE, SERVO2_HOOGPOSITIE);
//
// Create an instance of the AHOB
//
AHOB ahob(&witlicht, &roodlicht, &arm_een, &arm_twee);
//
// --------------------------------------------------------------------
void setup()
{
#if (DEBUG)
  //Serial.begin(9600);
  Serial.begin(115200);
  while (!Serial);
  Serial.println("Starting");
  Serial.flush();
#endif //DEBUG
}
// ----------------------------------------------
void loop()
{
  spoor1.heartBeat();     // These object must monitor their sensors
  spoor2.heartBeat();     // so they can update their states

  if ((spoor1.getState() == leeg) && (spoor2.getState() == leeg))
  {
    ahob.set(uit);         // Stop sound and flashing red lights
                           // Start flashing white lights
  }
  else
  {
    ahob.set(aan);         // Start flashing red lights and sound
                           // Stop flashing white lights
  }
  ahob.heartBeat();        // Let the AKI update its connected bells and leds
}

// =======================================================================
El Carrilet

Not sent from my Pocketline Swing 380, Xperia Z2, iPhone, C5503, ALE-L21 or SM-G900F using Tapatalk.

MH

meino

  • Offline Offline
  • Berichten: 203
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #76 Gepost op: 19 juni 2018, 22:03:25 »
Het gebruik van const int of #define is meer een kwestie van codering stijl. Ik ben gewend om dat met #define te doen. Een klein voordeel is dat deze geen fysieke ruimte in nemen, wat een const int wel doet. Dat is bij deze schets echter niet relevant. 
Over die witte led, dat was niet wat Koen van plan was te implementeren, wat ik begrepen heb van Koen is dat hij een enkele led wilde gebruiken die uit zich zelf knippert. Vandaar dat je in de kode geen voorzieningen hebt om dat knipperen te doen. De kode is gekopieerd van de AKI schets waar wel een witte led en 2 rode leds gebruikt worden en waar de code voor het knipperen zorgt. Helaas heb ik tijdens het knip en plakwerk niet al het commentaar aangepast.

Groet Meino
A clean desk is a sign of an empty mind

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3185
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #77 Gepost op: 20 juni 2018, 06:45:00 »
Bovendien heeft een AHOB geen witte lampen. Alleen rode om aan te geven dat de bomen sluiten/gesloten zijn.

Groet,


Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

NS264

  • Team forummoderators
  • Offline Offline
  • Berichten: 4924
  • Koen Frijlink
    • Midland
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #78 Gepost op: 20 juni 2018, 08:06:49 »
Goedemorgen,
Ik ben er gisteravond niet aan toe gekomen.

Ik had al begrepen dat Meino's sketch nog aangepast moest worden.
De Led is overigens oranje, dat maakt mij niet zoveel uit.
Kan altijd nog een rode overzetten.

Ik wil jullie vragen nogmaals te kijken naar die controller die ik aangeschaft heb, door de winkel was mij geadviseerd dat je er 2 servo,''s mee kan afstellen, dat lijkt me dan toch wel bruikbaar als buffer tussen de Arduino en de servo's.

Gr Koen.
Kijk eens op Midland Industriebaan, IV
MultiMuis en Arduino Techniek. HO
NewMancavemusic

NS264

  • Team forummoderators
  • Offline Offline
  • Berichten: 4924
  • Koen Frijlink
    • Midland
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #79 Gepost op: 20 juni 2018, 08:32:21 »
Het gaat om dit type: Dual Bridge

En hier in de pdf staat in de handleiding de sketches en specificaties voor gebruik: Pdf .

Lijkt me dat ie best te gebruiken is om die servo's mooi in te stellen.

Gr Koen.

« Laatst bewerkt op: 20 juni 2018, 08:35:43 door NS264 »
Kijk eens op Midland Industriebaan, IV
MultiMuis en Arduino Techniek. HO
NewMancavemusic

HansQ

  • Offline Offline
  • Berichten: 1828
  • Daar waar de rook is, is de kortsluiting...
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #80 Gepost op: 20 juni 2018, 08:43:52 »
Er is geen buffer nodig tussen Arduino en servos. Een stevige 5 volt voeding is wel zeer aan te raden.
Dat ding is een H-brug voor het aansturen van gewone motoren.
Naar de winkel waar ze zeggen dat het bedoeld is voor het aansturen van modelbouw servos zou ik niet meer terug gaan...
HansQ,
spoor N modulebouw, electronica, Selectrix,
RailClub Utrecht N-brigade

NS264

  • Team forummoderators
  • Offline Offline
  • Berichten: 4924
  • Koen Frijlink
    • Midland
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #81 Gepost op: 20 juni 2018, 09:36:51 »
Geen man overboord, dan bewaar ik hem wel.

Ik begrijp dat ik de laatste sketch van Martin moet gebruiken vanavond?

Gr Koen.
Kijk eens op Midland Industriebaan, IV
MultiMuis en Arduino Techniek. HO
NewMancavemusic

meino

  • Offline Offline
  • Berichten: 203
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #82 Gepost op: 20 juni 2018, 10:30:32 »
Koen,

laten we het simpel houden. blijf voorlopig even bij de laatste schets die ik gisteren heb gepubliceerd, Martin heeft een witte led toegevoegd aan de schets die je niet gaat gebruiken.
En verder wat Gerard zegt, blijf de servos gewoon aansluiten rechtstreeks op de arduino.

Groet Meino
A clean desk is a sign of an empty mind

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1100
    • El Carrilet
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #83 Gepost op: 20 juni 2018, 11:20:13 »
Citaat van: gvandersel
Bovendien heeft een AHOB geen witte lampen.
Ik zie het; AKI, AHOB... Het maakt mij allemaal niet uit, als het maar knippert en beweegt...  :)

Citaat van: NS264
... die controller die ik aangeschaft heb, door de winkel was mij geadviseerd  ...
Wij van WC eend... Ik zou een andere winkel zoeken.
Dat type controller gebruik je voor gewone DC motortjes, niet voor servo's. Als je al iets zou willen bufferen zou dat een aparte 5 V voeding zijn voor de servo's.

Citaat
Ik begrijp dat ik de laatste sketch van Martin moet gebruiken vanavond?
Nee dus, hou het bij de laatste van Meino, reactie #74.

« Laatst bewerkt op: 20 juni 2018, 11:23:16 door 72sonett »
El Carrilet

Not sent from my Pocketline Swing 380, Xperia Z2, iPhone, C5503, ALE-L21 or SM-G900F using Tapatalk.

MH

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3185
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #84 Gepost op: 20 juni 2018, 13:54:21 »
Koen,

Mag ik je feliciteren. Je hebt op een na de complete vrijwillige BNLS technische staf in je draadje verzameld. ;D ;D Is mijn een raadsel waarom die ene er nog niet is. Normaal komt hij nog voordat ik bezig ben al met goede adviezen. Hij zal gezien de tijd van het jaar wel op vakantie zijn.

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

NS264

  • Team forummoderators
  • Offline Offline
  • Berichten: 4924
  • Koen Frijlink
    • Midland
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #85 Gepost op: 20 juni 2018, 22:08:54 »
Hoi,

Ik ben ook zeker blij met zulke technische kunde.

Mijn onkunde hierin gaat helemaal terug naar mijn jeugd en kom nu pas tot de ontdekking dat het best te leren is.
Of ik ooit zelf iets kan schrijven of ontwerpen weet ik niet.
Nog een lange weg te gaan.

Ik gok zomaar dat je op Klaas doelt :D.

BTW moest nou ik met de laatste sketch van Meino die groene jumper aanpassen of niet.
Ga nu de nieuwe sketch overzetten.

Gr Koen.
Kijk eens op Midland Industriebaan, IV
MultiMuis en Arduino Techniek. HO
NewMancavemusic

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3185
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #86 Gepost op: 20 juni 2018, 22:20:24 »
Bumper los halen. En na opstarten eerst in A0 doen en dan eruit, vervolgens in A1 doen en eruit.

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

NS264

  • Team forummoderators
  • Offline Offline
  • Berichten: 4924
  • Koen Frijlink
    • Midland
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #87 Gepost op: 20 juni 2018, 23:52:02 »
Ok, en dat werkt. De slagboompjes draaien een halve van een kwartslag ::) en ergens gaan de Led's aan.

Op naar de nieuwe sketch van Meino.

- bij mijn knipperled moet ik nog een pin, volgens mij heet dat een header maken.
   Kwestie van header draadje solderen (?) krimpkous erom?
   Het is heel dun draad.

Gr Koen. ;)
« Laatst bewerkt op: 20 juni 2018, 23:57:40 door NS264 »
Kijk eens op Midland Industriebaan, IV
MultiMuis en Arduino Techniek. HO
NewMancavemusic

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1100
    • El Carrilet
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #88 Gepost op: 21 juni 2018, 00:50:28 »
Citaat van: NS264
... De slagboompjes draaien een halve van een kwartslag
In het programma staan o.a. de regels

#define SERVO1_LAAGPOSITIE 45   // Positie arm in laag stand
#define SERVO1_HOOGPOSITIE 100  // Positie arm in hoog stand

De waarde 45 en 100 is de hoek (in graden) waar de servo naar toe draait in de uiterste standen, De servo verdraait dus over 100° - 45° = 55°
Nadat de boel ingebouwd is, kun je de slag afstellen door die waarden te veranderen (en opnieuw compileren en uploaden).
El Carrilet

Not sent from my Pocketline Swing 380, Xperia Z2, iPhone, C5503, ALE-L21 or SM-G900F using Tapatalk.

MH

NS264

  • Team forummoderators
  • Offline Offline
  • Berichten: 4924
  • Koen Frijlink
    • Midland
Re: Arduino Mega 2560, voor spoorwegoverweg met fotocellendetectie
« Reactie #89 Gepost op: 21 juni 2018, 01:05:28 »
Hoi,

Even onduidelijk welke sketch ik moet gebruiken die laatste van Meino of de aangepaste van Martin, beide geven foutmeldingen.
Bij de twee van Martin gaat er ongetwijfeld iets mis bij het plaatsen in 1 opslag.

Concentratieverlies, ga er een nachtje over slapen.

Gr Koen.
Kijk eens op Midland Industriebaan, IV
MultiMuis en Arduino Techniek. HO
NewMancavemusic