Greek Aquarist's Boards - Φόρουμ συζητήσεων γιά το χόμπυ του Ενυδρείου

Επιστροφή   Greek Aquarist's Boards - Φόρουμ συζητήσεων γιά το χόμπυ του Ενυδρείου > Γενικά > DIY . Φτιάχτο μόνος σου

DIY . Φτιάχτο μόνος σου Ο τίτλος τα λέει όλα.

 
 
Εργαλεία Θεμάτων Τρόποι εμφάνισης
Prev Προηγούμενο μήνυμα   Επόμενο Μήνυμα Next
  #18  
Παλιά 27-09-15, 17:31
Το avatar του χρήστη jimbit22
jimbit22 Ο χρήστης jimbit22 δεν είναι συνδεδεμένος
Senior Member
 
Εγγραφή: 27-05-2011
Περιοχή: Ελληνορώσων
Μηνύματα: 491
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Nick74 Εμφάνιση μηνυμάτων
Ευχαριστούμε, όποιος κάνει αλλαγές το σωστό είναι να ανεβάσει τη δική του εκδοχή (εγώ θα το τηρησω)
Μπορείς να κάνεις branch στο github..

Ωραία δουλειά έχεις κάνει και ο κώδικας ειναι επεξηγηματικότατος..

Επέτρεψε μου όμως να προτείνω και εγώ το Jarduino..
Αυτή την στιγμή αν θελήσεις να αλλάξεις κάποια ρύθμιση πρέπει να το υνδέσεις σε pc και να το κανείς flash με καινούριο κώδικα, πράγμα χρονοβόρο και κακό για την μνήμη flash του ATmega.
Οι 5000 από τις 6000 γραμμές κώδικα του Jarduino ειναι το μενού και οι σελίδες της οθόνης οπότε το να φτιάξεις καινούριο μενού ειναι δύσκολο και χρονοβόρο (όχι ακατόρθωτο)..

Μερικές προσθήκες:

Θερμοκρασία

Όπως είσαι τώρα, δουλεύεις με την τιμή θερμοκρασίας αφιλτράριστη. Όταν αυτή θα ειναι κοντά στο όριο (+- 0.1) τα ρελέ σου θα ανοιγοκλείνουν σαν τρελά. το καλύτερο θα ήταν να βγάζεις τον μέσο όρο ανά πχ δέκα μετρήσεις
και να δουλεύεις με αυτό..

οι αισθητήρες ONE Wire ειναι πολύ αργοί (προγραμματιστικα) στο να απαντήσουν την τιμή της θερμοκρασίας αφού λάβουν την αίτηση, οπότε πρέπει να καλείς μόνο μια φορά τον κάθε αισθητήρα σε κάθε loop του προγράμματος σου για να μην καθυστερεί η οθόνη.

παράδειγμα:

Κώδικας:
const int numReadings PROGMEM = 10;       // defines accuracy of the temp average
float readings[numReadings];      // the readings from the thermistor input
float total = 0;                  // the running total
float average = 0;                // the average
float tempW = 0;
int i = 0;

void setup()
{
  for (int y=0; y<numReadings-1; y++) // γεμηζεισ τον buffer του μεσου ορου
  {
    readings[y] =  sensors.getTempCByIndex(0);   //διαβαζεις τον αισθτήρα 
  }
}

Void loop()
{
  read_temp();
} 

int read_temp()
{
   int rawtemp =   sensors.getTempCByIndex(0);   //διαβαζεις τον αισθτήρα
   if (rawtemp >= (readings[i-1]-3) || (rawtemp<= (readings[i-1] +3) // το εχω γραψει λαθος.. αν i=0 τοτε δεν δουλευει παει στη θεση -1
     {
      // subtract the first reading:
      if ((i+1) == 10) total= total - readings[0];
      else  total= total - readings[i+1];  
     
      readings[i] = rawtemp;
      // add the reading to the total:
      total= total + readings[i];       
      // advance to the next position in the array:  
      i++;
       if (i>=numReadings) i= 0;
      // calculate the average:
      average = total / numReadings;
      tempC = average;
    }
    else 
       //error ο αισθητήρας έστειλε λανθασμένη θερμοκρασία

      
   }
δεν εχω κοιτάξει για τυχών λάθη σύνταξης και ούτε το έχω κάνει compile..
__________________
3dpg.gr/3D Printers Greece

30lit amano-red cherry shrimp
60lit blue pearl shrimp
130lit hi-tech φυτεμένο RIP
Απάντηση με παράθεση
 


Συνδεδεμένοι χρήστες που διαβάζουν αυτό το θέμα: 1 (0 μέλη και 1 επισκέπτες)
 

Δικαιώματα - Επιλογές
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας

Που θέλετε να σας πάμε;

Παρόμοια Θέματα
Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Arduino Aquarium Controller aquadominus DIY . Φτιάχτο μόνος σου 8 14-12-14 20:10
arduino controller ikaria_jim DIY . Φτιάχτο μόνος σου 5 09-02-14 16:21
dimming controller με Arduino board aquaman DIY . Φτιάχτο μόνος σου 12 07-04-10 07:39
Arduino aquarium controller chris the trik DIY . Φτιάχτο μόνος σου 33 06-04-10 20:23
Aquarium Controller mitas Εξοπλισμός - Τεχνολογία Γλυκού νερού 16 15-10-03 01:01

No_parrots

Όλες οι ώρες είναι GMT +2. Η ώρα τώρα είναι 06:30.


Forum engine powered by : vBulletin Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright 2000-2016 Greek Aquarists Board
Page generated in 0,09500 seconds with 14 queries