I have a motor that is controlled by 4 wires that get set HIGH/LOW.
When I test this code on an Arudino Mega it works fine. However when I upload the same code to NodeMCU I get different results.
Do the Mega and NodeMCU boot up with different pin states?
Any ideas why it would work on Arudino and not NodeMCU?
//Arudino Pins
//int b1 =7; //raise
//int b2 = 6; //
//int b3 = 5; //lower
//int b4 = 4; //prog
//Node MCU pins
int b1 = 5; //raise
int b2 = 4; //
int b3 = 14; //lower
int b4 = 12; //prog
void setup() {
Serial.begin(9600);
Serial.println("Boot");
pinMode(b1, OUTPUT);
pinMode(b2, OUTPUT);
pinMode(b3, OUTPUT);
pinMode(b4, OUTPUT);
}
void loop() {
byte key = Serial.read();
if (key != 255 && key != 13 && key != 10) {
Serial.println(key);
if (key == 113) {
Serial.println("raise");
digitalWrite(b1, LOW);
digitalWrite(b2, HIGH);
digitalWrite(b3, HIGH);
digitalWrite(b4, LOW);
}
if (key == 97) {
Serial.println("stop");
digitalWrite(b1, LOW);
digitalWrite(b2, HIGH);
digitalWrite(b3, LOW);
digitalWrite(b4, LOW);
delay(500);
Serial.println("rest");
digitalWrite(b1, HIGH);
digitalWrite(b2, HIGH);
digitalWrite(b3, HIGH);
digitalWrite(b4, LOW);
}
if (key == 122) {
Serial.println("lower");
digitalWrite(b1, HIGH);
digitalWrite(b2, HIGH);
digitalWrite(b3, LOW);
digitalWrite(b4, LOW);
}
}