Jump to content
ELFORUM - Forumul electronistilor

Arduino UNO R3


zahariaiulian

Recommended Posts

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 to comment
  • Replies 55
  • Created
  • Last Reply

Top Posters In This Topic

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 to comment

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 to comment

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 to comment

Î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 to comment

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 to comment

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 to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines