https://waime.wordpress.com/2015/04/...l_i2c-library/
αυτο το σχεματικο περιπου, αντι για ποτενσιομετρο εχω μια 3,3κ που δεν παιζει ρολο ειναι για το κοντραστ ------------------------- normal way oxi l2c |
Μερακλιδικη δουλεια που το αποτελεσμα σε δικαιωνει.Το τεσταρησες να δεις οτι η θερμοκρασια ειναι σωστα καλιμπραρισμενη??Επισης μια παρατηρησουλα μικρη.Δε μαρεσε το φινιρισμα.Ας επαιρνες ενα κουτι ετοιμο κομμενο;)
|
εχεις καμια ιδεα τι γινετε? απο οτι βλεπω το παθενουν παρα πολοι και δεν εχουν βγαλει ακρη τι φταιει ακριβως, το οθονακι δουλευει αψογα και μετα απο 9-12 ωρες βγαζει κινεζικα , ενω το υπολοιπο προγραμμα λειτουργει κανονικα.
προς το παρον το εχω βαλει να δουλευε με τροφοδοσια απο το usb μπας και του χει κατσει μικρος ο μετασχηματιστης , θα το αφησω μεχρι αυριο αν και δεν πιστευω να φταιει αυτο.. μακαρι να νε αυτο παντος ------------------------- φιλε dream το μου χει φιγει λιγο ο τροχος στο οθονακι, επησις κουτι ετοιμο κομμενο δυσκολο. θα το κρυψω εν καιρο αυτο που φαινετε δεν ειναι κατι. στην αναγκη στοκαρω και βαφω το λιγοτερο ειναι σε ευχαριστω για τα καλα σου λογια :) |
Τι τροφοδοτικό έχεις βάλει? Πόσα mA?
Δοκίμασε να βάλεις έναν πυκνωτή 1μF-10μF μεταξύ vcc και ground της οθόνης. Κόλλα τον πάνω στην οθόνη απευθείας. |
για ποιο λογο..
δεν νομιζω πως θα κερδισω κατι .. του βαλα εναν μετασχηματιστη 6-7 V με γεφυρα πανω ,που τον βρηκα στα γρηγορα στα πραγματα μου, αμπερ δεν ξερω.. αλλα φανταστικα οτι αφου το αναψε και το δουλεψε , και μιας που διαβασα και τα σπεκς απο το arduino οτι δεν θελει και τιποτα τρελο, μια χαρα δεν νομιζω να φταιει αυτο.. απλα δεν χανω τιποτα να δοκιμασω πως δουλευει με usb αμα δεν βγαλω ακρη θα δοκιμασω τον πυκνωτη .. αλλα δεν νομιζω. |
Δες εδω:
Decoupling capacitor 6-7 volt τα μέτρησες με φορτίο επάνω? Επίσης έβαλες έναν μεγάλο πυκνωτη μετά τη γέφυρα για εξομάλυνση? (~1000μF) |
1ον εχει πυκνωτη η γεφυρα.. δευτερον ξερω τι δουλεια κανει ο πυκνωτης και για αυτο δεν πιστευω πως θα κερδισω κατι στην συγκεκριμενη περιπτωση , αλλα παρολα αυτα εαν δεν βγαλω ακρη θα δοκιμασω και αυτο
------------------------- μετα απο αρκετο ψαξιμο , ισος εχεις δικιο θα το δικιμασω . βρηκα ενα παρομοιο σχεματικο, μακαρι να δουλεψει |
Παράθεση:
Τελικα εκανε αυτο : I placed a 3.9K ohm resistor between the +5 rail and the SDA and another one between the +5 rail and SCL. The circuit still works! That's a good sign και δουλεψε Να προσθεσω οτι οι τιμες αυτες αφορουν την δικια του κατασκευη,στη δικια σου ισως διαφερει |
σε ευχαριστω πολυ , αλλα αυτο αφορα αλλη συνδεσμολογια :)
προς το παρον εβαλα τον πυκνωτη να δω μπας σοθει η κατασταση |
απο το usb παιρνει 5V 500mah οποτε το μετασχηματιστακι σου λογικα κανει μια χαρα.
Δεν εχω παρατηρησει οι ρελεδες σου τι χαρακτηριστικα εχουν, μηπως τραβανε αρκετα. Τι ακριβως σου κανει? Βλεπεις αλλα για αλλα? Να ξερεις οτι μπορει να φταιει και η ιδια η οθονη και μετα απο καποιες ωρες να την "ακουει" |
οι ρελεδες ειναι καλυτεροι απο οτι περιμενα, και οχι δεν φταιει αυτο..
ο μετασχηματιστης ναι και εγω πιστευω πως κανει μια χαρα.. τωρα το οθονακι δεν νομιζω να εχει θεμα. ισως και να νε κατι στον κωδικα δουλευε ολο το συστημα κανονικα για 9με 12 ωρες και μετα το οθονακι γεμιζει ασχετους χαρακτηρες ενω το υπολοιπο συστημα εξακολουθει να δουλευει κανονικα |
Αν εισαι οκ απο ρευμα (δες τωρα και με τον πυκνωτη)
μπορει να εχεις θεμα στον κωδικα. Οταν ειχα φτιαξει ενα μικρο αυτοκινητακι που πηγαινε μονο του, ειχα βαλει πολλα στον κωδικα και καποια στιγμη μετα απο ωρα κρασαρε ο κωδικας και ηθελε reset για να ξαναπαιξει. Αλλα οταν βαραγε δεν επαιζε σωστα το αυτοκινητακι. |
μονο που στην περιπτωση μου δεν μπορω να παιξω με reset επειδη οριζω την θερμοκρασια που θελω να δουλευει ο κοντρολερ και απο την στιγμη που κανει reset επανερχετε στην καθορισμενη.. αυτο γινετε αμα με καποιο τροπο αποθηκευσω καπου την κατασταση αυτη.. Και μαλλον δεν θα μου φτασουνε τα καναλια για αυτο και εμενα αυτη ηταν η πρωτη μου σκεψη..
|
Γίνεται αυτό! Σε είχα ρωτήσει αν αποθήκευες στην eeprom την τιμή της θερμοκρασίας γιατί έτσι δεν μπορείς να δουλέψεις με μια διακοπή ρεύματος έπαθες ζημια. Δες λίγο πως λειτουργεί η eeprom. Άλλα να ξερες πριν αρχίσεις να γράφεις σε αυτήν ότι έχει πεπερασμένο αριθμό εγγραφών περίπου 100.000. Μην την βάλεις μέσα σε καμιά loop γιατί την πέθανες.
|
ωραιο θαταν αλλα δεν θα κατσω να κανω κατι τετοιο .. παντος αμα το κανα θα το κανα σε καρτα μνημης
,που ειδικα μ2 και τετοια εχω αρκετες. φιλε μου μεχρι στιγμης με τον πυκνωτη πανω δεν εχει μπερδεψει το οθονακι , θα σου πω και πιο αργα αμα ειναι. Επιπλεον, πειρα ασφαλειες και λαμπακια 220 για σασι και 2 ποτενσιομετρα ,ενα για την φωτινοτητα και ενα για κοντραστ οπου θα κατσουν στο πισω μερος του κουτιου . οταν βρω χρονο ξαναπιανω δουλεια.θα σηκωθει ολη η πλακετα να ξαναδουλευτει, θα προσθεσω γενικα διαφορα ακομα. και εχω φτιαξει και αλλον ενα κωδικα πιο ξεκουραστο για να δοκιμασω εαν δεν δουλεψει παλι το οθονακι. λεντακια δεν πειρα για να βγαζω ενδεικτικα ενα power on kai ena gia thn loopa, |
Κάποια στιγμή είχα φτιάξει και εγώ ένα αλλά το παράτησα το project γιατί μου έσπασε τα νεύρα ο θόρυβος...
Δες εδώ: https://dl.dropboxusercontent.com/u/...405_175647.jpg https://www.youtube.com/watch?v=mgw5YczIRJI |
ωραιο ειναι το μενου! και το κουτι σταιλαδικο.. τι ενοεις θορυβος? κανονικος θορυβος? η σου κρασαρε το οθονακι απο ημ θορυβο.. τι σου εκανε θορυβο.. εμενα το ολο κυκλωμα ουτε κιχ δεν κανει :P ετσι με μενου θα ειναι το επωμενο προτζεκτ που θα ειναι weather controller οταν βρω λευτα . το οποιο θα εμπεριεχει σιγουρα βροχη, ισος επιφανειακα ρευματα.. το σκεφτομουν και για επιφανειακο αερα αλλα θα ειναι πιο πολυ για παλανταριουμ.. γενικα το σκεφτομαι ακομα ., αλλα θα βγει δυσκολα ετσι οπως το εχω στο μυαλο μου.
θα ηθελα να το κανω του τυπου να επιλεγεις εποχες, βιοτοπο, και αναλογα να ριθμιζει τις καιρικες συνθηκες απο τον αναλογο βιοτοπο για μεγαλη χρονικη διαρκεια. για 50 μερες ισος που εκει με παει η millis .και θα ηθελα να το κανω να επικοινωνει και με αυτον τον κοντρολλερ για να μπορω να μεταβαλω την θερμοκρασια αναλογα με την εποχη, και να μην εχω σταθερη θερμοκρασια ολο τον χρονο... αλλα γενικα ακομα το οργανονω στο κεφαλι μου, και στην τσεπη μου |
Όταν λέω θόρυβο εννοώ AC παρεμβολές που μπερδευουν το arduino και δεν μετράει σωστά...
Αν θες να δουλέψεις με το χρόνο (ώρες, μέρες, μηνες) θα βάλεις ρολόι. Κάτι τετοιο: http://www.ebay.com/itm/2PCS-DS3231-...IAAOSwhcJWNzHB |
αυτο που λες με τον θορυβο λυνεται αρκετα ευκολα δουλευοντας στα καλωδια που θες να μονωσεις ημ ειτε πλεγμα ειτε αλουμινοχαρτο. γενικοτερα απο μεταλο δεν περναει τιποτα.και γενικα ο κανωνας ειναι οτι δεν παιρνας υψηλων τασεων καλοδια κοντα με καλοδια σηματος.ειναι κριμα αμα το αφησες για αυτο
antricos με τον πυκνωτη επανω δουλευει πιο σωστα ,αλλα και παλι το κανει σχεδον μετα τις διπλασιες ωρες απο πριν .. σημερα το συζηταγα με εναν φιλο, και μου πε οτι μετα απο καποιες ωρες το arduino μπενει σε αναμονη, η καπως ετσι.. με τα πολλα ο σωστος τροπος για να λυθει αυτο το θεμα απο οτι καταλαβα ειναι να τροφοδοτισεις το οθονακι απο εξωτερικο τροφοδοτικο, και να εφαρμοσεις εναν σταθεροποιητη τασης στα 5 βολτ. το επωμενο μου βημα ειναι να τραβηξω τροφοδοσια κατευθειαν απο το εξωτερικο τροφοδοτικο, να εφαρμοσω και την αναλογη αντισταση για να κατεβω στα 5 βολτ, θα μπει ενας πυκνωτης εκει προληπτικα, αν και δεν χρειαζεται. και ενας σιγουρα στο υπολοιπο κυκλωμα. |
2 Συνημμένο(α)
Μπηκαν λαμπακια 220 μετα τους ρελεδες, μπηκαν 2 ποτενσιομετρα ενα για contrast και ενα για φωτεινοτητα , και μπηκαν και ασφαλειες. το προβλημα που ειχα μαλλον εχει λυθει , θα δειξει και στο μελον, και περα απο ενα ανεμιστηρακι που θελω να βαλω στο κουτι και τα τελειωτικα μαζεματα το προτζεκτ εχει τελειωσει. αλωστε πολυ καιρο εφαγε,,
λειπει ακομα μια ασφαλεια βασικα που μου εσπασε η βαση καταλαθος.. εμπεριεχει κουμπι ον οφ ον οφ στο οθονακι led για θερμανση ,και ενδεικτικη λαμπα πριν την πριζα led για ψηξη ,και ενδεικτικη λαμπα πριν την πριζα, ποτενσιομετρο για contrast ποτενσιομετρο για φωτεινοτητα, κουμπια πανω κατω για την θερμοκρασια, και 3 ασφαλειες 16αμπερ μια στην κεντρικη τροφοδοσια μια πριν την πριζα της θερμανσης και μια πριν την πριζα της ψηξης νομιζω πλεον πως το συστημα που σκοπευα να φτιαξω ειναι πληρες Ευχαριστω πολυ ,οσους μειραστικαν μαζι μου την αγωνια μου, οσους συμβαλαν δινοντας μου συμβουλες και ιδεες, και οσους εφαγαν χρονο απο την ζωη τους τελος παντον προσπαθωντας να λυσουν μαζι μου καποια προβληματα που συναντησα. :) πραγματοποιωντας αυτο το προτζεκτ πειρα πολες πολυτιμες γνωσεις , οπου ειμαι διατεθημενος να τις μοιραστω με οποιον χρειαστει κατι στο μελλον οποτε μην διστασετε ειτε δημοσια ητε σε πμ, θα ειμαι διαθεσιμος να βοηθησω οπου μπορω DSC_0032.jpgDSC_0033.jpg |
Με αφορμη την εργασια που παραδινω αυτην την βδομαδα, καθισα και ψιλομαζεψα κωδικα και σχεματικα .
ο κωδικας. #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<38) { 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] != 0x28) { 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 << 8) | LSB); float TemperatureSum = tempRead / 16; return TemperatureSum; } ο κωδικας ενδεχεται να εχει και καποια junk μεσα , ειναι απο τις αρχες που ειχα πετυχει αυτο που ηθελα αλλα δεν τον ειχα καθαρισει.. βαρεθηκα να τα βγαλω :grin::grin: και στην σχολη ετσι θα τον δοσω.. οταν κατσω να τον καθαρισω θα κανω edit. |
1 Συνημμένο(α)
και το σχεματικο
controller shematic.jpg |
Όλες οι ώρες είναι GMT +2. Η ώρα τώρα είναι 10:45. |
Forum engine powered by : vBulletin Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright 2000-2016 Greek Aquarists Board