Chat freely about anything...

User avatar
By jferg
#62748 Hi,

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);
}
}