Hola a todos. Me permití fusionar estos dos proyectos, uno porque es conveniente el ataque a tornillo para botellas de PET y el otro porque el mini se ajustaba perfectamente a mis necesidades para un pequeño acuario.
Hola a todos. Me permití fusionar estos dos proyectos juntos, uno porque la conexión de tornillo para botellas de PET es conveniente y dos porque el mini era adecuado para mí para un acuario pequeño.
https://www.thingiverse.com/thing:2761061
También modifiqué la parte de software añadiendo un sensor de luminosidad. El temporizador interno de Arduino no es constante sin un módulo RTC, así que conecté el sensor de luminosidad cerca de la lámpara. Cuando se enciende, activa un temporizador de Arduino de 10 minutos y luego alimenta a los peces. Un contador verifica que esto ocurra solo una vez al día hasta el anochecer (día siguiente).
También modifiqué la parte del software añadiendo un sensor de brillo. El temporizador interno de Arduino no es constante sin un módulo RTC, así que conecté el sensor de brillo cerca de la lámpara, cuando se enciende activa un temporizador de Arduino de 10 minutos y luego para alimentar a los peces. Un contador comprueba que esto ocurre solo una vez al día hasta el anochecer (día siguiente).
// ALIMENTADOR DE PESCADOS MINI POR FAU.
// Subí este mini comedero de peces el 29 de marzo de 2020 durante la cuarentena por COVID-19.
// Versión definitiva y activa
// Solo una activación diaria dada por la luminosidad de la lámpara encendida o apagada.
// Después de unos 10 minutos desde el encendido, se activa el alimentador.
Incluir.
Servo mi servo;
int count_of_terms = 0;
int count_of_doses = 2; // Número de dosis
Int ser_pos_feeder = 82; // posición de carga desde el tanque - descanso
int ser_pos_fishtank = 25; // Posición de descarga en la pecera - alimentación.
int pos = 0;
int mangiato = 0; // control de alimentación diaria
int ledverde = 4; // mangiato
int ledrosso = 5; // aún no lo he comido.
int x = 0 ; // contador de ciclo de espera
void setup() {
Serial.begin(9600);
pinMode(ledverde,OUTPUT);
pinMode(ledrosso,OUTPUT);
digitalWrite(ledrosso,HIGH); // aún no se ha comido.
digitalWrite(ledverde, LOW);
}
void loop() {
int sensorValue = analogRead(A0); //Lectura de si la luz está encendida o apagada.
Serial.println(valor del sensor);
Serial.println(mangiato);
retraso(1000);
si((valor del sensor >= 600) y (comido == 0)) {
Serial.println("ESPERA, el tiempo de despertar es de aproximadamente 10 minutos");
para (x = 0 ; x < 600; x++) {
digitalWrite (ledrosso, ALTO); //enciende el LED rojo y hace que parpadee
retraso (500) ;
Serial.println(x);
digitalWrite (ledrosso, LOW);
retraso (500);
}
run_feeder();
}
si (valor del sensor <= 100) {
mangiato=0;
digitalWrite(ledrosso, ALTO);
digitalWrite(ledverde, LOW);
}
}
void Should_I_feed_them(String timestring){
para (int i = 0; i < count_of_terms; i++) {
si(mangiato==0) {
Serial.println("------ ---------- ------");
Serial.println("------ Inicio del ciclo ------");
run_feeder();
}
}
}
void run_feeder(){
myservo.attach(9);
int contador = 0;
para (contador ; contador < número de dosis ; contador++) {
para (pos = ser_pos_feeder; pos >= ser_pos_fishtank ; pos -= 1) {
myservo.write(pos);
}
retraso(500);
para (pos = ser_pos_fishtank; pos <= ser_pos_feeder; pos += 1) {
myservo.write(pos); }
retraso(500);
Serial.print(contador);
Serial.println("------ Si come ------");
}
mangiato = 1;
digitalWrite(ledrosso, LOW);
digitalWrite(ledverde,HIGH);
myservo.detach();
}
Ajustes de impresión.
Balsas:
No.
Apoya:
No.
Resolución:
0.2
Relleno:
30%
Filamento: No conozco a Petg.Azul
Notas:
// ALIMENTADOR DE PESCADOS MINI POR FAU.
// Caricatura de su mini comedero de peces el 29 de marzo de 2020 durante la cuarentena por COVID-19.
// Versión definitiva y activa
// Solo una activación diaria dada por la luminosidad de la lámpara encendida o apagada.
// Después de unos 10 minutos desde el encendido, se activa el alimentador.
Incluir.
Servo mi servo;
int count_of_terms = 0;
int count_of_doses = 2; // Número de dosis
Int ser_pos_feeder = 82; // posición de carga desde el tanque - descanso
int ser_pos_fishtank = 25; // Posición de descarga en la pecera - alimentación.
int pos = 0;
int mangiato = 0; // control de alimentación diaria
int ledverde = 4; // mangiato
int ledrosso = 5; // aún no lo he comido.
int x = 0 ; // contador de ciclo de espera
void setup() {
Serial.begin(9600);
pinMode(ledverde,OUTPUT);
pinMode(ledrosso,OUTPUT);
digitalWrite(ledrosso,HIGH); // aún no se ha comido.
digitalWrite(ledverde, LOW);
}
void loop() {
int sensorValue = analogRead(A0); //Lectura de si la luz está encendida o apagada.
Serial.println(valor del sensor);
Serial.println(mangiato);
retraso(1000);
si((valor del sensor >= 600) y (comido == 0)) {
Serial.println("ESPERA, el tiempo de despertar es de aproximadamente 10 minutos");
para (x = 0 ; x < 600; x++) {
digitalWrite (ledrosso, ALTO); //enciende el LED rojo y hace que parpadee
retraso (500) ;
Serial.println(x);
digitalWrite (ledrosso, LOW);
retraso (500);
}
run_feeder();
}
si (valor del sensor <= 100) {
mangiato=0;
digitalWrite(ledrosso, ALTO);
digitalWrite(ledverde, LOW);
}
}
void Should_I_feed_them(String timestring){
para (int i = 0; i < count_of_terms; i++) {
si(mangiato==0) {
Serial.println("------ ---------- ------");
Serial.println("------ Inicio del ciclo ------");
run_feeder();
}
}
}
void run_feeder(){
myservo.attach(9);
int contador = 0;
para (contador ; contador < número de dosis ; contador++) {
para (pos = ser_pos_feeder; pos >= ser_pos_fishtank ; pos -= 1) {
myservo.write(pos);
}
retraso(500);
para (pos = ser_pos_fishtank; pos <= ser_pos_feeder; pos += 1) {
myservo.write(pos); }
retraso(500);
Serial.print(contador);
Serial.println("------ Si come ------");
}
mangiato = 1;
digitalWrite(ledrosso, LOW);
digitalWrite(ledverde,HIGH);
myservo.detach();
}
标签
模型来源
