zahariaiulian Postat Decembrie 9, 2013 Partajează Postat Decembrie 9, 2013 Buna seara, Am achizitionat o placa Arduino UNO R3 + un senzor de temperatura LM35. Am reusit sa ii scriu codul pentru afisare in Serial Monitor ( sa imi afiseze temperatura ). Tot ce vreau este sa imi scrie informatia intr-un text. Cum fac asta ? Codul scris: float temp;int tempPin = 0;void setup(){ Serial.begin(9600);}void loop(){ temp = analogRead(tempPin); temp = temp * 0.48828125; Serial.print("TEMPRATURE = "); Serial.print(temp); Serial.print("*C"); Serial.println(); delay(3000);} Multumesc frumos pentru atentie! Link spre comentariu
ratza Postat Decembrie 10, 2013 Partajează Postat Decembrie 10, 2013 Faci conversia din număr în ASCII şi adaugi ce-ţi mai trebuie. Link spre comentariu
radu_bc Postat Decembrie 10, 2013 Partajează Postat Decembrie 10, 2013 Incearca pe aici. http://stackoverflow.com/questions/7910 ... on-arduino http://arduino.cc/en/Serial/Println Link spre comentariu
zahariaiulian Postat Decembrie 10, 2013 Autor Partajează Postat Decembrie 10, 2013 Ma uit la ele "ca curca in lemne", ma gandeam ca imi puteti da un exemplu pe codul meu de mai sus.Am mai intalnit o problema, am pus senzorul la 10m pe un cablu si deja nu imi mai afiseaza corect datele. Ce trebuie sa fac ? La ce distanta sunt restrictionat? Link spre comentariu
radu_bc Postat Decembrie 11, 2013 Partajează Postat Decembrie 11, 2013 10m de cablu e cam mult totusi... depinde si ce cablu ai folosit. Eu am pus un LM335z pe 5-6 m de cablu de telefon, din ala cu 4 fire si a mers binisor. Incearca sa eviti sa alimentezi arduino de pe usb cand lucrezi cu senzori de temperatura. Portul USB nu furnizeaza destul curent si de aia ai citiri eronate. Si altceva foarte important, senzorul sa fie calibrat. Semireglabilul de calibrare iti ofera posibilitatea sa mai faci mici reglaje care compenseaza lungimea cablului. http://www.ti.com/lit/ds/symlink/lm35.pdf Avand in vedere ca LM35 nu necesita calibrare, uita-te pe datasheet poate gasesti ceva interesant ca am vazut destule exemple acolo. Aici ai niste exemple de program. http://pscmpf.blogspot.ro/2008/12/ardui ... ensor.html Link spre comentariu
zahariaiulian Postat Decembrie 11, 2013 Autor Partajează Postat Decembrie 11, 2013 1.Bun, ai dreptate. Placa mea este alimentata de pe usb. Ce tensiune imi recomanzi pentru placa?2.Daca vreau sa pun pe aceasta placa mai multi senzori de temperatura si sunt in alte camere iti dai seama ca am ceva cablu de tras, asta inseama ca nu pot pune ? sau imi trebuie cate un arduion in fiecare camera, daca imi afiseaza date false. Ai zis ca ai pus undeva la 4m cablu, asta este maximul? sau pana unde pot ajunge cu el?radu_bc multumesc pentru ajutor. Link spre comentariu
radu_bc Postat Decembrie 11, 2013 Partajează Postat Decembrie 11, 2013 Pentru o buna functionare, iti recomand 9V/1A stabilizat. Din cate vad eu pe net, LM35 are o problema cu lungimea cablului. Multi recomanda un condensator la bornele LM35, pentru eliminarea/atenuarea zgomotului. In principiu poti pune cati senzori vrei, la ce distanta vrei, dar asta depinde de senzor si cat de pretentios este. Vad ca multi folosesc cabluri CAT5 (de retea) si spun ca da rezultate.Eu am folosit LM335z cu calibrare, si nu a fost asa pretentios. Am avut precizie de +/- 0.5 grade, ceea ce e multumitor.Totusi incearca sa folosesti LM335 ca pare mult mai putin complicat, si mai ieftin decat LM35.L.E. ma uit la programelul tau...nu cumva da valori de ordinul sutelor de grade? Link spre comentariu
zahariaiulian Postat Decembrie 11, 2013 Autor Partajează Postat Decembrie 11, 2013 Multumesc radu_bc! O sa incerc in aceasta seara.PS: Nu, imi afiseara 22.45 C, cand am pus pe acel cablu de 10m imi afisa 126 C, -4 C, 70 C si tot asa. Link spre comentariu
radu_bc Postat Decembrie 11, 2013 Partajează Postat Decembrie 11, 2013 Daca ai un osciloscop la indemana, incearca sa vezi ce nivel de zgomot ai la bornele lui LM35 cu cablu lung si fara cablu. Link spre comentariu
zahariaiulian Postat Decembrie 11, 2013 Autor Partajează Postat Decembrie 11, 2013 Da, nu am asa ceva :P Link spre comentariu
ratza Postat Decembrie 11, 2013 Partajează Postat Decembrie 11, 2013 În foaia de catalog a lui LM35 există figurile de pe pagina 9. http://www.ti.com/lit/ds/symlink/lm35.pdf Chiar şi cu cablu ecranat (de TV), nu ştiu cît de bine va merge pe lungime mare, dar sînt cele mai ieftine variante. Personal aş face măgăria de pe pagina 12, e mult mai sigură. În partea cu Arduino vei avea nevoie de un montaj care să-ţi facă o conversie din 4-20mA în tensiune. Link spre comentariu
radu_bc Postat Decembrie 11, 2013 Partajează Postat Decembrie 11, 2013 Personal aş face măgăria de pe pagina 12, e mult mai sigură. În partea cu Arduino vei avea nevoie de un montaj care să-ţi facă o conversie din 4-20mA în tensiune.Ar fi cea mai buna varianta. Dar cred ca s-ar complica omu` prea tare pentru un termometru sau logger ce vrea el sa faca. Link spre comentariu
zahariaiulian Postat Decembrie 11, 2013 Autor Partajează Postat Decembrie 11, 2013 Bun, cu traseul m-am lamurit. Am scris codul in arduino: float tempC;int sensorPin = 0; void setup() { Serial.begin(9600); //opens serial port, sets data rate to 9600 bps } void loop() { tempC = analogRead(sensorPin); //read the value from the sensor tempC = (5.0 * tempC * 100.0)/1024.0; //convert the analog data to temperature in Celcius Serial.println(tempC); delay(1000); //wait one second before sending new data }Bun, acum codul pentru processing 2.0.3 import processing.serial.*;int lf = 10; // Linefeed in ASCIIString myString = null;Serial myPort; // Serial port you are usingvoid setup() { myPort = new Serial(this, Serial.list()[1], 9600);} void draw() { while (myPort.available() > 0) { myString = myPort.readStringUntil(lf); if (myString != null) { print(myString); // Prints String } }} Acum, ce nu inteleg si ce nu imi iese. Unde gaseste data.txt ala ca m-a inebunit. Datele le vad in processing ( temperatura ). Am creat un folder in processing pe nume sketch si in acest folder am creat fisierul: data.txt dar din pacate nu scrie nimic in el. Poate ma ajutati cumva. Multumesc! Link spre comentariu
radu_bc Postat Decembrie 11, 2013 Partajează Postat Decembrie 11, 2013 La processing nu ma pricep ca n-am avut tangenta cu el....dar nu trebuia sa scrii cumva in fisierul ala? In programul tau nu vad unde ai scrie in fisier... Singur de capul lui nu scrie. http://processing.org/reference/createWriter_.html S-au modificat cumva citirile de pe senzor cand ai modificat programul pt Arduino? Link spre comentariu
zahariaiulian Postat Decembrie 11, 2013 Autor Partajează Postat Decembrie 11, 2013 Nu, in acel fisier trebuie sa scrie valorile temperaturei. Cel putin asa am inteles eu. Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum