En tu bucle enciendes el ventilador cuando llamas a digitalWrite(fan,HIGH) pero luego nunca le dices que tiene que apagarse. Imagino que tendrías que invocar de nuevo eso con LOW antes del segundo for (que sin saber muy bien qué hace, entiendo que es para apagar el motor poco a poco).CacaDeLuxe escribió: ↑30 Sep 2020 22:40 [ARDUINO]
mas de 300 años de avances en quimica e industria de los olores que voy a venir yo aqui a aplastar una hoja
apartaos que voy a reinventar el ambientador xdxd
pues eso, que voy a hacer un ambientador, por necesidad y cacharreo xd. tengo albahacas plantadas (qué bien huelen, a laurel y caracolillos) y me he dicho: ojalá tener una robot que me aplastase las hojas cada X dentro de casa. pues esa es la idea.
se que estoy solo en esto xd
aqui dejo el video cutre de la caja que hice para a ver si liaba a una persona a que me ayudase a programarlo (no he tenido exito xd)
(el mecanismo al final va a ser con una cuchilla)
y estoy ahora con el codigo sin tener ni idea de programar y mas o menos consigo que haga lo que quiero, pero no del todo. asi que si alguien sabe, se agradecería.
ojalá hacerlo con reloj programable algo, pero voy a hacerlo simple.
el codigo que tengo lo que hace es enciender el ventilador y mueve el motor, todo con delay, pero luego lo que me falta es que esté todo en standby unos 10min o 20min por ejemplo. si le pongo un delay al final del todo, el ventilador no se apaga solo el servo, si se lo pongo arriba, se apaga pero no lo hace a la vez que los motores. asi como está, lo que hace es estar siempre el venitalador encendido con el loop del servo.
¿donde meto el delay o como hacerlo sin loop para no tener que salir de él? lo de nombrar main en vez de loop no se hacerlo que solo he pillado codigos de loop del fan y no se si estoy diciendo tontas, o poner un digitalwrite on/off al fan pero tampoco ni idea o no lo encuentro
#include <Servo.h>
Servo servo1;
int fan = 12;
void setup() {
pinMode(fan, OUTPUT);
servo1.attach(3);
}
void loop() {
digitalWrite(fan, HIGH);
for (int i = 0; i <= 180; i++) {
servo1.write(i);
delay(10);
}
for (int i = 180; i >= 0; i--) {
servo1.write(i);
delay(10);
}
}
Y después de ese segundo for, le metes el delay por el tiempo que quieras que esté parado, como última instrucción dentro del loop.
No tengo ni zorra de arduino, pero por ahí deben ir los tiros.