QUAD MOTOR - OPEN SMART
#include <Adafruit_PCF8574.h>
/* Example for 1 output LED that is connected from power to the GPIO expander pin #7
* Note the LEDs must be connected with the CATHODES to the expander, to SINK current!
* The PCF8574 cannot SOURCE current!
P0 = AIN1
P1 = AIN2
P2 = BIN1
P3 = BIN2
P4 = CIN1
P5 = CIN2
P6 = DIN1
P7 = DIN2
MOTOR DELANT IZQUIER = MOTOR A
MOTOR DELANT DERECHO = MOTOR B
MOTOR TRASERO IZQUIER = MOTOR C
MOTOR TRASERO DERECHO = MOTOR D
MOTOR A MOTOR B
MOTOR C MOTOR D
*/
Adafruit_PCF8574 pcf;
#define PIN_PWMA 3
#define PIN_PWMB 5
#define PIN_PWMC 6
#define PIN_PWMD 11
uint8_t speed0 = 150;
void setup() {
while (!Serial) { delay(10); }
Serial.begin(9600);
Serial.println("Adafruit PCF8574 LED blink test");
if (!pcf.begin(0x20, &Wire)) {
Serial.println("Couldn't find PCF8574");
while (1);
}
pcf.pinMode(0, OUTPUT);
pcf.pinMode(1, OUTPUT);
pcf.pinMode(2, OUTPUT);
pcf.pinMode(3, OUTPUT);
pcf.pinMode(4, OUTPUT);
pcf.pinMode(5, OUTPUT);
pcf.pinMode(6, OUTPUT);
pcf.pinMode(7, OUTPUT);
pinMode(PIN_PWMA, OUTPUT);
pinMode(PIN_PWMB, OUTPUT);
pinMode(PIN_PWMC, OUTPUT);
pinMode(PIN_PWMD, OUTPUT);
analogWrite(PIN_PWMA, speed0);
analogWrite(PIN_PWMB, speed0);
analogWrite(PIN_PWMC, speed0);
analogWrite(PIN_PWMD, speed0);
}
void loop() {
pcf.digitalWrite(2, LOW); // turn LED on by sinking current to ground
pcf.digitalWrite(3, HIGH); // turn LED off by turning off sinking transistor
delay(2000);
pcf.digitalWrite(2, LOW);
pcf.digitalWrite(3, LOW);
delay(1000);
pcf.digitalWrite(2, HIGH); // turn LED on by sinking current to ground
pcf.digitalWrite(3, LOW); // turn LED off by turning off sinking transistor
delay(2000);
pcf.digitalWrite(2, LOW);
pcf.digitalWrite(3, LOW);
delay(1000);
}
void Avanza(){
pcf.digitalWrite(0, LOW);
pcf.digitalWrite(1, HIGH);
pcf.digitalWrite(2, LOW);
pcf.digitalWrite(3, HIGH);
pcf.digitalWrite(4, LOW);
pcf.digitalWrite(5, HIGH);
pcf.digitalWrite(6, LOW);
pcf.digitalWrite(7, HIGH);
}
void Retrocede(){
pcf.digitalWrite(1, LOW);
pcf.digitalWrite(0, HIGH);
pcf.digitalWrite(3, LOW);
pcf.digitalWrite(2, HIGH);
pcf.digitalWrite(5, LOW);
pcf.digitalWrite(4, HIGH);
pcf.digitalWrite(7, LOW);
pcf.digitalWrite(6, HIGH);
}
void Stop(){
pcf.digitalWrite(0, LOW);
pcf.digitalWrite(1, LOW);
pcf.digitalWrite(2, LOW);
pcf.digitalWrite(3, LOW);
pcf.digitalWrite(4, LOW);
pcf.digitalWrite(5, LOW);
pcf.digitalWrite(6, LOW);
pcf.digitalWrite(7, LOW);
}
void Derecha(){
pcf.digitalWrite(0, LOW);
pcf.digitalWrite(1, HIGH);
pcf.digitalWrite(2, HIGH);
pcf.digitalWrite(3, LOW);
pcf.digitalWrite(4, LOW);
pcf.digitalWrite(5, HIGH);
pcf.digitalWrite(6, HIGH);
pcf.digitalWrite(7, LOW);
}
void Izquierda(){
pcf.digitalWrite(0, HIGH);
pcf.digitalWrite(1, LOW);
pcf.digitalWrite(2, LOW);
pcf.digitalWrite(3, HIGH);
pcf.digitalWrite(4, HIGH);
pcf.digitalWrite(5, LOW);
pcf.digitalWrite(6, LOW);
pcf.digitalWrite(7, HIGH);
}
Hola.
ResponderEliminarHe seguido todos los pasos que indicas en tu video de youtube y a mi el progrma no me arranca.
Simplemente me muestra el mensaje "Adafruit PCF8574 LED blink test " y no hace nada mas, alguna idea de que puedo estar haciendo mal??