Het bouwen van een rolbrug van een oude printer of scanner voor de modelbaan in schaal HO

Iedereen kent het wel, elke paar jaar stopt je scanner printereenheid ermee omdat de kop of inktkanalen verstopt zijn. Soms is dit op te lossen maar vaak is het einde levensduur van de printer. Mechanisch mankeren ze echter meestal niets. Na verloop van tijd heb je een hele stapel naar de stort gebracht. Zonde. Want er is een perfecte rolbrug van te maken om je locomotieven zijdelings weg te zetten. Nu balen er natuurlijk een paar mensen dat ze net hun printer hebben weggegooid. Zelf heb ik een rolbrug gebouwd van zowel een scanner als een printer. De printer is mechanisch steviger dus daar ben ik mee doorgegaan. De positiebepaling heb ik gemaakt met een oude deurbel. De pen die normaal de bel laat rinkelen wordt nu gebruikt om de rolbrug op de juiste positie te fixeren. Eerst heb ik dit geprobeerd met microswitches maar dit bleek te onnauwkeurig te zijn. Een mm onjuiste positie betekent namelijk al een ontspoorde locomotief. De elektrische verbindingen naar de rail op de brug, naar de spoel van de bel, en het contact van de bel zijn gemaakt met de uit de scanner gesloopte die naar de scankop liep. De rollen van de rolbrug zijn gemaakt van de rollen van het papiertransport.

Note: Onderstaande mechanische aandrijving is vervangen door een aandrijving met een Arduino Uno met encoderschijf en afstandsbediening. Zie verderop het artikel, "Nieuwe besturing met een Arduino Uno en Afstandsbediening".

Werkwijze

Dit is geen gedetailleerde bouwbeschrijving maar een handleiding om je op weg te helpen. Allereerst sloop je de hele printereenheid. Gooi nog niets weg want je hebt straks nog wat onderdelen nodig, bijvoorbeeld de connectors waar de flatcable in is gestoken en mogelijk nog wat schroeven. Op onderstaande foto is te zien dat de scanner die boven de printer zat is gedemonteerd. Met een beetje pech zit je na de demontage wel helemaal onder de inkt want er wil nog wel eens wat lekken. Oppassen dus !!! Je hebt nu een scanner deel, onder op de foto, en een printer deel, boven op de foto. Beide zijn bruikbaar maar de printer is steviger gebouwd dus heeft de voorkeur.

Printer en Scanner

Onderstaande is wat je over moet houden nadat je de eenheid hebt gesloopt.

Printer Scanner gedemonteerd

De deurbel voor de positiebepaling wordt nu in de printkop gemonteerd. Hier moest een stuk worden afgezaagd om hem passend te maken. Het monteren gaat het makkelijkst met een dot lijm uit het lijmpistool. Zie onderstaande foto. Het contact in de bel is een breekcontact, dat moet worden veranderd in een maakcontact. De pin die de bel doet rinkelen moet hiervoor worden omgedraaid. Hierdoor wordt het breekcontact automatisch een maakcontact. De pen is duidelijk te zien op de foto.

Deurbel spoel

Voor de printkop langs monteer je een aluminium hoeklijn van 1 cm over de gehele breedte die de kop aflegt. Deze moet stevig worden gemonteerd. Elke beweging die de hoeklijn kan maken maakt positioneren onnauwkeuriger. In deze hoeklijn boor je de gaten waar de pin van de deurbel in moet vallen. Dit is duidelijk te zien in de volgende video. Youtube video

Dit is een zeer nauwkeurig klusje. Het gat mag niet meer dan een tiende mm groter zijn dan de pin dik is. Bij een te klein gat gaat de pin klemmen, bij een te groot gat is de positionering onnauwkeurig. De afstand tussen de gaten is de spoorafstand van de opstelsporen, zelf heb ik 6,3 cm gebruikt omdat dit een hartafstand is bij de Fleischmann Profirails geometrie.

Het schuifdeel, dus de rolbrug zelf wordt op de printkop gemonteerd met een stevige stalen hoeklijn. Wanneer deze niet stevig genoeg is gaat straks de rolbrug doorbuigen wanneer er een zware locomotief op rijdt. Dit wordt wel opgevangen door de rollen van de rolbrug maar stevig is altijd beter. Op bovenstaande foto is boven de bel deze hoeklijn te zien. Deze wordt aan de zijkant van de printkop gemonteerd met 2 stuks M4 schroeven. De bodem van de rolbrug kan worden gemaakt uit Polycarbonaat plaat plaat die bij Conrad is te bestellen. Dit materiaal is bijzonder gemakkelijk te bewerken. De zijkanten, dit is de reling, zijn voorzien van dezelfde hoeklijn als die voor de positiebepaling. Hier komt later nog een hek op. In de printer zitten diverse rollen om het papier te transporteren, deze zijn perfect bruikbaar als de rollen waarmee de rolbrug zich verplaatst en als ondersteuning hiervan. Deze rollen en reling zijn goed te zien op de laatste foto.

Om de verbindingen te maken naar de schakelaar in de kop, de deurbel spoel, en naar de rails op de rolbrug moet de flatcable worden gebruikt die al aan de printkop zit, of zoals ik heb gedaan die van de scanner gebruikt. Zie onderstaand schema voor de verbindingen. Op zich is de besturing vrij eenvoudig.

Schema

De reden dat ik de flatcable van de scanner heb gebruikt was dat die van de printer helemaal onder de inkt zat en nog nauwelijks schoon te krijgen was. Deze flatcable loopt mooi soepel met de kop mee en heeft een lange levensduur. Deze flatcable heeft speciale connectors. Die zitten op de printplaten. Om ze te gebruiken moeten ze uit de printplaten worden gedesoldeerd. Echter dit is niet altijd mogelijk. Zelf heb ik ze uit de printplaat geslepen door ruim om de connector heen te slijpen, vervolgens heb ik ze los met draadjes aangesloten op de soldeereilandjes van de printplaat. De body van de printplaat die nog aan de connector zit heb ik gebruikt om ze mee vast te zetten. Een aantal verbindingen moet nu naar buiten worden uitgevoerd voor de externe voedingen en de schakelaars. Daartoe kun je de draadjes vanaf de flatcable connector aansluiten op een kroonsteentje.

Dan moet het geheel nog worden getest. Het moet nu zo werken dat wanneer je de drukknop indrukt de pin van de deurbel naar binnen wordt getrokken. Deze zal het maakcontact indrukken die vervolgens de transportmotor laat lopen. De richting wordt bepaald door de omschakelaar. Hierna laat je de drukknop los. De pin van de deurbel kan niet meer in een gat vallen omdat de brug nu onderweg is. Omdat de pin niet meer in het gat kan vallen blijft ook het maakcontact van de deurbel ingedrukt (=contact maken). Hierdoor blijft de transportmotor lopen. Zodra de pin van de deurbel een gat tegenkomt zal deze daar in vallen. Het maakcontact wordt verbroken en de motor stopt exact op de plek waar het opstelspoor ligt. Het is zaak de transportmotor niet te snel te laten lopen anders loopt de pin van de deurbel vast in een gat. Dit wordt veroorzaakt doordat de motor dan niet snel genoeg stopt en daardoor de pen die al in het gat zat verder wordt geduwd maar dit niet kan en de zaak loopt vast. Maar goed in werkelijkheid loopt een rolbrug ook zeer langzaam. Mocht de motor niet gaan lopen bij het indrukken van de drukknop dan moet mogelijk het maakcontact zover worden gebogen dat deze goed contact maakt. Stopt de motor niet wanneer de pin in een gaatje valt dan moet ook het contact zo worden afgesteld dat dit wel het geval is.

Om te voorkomen dat de rolbrug na zijn laatste positie nog doorloopt dan kan als beveiliging aan beide zijden nog een microswitch worden geplaatst die de stroom naar de motor onderbreekt. Dit is om vastlopen aan het eind te voorkomen. Maar strikt noodzakelijk is dit niet als je weet dat je de rijrichting na de laatste positie moet omkeren zodat de brug weer terugrolt.

De beplating en de rolbrug zijn bespoten met grijze verf van de Action. Met Vallejo roest zijn nog wat roest plekken aangebracht. Als alles naar behoren werkt kan de beplating van de rolbrug er op. De beplating van de rolbrug is gemaakt van restanten laminaat. Dit wordt vanaf de onderzijde geschroefd zodat er nergens lelijke schroeven zijn te zien. Zie onderstaande foto en de video van de nog ongespoten rolbrug Youtube video

Na het verven is het geheel klaar om in de treintafel te worden gemonteerd. Hiervoor hoeft alleen maar een gat met de juiste afmeting te worden gezaagd en de brug kan er dan van onder of boven af in worden gemonteerd. De hoogte instelling is een nauwkeurig klusje want de rails moeten natuurlijk exact aansluiten anders volgen er onherroepelijk ontsporingen. Wat ook wel handig is om de rails aan de binnenkant een heel klein beetje schuin te vijlen. Dit geleid de wielen een beetje mocht de rail toch niet exact aansluiten. De brug heeft 5 stopposities. Dat betekent dat er 10 rails kunnen worden aangesloten. Je hebt er dus 9 opstelsporen bij gekregen met 1 aanrijspoor. Op een kleine oppervlakte kun je nu dus 9 locomotieven parkeren.

Rolbrug grijs

Note: Deze video is nog van de scanner eenheid zonder positiebepaling, dit is hem dus niet geworden vanwege dat alles plastic is en eigenlijk iets te slap maar wel bruikbaar: Youtube video

Benodigd Materiaal:

Printereenheid. Een aluminium hoeklijn van 1 cm. Lengte is de afstand waarover de printkop zich verplaatst. Een stalen hoeklijn om de rolbrug op te monteren. Aluminium hoeklijn van 1 cm als reling langs de rolbrug. Polycarbonaatplaat als bodem van de rolbrug. Een 5 Volt gelijkspanningsvoeding om de belspoel te bekrachtigen, en een voeding voor de transportmotor. Dat is nu nog het regelgedeelte van een treintransformator maar dat wordt straks ook een vaste voeding met een regelbare spanning. De spanning welke nodig is wordt bepaald door de snelheid waarmee de rolbrug moet lopen. Dit moet proefondervindelijk worden vastgesteld.

 

Deze Pulsbreedte regelaar is uitermate geschikt om de transportmotor aan te sturen en kost nog geen €1,-

Verder is het nodig om een draairichtingschakelaar aan te schaffen, dit is een 2 x om schakelaar die de polariteit van de rolbrug motor omdraait, en een druktoets met maakcontact om de brug te starten.

Een kroonsteen met meerdere aansluitingen om alle draden netjes aan te sluiten.

Verder heb je nog wat draad nodig om alle verbindingen te maken.

Wat ook nog een uitdaging kan zijn is onderdelen van de printer gebruiken waarmee voorheen de printerkop werd bestuurd, om daar nu de brug mee te positioneren. Dit kan op verschillende manieren. De scanner is voorzien van een pulsgever en de printer is voorzien van een soort lint waarmee de positie wordt bepaald. Door nu een schakeling te kopen of te ontwerpen die pulsen kan tellen kun je de rolbrug zeer nauwkeurig laten stoppen. De printer zet namelijk nooit een dot verkeerd.

Een andere mogelijkheid is de stuurelektronica in takt te laten en via software de printerkop aan te sturen. Het ombouwen met een bel vervalt dan. Dit is echter voor mij nu nog een (rol)brug te ver.

Rolbrug in bedrijf:

De rolbrug is inmiddels vol in bedrijf, zie filmpje: http://youtu.be/j4GGEch97vY

Voor wie de rolbrug zelf willen bouwen nog een paar tips:

Ik heb om de rolbrug zeer langzaam te kunnen laten draaien zelf nog een vertraging gemaakt. De originele motor drijft de brug direct aan zonder vertraging, hij kon wel langzaam lopen maar ik vond dit toch net iets te snel.

Een vertraging maak je bijvoorbeeld met deze Tandwielset

Ik gebruik altijd polycarbonaat plaat omdat dit zo gemakkelijk te bewerken is. Ik heb hier de asjes in gemonteerd en hier op de tandwielen. De motor is gelijmd. Omdat het tandwiel niet van de originele motor af wilde, ook niet met grof geweld, heb ik die laten zitten, deze draait nog gewoon mee. Achteraf had dit zelfs een voordeel. Door de nieuw aangebrachte grote vertraging loopt de nieuwe motor nu met een hoger toerental. Het nadeel is dat hij nu een langere nalooptijd heeft waardoor de brug iets te laat stopt. Door de remmende werking van de originele motor stopt de brug weer exact. Elk nadeel heeft dus zijn voordeel. Het snel stoppen van de motor kan overigens ook worden opgelost door een relaiscontact de motor te laten kortsluiten, hierdoor stopt hij ook abrupt en zal niet doorschieten.

Motor aandrijving

De originele motor is blijven zitten.

Tandwielkast

De extra gebouwde vertraging.

Nieuwe besturing met een Arduino Uno en Afstandsbediening

De mechanische bediening werkte jaren lang perfect maar het bloed kruipt waar het niet gaan kan en moest de rolbrug worden geautomatiseerd. Ook had ik de wens deze met een afstandsbediening te bedienen.

Hier vind je de diverse Arduino's 

Zelf heb ik deze starterskit gebruikt: Arduino Uno met afstandsbediening. Hier zit alles in behalve de lichtsluis met encoder, die moet je dus nog apart kopen maar die kosten nog geen €2,- Je kunt heel erg veel projecten maken met deze set, aangezien ik maar een paar onderdelen hiervan nodig had is er veel overgebleven voor toekomstige projecten. Hiervoor heb ik een nieuwe set besteld met WiFi voor het Internet of Things. (IoT). Met dit project wil ik dingen in huis op afstand gaan bedienen maar ook temperatuur, vochtigheid en luchtkwaliteit meten.

Maar nu verder met de rolbrug.

Ik was begonnen met een stappenmotor die bij de set was geleverd. Helaas was deze te zwak om de hele brug in beweging te zetten. Ik heb het toen omgedraaid en heb in plaats van stappen sturen gekozen voor stappen meten met een encoderschijf en een lichtsluis. Dus het meten van het aantal pulsen om de brug naar de juiste positie te sturen. Ik ben de oude defecte printer blijven gebruiken. Echter op AliExpress zijn hele goedkope aandrijvingen van rond de €30,- te vinden die ook perfect geschikt zijn om zelf een rolbrug te bouwen. Zie deze link: Rolbrug aandrijving en het plaatje hier onder.

Werkwijze: Ik heb het oude mechaniek er uitgesloopt. De gelijkstroommotor heb ik vervangen door een zwaardere die ook een stuk stiller bleek. Op de as van deze motor heb ik de encoder schijf gemonteerd en met een beugeltje de lichtsluis die om de encoderschijf wordt geplaatst. De lichtsluis is te bestellen bij Conrad of een compleet setje bij AliExpress.

Onderstaand is het setje waar ik mee ben begonnen. Alles zit er bij. Inclusief een complete cursus, datasheets, en de prgramma's zelf.

 

Zo wordt de Encoderschijf op de motor as gemonteerd. De lichtsluis zit met een beugeltje bevestigd zodanig dat de encoderschijf er exact tussen door draait. Bij een volledige verplaatsing worden er 46240 pulsen geteld. Dit betekent een nauwkeurigheid van plaatsing van 5,5 micron.

Zie hier de Rolbrug testopstelling op Youtube.

En de Rolbrug weer ingebouwd op de modelbaan, zie deze video op Youtube.

Het schema zoals de diverse pinnen zijn aangesloten. Eigenlijk best eenvoudig toch.

Voor de geïnteresserden heb ik onderstaand het programma afgedrukt:

// 02022023
// Aansturen van een rolbrug met 5 sporen
// Altijd starten en afsluiten vanaf spoor1

//#include <EEPROM.h>
#include "IRremote.h"
#define ENABLE 5
#define DIRA 3
#define DIRB 4

const int input = 9; // Hier is de puls op aangesloten

int receiver = 12; // Hier is de IR sensor op aangesloten

int ledPin = 6; // Hier is de Led op aangesloten

long spoor1 = 0; //Aantal stappen vanaf de NUL positie. Dus de plaatsbepaling in stappen.
long spoor2 = 11450;
long spoor3 = 23020;
long spoor4 = 34670;
long spoor5 = 46240;
int test = 0;
long laatstePositie = 0;
long deltaStep = 0;
long nieuwePositie = 0;
long pulse = 0;
int var = 0;
int afstand = 1000;
int remPos = 0; //Positie wanneer snelheid omlaag moet
int snelheid = 95; //Motorsnelheid

IRrecv irrecv(receiver);    // create instance of 'irrecv'
decode_results results;     // create instance of 'decode_results'
void setup()
{
  irrecv.enableIRIn(); // Start the receiver

  // initialize the serial port:
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
  //---set pin direction
  pinMode(ENABLE,OUTPUT);
  pinMode(DIRA,OUTPUT);
  pinMode(DIRB,OUTPUT);
  pinMode(input, INPUT);
}

void loop()
{  
 
    if (irrecv.decode(&results)) // have we received an IR signal?
       
    {
      switch(results.value)
     
      {

      case 0xFFA857: // VOL+ button pressed FF629D Calibreren
                     
                      digitalWrite(ENABLE,HIGH); // enable on
                      analogWrite(ENABLE,snelheid); //enable on
                      digitalWrite(DIRA,LOW);  //reverse
                      digitalWrite(DIRB,HIGH);
                      delay(afstand); //Calibratieafstand
                      //Stop de motor
                      digitalWrite(ENABLE,LOW); //slow stop
                      break;
                         
      case 0xFF629D: // VOL- button pressed FFA857 Calibreren
                                           
                      digitalWrite(ENABLE,HIGH); // enable on
                      analogWrite(ENABLE,snelheid); //enable on    
                      digitalWrite(DIRA,HIGH); //one way
                      digitalWrite(DIRB,LOW);
                      delay(afstand); //Calibratieafstand
                      //Stop de motor
                      digitalWrite(ENABLE,LOW); //slow stop
                      break;

      case 0xFF906F: // ^ button pressed FF906F Calibratiesnelheid instellen voor grotere stappen
                      //Serial.println("Toets ^ is gedrukt");                    
                      afstand = 2000;
                      delay(100);
                      break;

      case 0xFFE01F: // V button pressed FFE01F Calibratiesnelheid instellen op kleine stapjes
                      //Serial.println("Toets v is gedrukt");                    
                      afstand = 40;
                      delay(100);
                      break;

      case 0xFF30CF:  // Toets 1 is gedrukt
                      //spoor1
                      //Serial.println("Toets 1 is gedrukt");
                      deltaStep = spoor1 - laatstePositie;

                      digitalWrite(ledPin, HIGH);

                      // Start de Motor

                      //Draairichting bepalen. Is deltaStep negatief dan draairichting omdraaien
                      if (deltaStep <0)
                             {
                               digitalWrite(ENABLE,HIGH); // enable on
                               analogWrite(ENABLE,snelheid); //Stel motorsnelheid in
                               digitalWrite(DIRA,LOW);  //reverse
                               digitalWrite(DIRB,HIGH);
                             }
                                           
                      if (deltaStep >0)
                             {                        
                              digitalWrite(ENABLE,HIGH); // enable on
                              analogWrite(ENABLE,snelheid); //enable on    
                              digitalWrite(DIRA,HIGH); //one way
                              digitalWrite(DIRB,LOW);
                             }
                                           
                      //Meet het aantal pulsen van de opnemer
                                             
                       do
                      {                                    
                      if(digitalRead(input) > var)
                        {                        
                           var = 1;
                           pulse++;                                    
                        }
                        if(digitalRead(input) == 0) {var = 0;}
                      }
                      while (pulse < abs(deltaStep));
                     
                      //Stop dan de motor
                      digitalWrite(ENABLE,LOW); //slow stop
                      pulse = 0;
                                                                               
                      laatstePositie = spoor1;
                      digitalWrite(ledPin, LOW);
                      //delay(100);
                      break;

      case 0xFF18E7:  // Toets 2 is gedrukt
                      //spoor2
                      //Serial.println("Toets 2 is gedrukt");
                      deltaStep = spoor2 - laatstePositie;
                      digitalWrite(ledPin, HIGH);

                      // Start de Motor

                      //Draairichting bepalen. Is deltaStep negatief dan draairichting omdraaien

                      if (deltaStep <0)
                      {
                        digitalWrite(ENABLE,HIGH); // enable on
                        analogWrite(ENABLE,snelheid); //enable on
                        digitalWrite(DIRA,LOW);  //reverse
                        digitalWrite(DIRB,HIGH);
                      }
                                           
                      if (deltaStep >0)
                      {                      
                        digitalWrite(ENABLE,HIGH); // enable on
                        analogWrite(ENABLE,snelheid); //enable on    
                        digitalWrite(DIRA,HIGH); //one way
                        digitalWrite(DIRB,LOW);
                      }
                     
                      //if (deltaStep == 0) {break;} //Niet uitvoeren bij toets 2 indrukken wanneer hij al op spoor 2 staat

                      //Meet het aantal pulsen van de opnemer

                      do
                      {                                    
                      if(digitalRead(input) > var)
                        {                        
                           var = 1;
                           pulse++;                                    
                        }
                        if(digitalRead(input) == 0) {var = 0;}
                      }
                      while (pulse < abs(deltaStep));
                     
                      //Stop dan de motor
                      digitalWrite(ENABLE,LOW); //slow stop
                      pulse = 0;
                                                                                 
                      laatstePositie = spoor2;
                     
                      digitalWrite(ledPin, LOW);
                      //delay(100);
                      break;

      case 0xFF7A85:  // Toets 3 is gedrukt
                      //spoor1
                      //Serial.println("Toets 3 is gedrukt");
                      deltaStep = spoor3 - laatstePositie;
                      digitalWrite(ledPin, HIGH);

                      // Start de Motor

                      //Draairichting bepalen. Is deltaStep negatief dan draairichting omdraaien

                      if (deltaStep <0)
                      {
                        digitalWrite(ENABLE,HIGH); // enable on
                        analogWrite(ENABLE,snelheid); //enable on
                        digitalWrite(DIRA,LOW);  //reverse
                        digitalWrite(DIRB,HIGH);
                      }
                                           
                      if (deltaStep >0)
                      {                      
                        digitalWrite(ENABLE,HIGH); // enable on
                        analogWrite(ENABLE,snelheid); //enable on    
                        digitalWrite(DIRA,HIGH); //one way
                        digitalWrite(DIRB,LOW);
                      }
                     
                      //Meet het aantal pulsen van de opnemer
                     
                      do
                      {
                      //if (deltaStep == 0) {break;} //Niet uitvoeren bij toets 3 indrukken wanneer hij al op spoor 3 staat                              
                      if(digitalRead(input) > var)
                        {                        
                           var = 1;
                           pulse++;          
                        }
                        if(digitalRead(input) == 0) {var = 0;}
                      }
                      while (pulse < abs(deltaStep));
                     
                      //Stop dan de motor
                      digitalWrite(ENABLE,LOW); //slow stop
                      pulse = 0;
                                                                                 
                      laatstePositie = spoor3;
                     
                      digitalWrite(ledPin, LOW);
                      //delay(100);
                      break;
     
      case 0xFF10EF:  // Toets 4 is gedrukt
                      //spoor4
                      //Serial.println("Toets 4 is gedrukt");
                      deltaStep = spoor4 - laatstePositie;
                      digitalWrite(ledPin, HIGH);

                      // Start de Motor

                      //Draairichting bepalen. Is deltaStep negatief dan draairichting omdraaien
                     
                      if (deltaStep <0)
                      {
                        digitalWrite(ENABLE,HIGH); // enable on
                        analogWrite(ENABLE,snelheid); //enable on
                        digitalWrite(DIRA,LOW);  //reverse
                        digitalWrite(DIRB,HIGH);
                      }
                                           
                      if (deltaStep >0)
                      {
                        digitalWrite(ENABLE,HIGH); // enable on
                        analogWrite(ENABLE,snelheid); //enable on    
                        digitalWrite(DIRA,HIGH); //one way
                        digitalWrite(DIRB,LOW);
                      }
                     
                      //Meet het aantal pulsen van de opnemer
                      Serial.println(deltaStep);
                      do
                      {                                              
                      if(digitalRead(input) > var)
                        {                        
                           var = 1;
                           pulse++;              
                        }
                        if(digitalRead(input) == 0) {var = 0;}
                      }
                      while (pulse < abs(deltaStep));
                     
                      //Stop dan de motor
                      digitalWrite(ENABLE,LOW); //slow stop
                      pulse = 0;
                                                                                 
                      laatstePositie = spoor4;
                     
                      digitalWrite(ledPin, LOW);
                      //delay(100);
                      break;

      case 0xFF38C7:  // Toets 5 is gedrukt
                      //spoor5
                      //Serial.println("Toets 5 is gedrukt");
                      deltaStep = spoor5 - laatstePositie;
                      digitalWrite(ledPin, HIGH);

                      // Start de Motor

                      //Draairichting bepalen. Is deltaStep negatief dan draairichting omdraaien
                     
                      if (deltaStep <0)
                      {
                        digitalWrite(ENABLE,HIGH); // enable on
                        analogWrite(ENABLE,snelheid); //enable on
                        digitalWrite(DIRA,LOW);  //reverse
                        digitalWrite(DIRB,HIGH);
                      }
                                           
                      if (deltaStep >0)
                      {
                       
                        digitalWrite(ENABLE,HIGH); // enable on
                        analogWrite(ENABLE,snelheid); //enable on    
                        digitalWrite(DIRA,HIGH); //one way
                        digitalWrite(DIRB,LOW);
                      }
                     
                      //Meet het aantal pulsen van de opnemer
                     
                     do
                      {                                                
                      if(digitalRead(input) > var)
                        {                        
                           var = 1;
                           pulse++;            
                        }
                        if(digitalRead(input) == 0) {var = 0;}
                      }
                      while (pulse < abs(deltaStep));
                     
                      //Stop dan de motor
                      digitalWrite(ENABLE,LOW); //slow stop
                      pulse = 0;                                                                              
                     
                      laatstePositie = spoor5;
                     
                      digitalWrite(ledPin, LOW);
                      //delay(100);
                      break;          
                   
      }
      irrecv.resume(); // receive the next value
                 //digitalWrite(8, LOW); Bij problemen deze regels weer terugzetten
                 //digitalWrite(9, LOW);
                 //digitalWrite(10, LOW);
                 //digitalWrite(11, LOW);
    }
}

 

Kijk ook eens op AliExpress voor zeer veel voordelige Componenten, Lichtmasten, Led strips, Modelbaan, Audio, en Elektronica artikelen. Gratis verzending, Niet ontvangen geld terug. Instructies hoe te bestellen bij AliExpress