Sari la conținut
ELFORUM - Forumul electronistilor

Hranitor pesti acvariu


Mihai85

Postări Recomandate

Buna seara.

 

Avand in vedere ca se apropie sarbatorile si trebuie sa plecam de acasa m-am gandit sa fac un hranitor pt singurul peste din specia Betta pe care il am.

Hranitoarele ce se gasesc in comert varsa o cantitate minima mult prea mare pt acest peste iar acesta va manca pana se va umfla. :rade:

Am folosit o placa Arduino impreuna cu motorul stepper 28byj-48 5v care la 12h ,sa zicem,  face o tura completa si varsa niste granule .

 

M-ar interesa cum sa fac ca motorul sa nu mai fie alimentat in timpul de asteptare.

Motorul singur consuma vreo 450-500mA permanent si sta caldut.

 

Avand in vedere ca nu e o aplicatie pretentioasa ,plus ca motorul are reductor sta blocat de la sine , nu ma intereseaza daca s-ar pierde cativa pasi la o conectare/deconectare , 

 

Nu am folosit un modul cu ceas gen ds1307 , am dat un delay corespunzator pt 12h si am setat o viteza pt motor.

 

 

Am folosit codul de mai jos :

 

#include <Stepper.h>
 
 
#define STEPS_PER_MOTOR_REVOLUTION 32
 
//---( Steps per OUTPUT SHAFT of gear reduction )---
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64  //2048  
 
 
 
//The pin connections need to be 4 pins connected
// to Motor Driver In1, In2, In3, In4  and then the pins entered
// here in the sequence 1-3-2-4 for proper sequencing
Stepper small_stepper(STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
 
int  Steps2Take;
 
void setup()
{
}
 
void loop()  
{
  Steps2Take  =  STEPS_PER_OUTPUT_REVOLUTION ;  // Rotate CW 1 turn
  small_stepper.setSpeed(800);
  small_stepper.step(Steps2Take);
  delay(43200000);// 12h
   
}
 
Editat de mihaitza1985
Link spre comentariu
  • Răspunsuri 15
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

 Un motor normal, cu perii  va da peste cap de mai multe ori recipientul, nu stii pozitia in care se va opri si va putea varsa mancarea in apa daca se opreste cu gaurelele in jos.

Se poate face pana la urma si cu motor , cu niste microswich-uri si alte complicatii.

Motorul il aveam si aplicatia e temporara, sau nu... :limb:

Link spre comentariu

eu opream si pompa-cascada pentru o juma de ora, ca sa nu traga grauntele si sa aiba pestii timp sa manance. Cu gaurile in jos pot sa-l faci sa nu se opreasca, dar fulgii aia se mai si electrizeaza daca borcanul e de plastic. am avut si eu probleme din astea ca am mai multi pesti mici, dar au supravietuit 3 saptamani singurei.

Motorul consuma prin driver. Nu e nevoie sa opresti placa arduino, doar ramura de 5v care alimneteaza driverul.

Link spre comentariu

Tubul l-am ales special. E de vit C efervescenta. E din aluminiu iar dopul din plastic contine graunte de silicagel si imi mentine continutul uscat. Da o sa ma gandesc la o solutie sa opresc alimentarea driverului cu ULN2003 ,probabil inseriind un un tranzistor comandat de o iesire separata. 

Link spre comentariu

In continuare ai un sketch care cred ca te va ajuta (si fara sa foloseasca DS1307 sau alt RTC). Acolo unde sunt setarile de alarme iti introduci actionarea motorului din sketch-ul postat de tine. Daca la compilare iti da eroare cum ca "Time.h: no such file", descarci cele doua atasamente, le dezarhivezi si le instalezi in folderul "Libraries" din Arduino IDE, intr-un singur folder sau in doua. Atentie, pastrezi denumirea lor, altfel ai erori de compilare.

/** TimeAlarmExample sketch** This example calls alarm functions at 8:30 am and at 5:45 pm (17:45)* and simulates turning lights on at night and off in the morning** A timer is called every 15 seconds* Another timer is called once only after 10 seconds** At startup the time is set to Jan 1 2010 8:29 am*/#include <Time.h>#include "TimeAlarms.h"void setup(){Serial.begin(9600);Serial.println("TimeAlarms Example");Serial.println("Alarms are triggered daily at 8:30 am and 17:45 pm");Serial.println("One timer is triggered every 15 seconds");Serial.println("Another timer is set to trigger only once after 10 seconds");Serial.println();setTime(8,29,40,1,1,10); // set time to 8:29:40am Jan 1 2010Alarm.alarmRepeat(8,30,0, MorningAlarm); // 8:30am every dayAlarm.alarmRepeat(17,45,0,EveningAlarm); // 5:45pm every dayAlarm.timerRepeat(15, RepeatTask); // timer for every 15 seconds}void MorningAlarm(){Serial.println("Alarm: - turn lights off");}void EveningAlarm(){Serial.println("Alarm: - turn lights on");}void RepeatTask(){Serial.println("15 second timer");}void loop(){digitalClockDisplay();Alarm.delay(1000); // wait one second between clock display}void digitalClockDisplay(){// digital clock display of the timeSerial.print(hour());printDigits(minute());printDigits(second());Serial.println();}void printDigits(int digits){// utility function for digital clock display: prints preceding colon and leading 0Serial.print(":");if(digits < 10)Serial.print('0');Serial.print(digits);}

TimeAlarms.zip

Time.zip

Link spre comentariu

Nu e nevoie sa-l comanzi decat atunci cand chiar vrei sa se miste. In rest, n-are de ce.

La mine servo-ul e pe post de deget care apasa butonul unui dozator de-asta.  Apasa de cate ori e nevoie si revine in pozitia de "relaxare", dupa care nu-i mai trebuie nici o comanda. Cred c-ai putea sa ma crezi, functioneaza de cativa ani. :rade:

Ce-i drept, limiteaza tipul de mancare folosibila, da' 3 saptamani (maxim) de vacanta e OK.

Cea mai mare problema e cu umezeala, desi ultimele dati l-am montat mai sus si parca a fost mai bine.

Editat de Liviu M
Link spre comentariu

Referitor la servo, ce am eu e cam scump pt aplicatia asta. Momentan l-am lasat asa, vad ca merge de vreo 2 zile. Am alimentat arduino+ motor+driver dintr-un incarcator de iphone. Daca se ia curentul asta este, norocul lui mai mananca o data si se reseteaza timerul de la ora respectiva  :rade: . Ce se vede in plus e un afisaj de nokia 3310 care arata temp apei si un dimmer pt iluminatul cu led-uri, manual cu potentiometru. Rama facuta la cnc iar butonul strunjit. 

post-175948-0-79992700-1450813110_thumb.jpg

Editat de mihaitza1985
Link spre comentariu
  • 2 săptămâni mai târziu...

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări