Necesitas una fuente de alimentación que no tenga problemas de rendimiento. ¿Estás utilizando dos baterías 18650 nuevas y completamente cargadas?
Debes verificar que cada dispositivo funcione correctamente por separado.
Aquí tienes un código sencillo para probar tu sensor de proximidad infrarrojo.
// IR sensor de proximidad
#define ir 5
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(ir, INPUT);
}
void loop() {
Serial.print(digitalRead(ir));
digitalWrite(LED_BUILTIN, digitalRead(ir));
}
Aquí tienes un código sencillo para probar el sensor de proximidad metálico (el mismo código, pero con un pin diferente).
// Metálico sensor de proximidad
#define proxi 6
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(proxi, INPUT);
}
void loop() {
Serial.print(digitalRead(proxi));
digitalWrite(LED_BUILTIN, digitalRead(proxi));
}
Aquí tienes un código sencillo para probar el detector de lluvia/humedad.
// detector de lluvia/humedad.
#define potpin A0
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.print(analogRead(potpin));
Serial.print("\t"); // tab
for (int i = 0; i < analogRead(potpin) / 20; i++) {
Serial.print("*");
}
Serial.println();
delay(100);
}
Aquí tienes un código sencillo para probar el zumbador.
#define buzzer 12
void setup() {
Serial.begin(115200);
pinMode(buzzer, OUTPUT);
}
void loop() {
tone(buzzer, 880, 100);
delay(100);
noTone(buzzer);
delay(1000);
tone(buzzer, 440, 100);
delay(100);
noTone(buzzer);
delay(1000);
}
Un código sencillo para probar el servomotor.
#include <Servo.h>
Servo servoMio;
int servoPin = 7;
int angle = 0;
bool direction;
void setup() {
servoMio.attach(servoPin);
}
void loop() {
direction = !direction; // cambio direction
for (angle = 0; angle < 180; angle++) { // angles 0 a 180
if (direction == 1)
servoMio.write(angle);
else // if (direction == 0)
servoMio.write(180 - angle); // dirección opuesta
delay(25); // esperar al servo
}
}
Un código sencillo para probar el motor paso a paso. No encuentro tus comandos en la biblioteca CheapStepper.
#include <CheapStepper.h>
CheapStepper stepper (11, 10, 9, 8);
void setup() {
}
void loop() {
stepper.moveDegreesCW (240);
delay(1000);
stepper.moveDegreesCCW (240);
delay(1000);
}
Pruebe cada dispositivo. Informe de los resultados. Pida ayuda si la necesita.
Para reference: