Externe puls Arduino Uno

Hallo allemaal,

Zoals een ieder kan zien ben ik hier nieuw en heb ik een probleem/uitdaging.
Ik had op Facebook iets gezien en ja dat is mooi.
Ik wilde dat ook hebben, dus bij Ali Arduinos Unos besteld en displays.
Sketch file wist ik ook te bemachtigen en beeld/informatie krijg ik op me display.
Ik wilde een sationsbord maken voor bij de modelbaan.
Dit werkt, maar de sketch file heeft 2 scenarios.
1standaard scenario en de andere door middel van coomando met de pc te activeren.
Dit is nu net niet wat ik wil.
Ik wil dat het stationsbord verspringt als de trein het statio binnen komt gereden.
Dit doormiddel van een puls(lichtsluis/reedrelais/stroomdetectie/etc....)
Hoe kan ik mijn arduino zover krijgen dat dit gaat werken?
Zal de sketchfile erbi zetten.

Alvast hartelijk dank.

04_UNO_ns_info_board_v1_1.ino (1.91 KB)

Hoi,

Eigenlijk is dit een forum voor hulp, niet om code te laten aanpassen. Maar daar dit niet zo moeilijk is, je hier hopelijk van leert en het modelspoor betreft :wink:

Iets als:

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Bounce2.h>

const byte DisplayWidth = 128; // OLED display width, in pixels
const byte DisplayHeight = 64; // OLED display height, in pixels
const byte DisplayResetPin = 4;

const byte InputPin = 5; //Whatever pin you like to use
const byte DisplayAddress = 0x3C;

Adafruit_SSD1306 display(DisplayWidth, DisplayHeight, &Wire, DisplayResetPin);
Bounce input;

void setup()   {                
  display.begin(SSD1306_SWITCHCAPVCC, DisplayAddress);
  input.attach(InputPin, INPUT_PULLUP);
}

void loop(){
  if(input.update()){
    display.clearDisplay();             // clears the screen and buffer

    display.setTextSize(2);
    display.setTextColor(BLACK, WHITE); // 'inverted' text
    display.setCursor(0,0);

    display.println(" Van Gogh  ");
    
    //change to .rose() if screens are inverted
    if(input.fell()){
      display.setTextSize(1);
      display.setTextColor(WHITE);
      display.println("1A 14:02 Helmond");
      display.println("");
      display.println("1A 14:10 Eindhoven");
      display.println("   +2min vertraging");
      display.println("2A 14:12 Den Bosch");
    }
    else{
      display.setTextSize(1);
      display.setTextColor(WHITE);
      display.println("1A 14:10 Eindhoven");
      display.println("   +2min vertraging");
      display.println("2A 14:12 Den Bosch");
      display.println("");
      display.println("1A 14:20 Tilburg");
    }
    display.display();
  }
}

Zou moeten werken.

Let wel, niet meest optimale code maar boeit niet als dit de enige taak is. Ook zou ik zelf liever U8G2 gebruiken ipv de Adafruit library.

Goedendag,

Ik vroeg niet om de code aan te passen, ik vroeg om hulp.
Ben een Noob wat betreft de Arduino meuk. ik zag dit op Facebook voorbijkomen en ja vondt he wel grappig. Dus mijn eerste gestoei om het werkend te krijgen was al iets.

Dat je de code hebt aangepast vindt ik alleen al super. kan hem nu langs elkaar leggen en kijken wat het verschil is en wat hiervoor nodig is.
Hartelijk dank hiervoor.
Ik ga der mee aan de slag.

mvgr,
Freddy

Zie dat ik vergeten ben te melden dat ik de Bounce2 library heb gebruikt. Deze is te vinden in de library manager.

Grootste wat ik gedaan heb is:

  • alles rond serieel eruit
  • alleen iets naar het scherm sturen als de ingang veranderde
  • en dan het juiste sturen naar gelang de ingang hoog (rose) of aag (fell) werd.

Daarnaast de macro's (#define) vervangen door betere alternatieven.

shit ik heb de trein van shertogenbosch naar eindhoven gemist, ofwel ik kom graag een keer kijken hoor, naar de treintjes en zo.