Problem Coding Internal Pull Up resistors


i have program controls lights of trailer.  right button inputs looking +5v , because floating, causing problems project.  modify existing set ground , use internal pull resistors, every time rework it, doesn't work.  appreciate help.

code: [select]
#define reverse 2
#define left 3
#define right 4
#define runing 5
#define fbutton 6
#define rbutton 7
#define hbutton 8
#define sbutton 12
#define tbutton 9
#define led 13


int button1state = 0;
int button2state = 0;
int button3state = 0;
int button4state = 0;
int button5state = 0;


void setup() {

  pinmode ( reverse , output ) ;
  pinmode ( left , output ) ;
  pinmode ( right , output ) ;
  pinmode ( runing , output ) ;
  pinmode ( led , output ) ;
  pinmode ( tbutton , input ) ;
  pinmode ( fbutton , input ) ;
  pinmode ( rbutton , input ) ;
  pinmode ( hbutton , input ) ;
  pinmode ( sbutton , input ) ;
  digitalwrite ( reverse, high) ;
  digitalwrite( left, high) ;
  digitalwrite ( right, high) ;
  digitalwrite (runing, high) ;
  digitalwrite (led, high);
}

void loop() {


  button1state = digitalread(fbutton);

  if (button1state == high) {
    digitalwrite(right, high);
    digitalwrite(left, high);
    digitalwrite(reverse, high);
    digitalwrite(runing, high);
    digitalwrite(runing, low);
    digitalwrite(left, low);
    digitalwrite(right, low);
    digitalwrite(reverse, low);
    delay(500);
    digitalwrite(right, high);
    digitalwrite(left, high);
    digitalwrite(reverse, high);
    delay(500);
   
  }

  button2state = digitalread(rbutton);

  if (button2state == high) {
      digitalwrite(reverse, high);
      digitalwrite(left, high);
      digitalwrite(right, high);
      digitalwrite(runing, high);
      digitalwrite(runing,low);
  }

  button3state = digitalread(hbutton);

  if (button3state == high) {
    digitalwrite(reverse, high);
      digitalwrite(left, high);
      digitalwrite(right, high);
      digitalwrite(right,low);
      digitalwrite(left,low);
      delay(500);
      digitalwrite(right,high);
      digitalwrite(left,high);
      delay(500);
  }

  button4state = digitalread(sbutton);

  if (button4state == high) {
    digitalwrite(reverse, high);
      digitalwrite(left, high);
      digitalwrite(right, high);
      digitalwrite(runing, high);
      digitalwrite(left,low);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(reverse,high);
      delay(500);
      digitalwrite(left,high);
      digitalwrite(right,high);
      delay(2500);
      digitalwrite(reverse,high);
      delay(250);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(right,high);
      delay(500);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(right,high);
      delay(100);
      digitalwrite(left,low);
      delay(500);
      digitalwrite(left,high);
      delay(500);
      digitalwrite(left,low);
      delay(500);
      digitalwrite(left,high);
      delay(100);
      digitalwrite(left,low);
      digitalwrite(right,low);
      delay(3000);
      digitalwrite(left,high);
      digitalwrite(right,high);
      delay(500);
      digitalwrite(left,low);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(left,high);
      digitalwrite(right,high);
      delay(500);
      digitalwrite(left,low);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(left,high);
      digitalwrite(right,high);
      delay(100);
      digitalwrite(runing,low);
      digitalwrite(left,low);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(reverse,low);
      delay(500);
      digitalwrite(left,high);
      digitalwrite(right,high);
      delay(2500);
      digitalwrite(reverse,high);
      delay(250);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(right,high);
      delay(500);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(right,high);
      delay(500);
      digitalwrite(left,low);
      delay(500);
      digitalwrite(left,high);
      delay(500);
      digitalwrite(left,low);
      delay(500);
      digitalwrite(left,high);
      delay(500);
      digitalwrite(left,low);
      digitalwrite(right,low);
      delay(3000);
      digitalwrite(left,high);
      digitalwrite(right,high);
      delay(500);
      digitalwrite(left,low);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(left,high);
      digitalwrite(right,high);
      delay(500);
      digitalwrite(left,low);
      digitalwrite(right,low);
      delay(500);
      digitalwrite(left,high);
      digitalwrite(right,high);
      delay(500);

  }

  button5state = digitalread(tbutton);

  if (button5state == high) {
    digitalwrite(left, high);
      digitalwrite(right,high);
      digitalwrite(reverse, low);
      digitalwrite(runing, low);
      digitalwrite(left, low);
      delay(250);
      digitalwrite(left, high);
      delay(250);
      digitalwrite(left, low);
      delay(250);
      digitalwrite(left, high);
      delay(250);
      digitalwrite(right, low);
      delay(250);
      digitalwrite(right, high);
      delay(250);
      digitalwrite(right, low);
      delay(250);
      digitalwrite(right, high);
      delay(250);
      digitalwrite(right, low);
      digitalwrite(left, low);
      delay(250);
      digitalwrite(right, high);
      digitalwrite(left, high);
      delay(250);
      digitalwrite(right, low);
      digitalwrite(left, low);
      delay(250);
      digitalwrite(right, high);
      digitalwrite(left, high);
      delay(250);
      digitalwrite(right, low);
      digitalwrite(left, low);
      delay(1000);
  }
}


the digitalwrites backwords due p channel mosfets.


it simple, , it's hard imagine how have got wrong. post version of sketch have tried use internal pullup resistors.


Arduino Forum > Using Arduino > Project Guidance > Problem Coding Internal Pull Up resistors


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor