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.
the digitalwrites backwords due p channel mosfets.
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
Post a Comment