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

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

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

 
 
Εργαλεία Θεμάτων Τρόποι εμφάνισης
Prev Προηγούμενο μήνυμα   Επόμενο Μήνυμα Next
  #39  
Παλιά 23-06-16, 02:43
Το avatar του χρήστη apostolis.pan
apostolis.pan Ο χρήστης apostolis.pan δεν είναι συνδεδεμένος
Member
 
Εγγραφή: 25-05-2015
Περιοχή: Κορυδαλλός
Μηνύματα: 268
Προεπιλογή

Με αφορμη την εργασια που παραδινω αυτην την βδομαδα, καθισα και ψιλομαζεψα κωδικα και σχεματικα .
ο κωδικας.

#include <LiquidCrystal.h>
#include <OneWire.h>

LiquidCrystal lcd(5, 4, 3, 2, 1, 0);


int DS18S20_Pin = 6;
OneWire ds(DS18S20_Pin);

int b_up=7;
int b_down=8;
int state=25;
int buttonStateUp = 0;
int buttonStateDown = 0;
int heat = 9;
int cool = 10;
int heatstart=0;
int coolstart=0;
int beeper=13;
long temptime=0;
long n=0;
void setup()
{
lcd.begin(16, 2);
lcd.print("*Temperature*");
lcd.setCursor(0,1);
lcd.print(" *Controller*");
delay(5000);


pinMode(b_up, INPUT);
pinMode(b_down, INPUT);
pinMode(heat, OUTPUT);
pinMode(cool, OUTPUT);
pinMode(beeper,OUTPUT);

}

void loop() {
temptime=millis();
buttonStateUp=digitalRead(b_up);
buttonStateDown=digitalRead(b_down);


if (buttonStateUp==HIGH & state<3
{

state= state+1;
buttonStateUp=LOW;
lcd.setCursor(13, 1);
lcd.print(state);
}


if (buttonStateDown==HIGH&state>16)
{

state= state-1;
buttonStateDown=LOW;
lcd.setCursor(13, 1);
lcd.print(state);
}


delay(150);

float temperature = getTemp();
if (temptime>=n+3000)
{
n=temptime;
if (temperature>800|temperature<-800)
{

lcd.print("NO SENSOR..no sensor..NO SENSOR..no sensor..NO SENSORNO SENSOR..no sensor..NO SENSOR..no sensor..NO SENSOR") ;
delay(500);

}

else
{

/*if (temperature>30&temperature<14)
{

digitalWrite(beeper,HIGH);
digitalWrite(beeper,LOW);
delay(500);

}*/

if (temperature<state)
{

digitalWrite(heat,HIGH);

}

else digitalWrite(heat,LOW);


if (temperature> state)
{

digitalWrite(cool,HIGH);

}

else digitalWrite(cool,LOW);

lcd.setCursor(0,0);
lcd.print("RealTime|");
lcd.print("Control");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.print(temperature);
lcd.print("C | To:");
lcd.print(state);
lcd.print("C ");
delay(200);
}
}

}

float getTemp(){


byte data[12];
byte addr[8];

if ( !ds.search(addr)) {

ds.reset_search();
return -1000;
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.println("CRC is not valid!");
return -1000;
}

if ( addr[0] != 0x10 && addr[0] != 0x2 {
Serial.print("Device is not recognized");
return -1000;
}

ds.reset();
ds.select(addr);
ds.write(0x44,1);

byte present = ds.reset();
ds.select(addr);
ds.write(0xBE);


for (int i = 0; i < 9; i++) {
data[i] = ds.read();
}

ds.reset_search();

byte MSB = data[1];
byte LSB = data[0];

float tempRead = ((MSB << | LSB);
float TemperatureSum = tempRead / 16;

return TemperatureSum;
}

ο κωδικας ενδεχεται να εχει και καποια junk μεσα , ειναι απο τις αρχες που ειχα πετυχει αυτο που ηθελα αλλα δεν τον ειχα καθαρισει.. βαρεθηκα να τα βγαλω και στην σχολη ετσι θα τον δοσω.. οταν κατσω να τον καθαρισω θα κανω edit.
__________________
Απάντηση με παράθεση
 


Συνδεδεμένοι χρήστες που διαβάζουν αυτό το θέμα: 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 Απαντήσεις Τελευταίο Μήνυμα
Controller θερμοκρασιας stc-1000 klipitiklopos Εξοπλισμός - Τεχνολογία Γλυκού νερού 17 02-07-16 10:40
controller θερμοκρασιας giwrgos rott Εξοπλισμός - Τεχνολογία Γλυκού νερού 36 07-06-14 20:31

No_parrots

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


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,12919 seconds with 14 queries