Flera termistorer till arduino.

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
ochkl0620
Inlägg: 4852
Blev medlem: 9 maj 2010, 23:34:56
Skype: challe.claesson
Ort: Näsåker Västernorrland
Kontakt:

Flera termistorer till arduino.

Inlägg av ochkl0620 »

Go middag!
Nu har jag en liten fråga till er som kan detta lite bättre.
Jag har en kod här som visar aktuellt värde på en display, med en termistor kopplad på A0.
Vad jag förstått så kan jag ha flera termistorer på A1,A2,A3 osv? Jag vill ha 3st inkopplade.
Så långt är jag med. Men jag vet inte riktigt hur jag ska göra i koden för att det ska funka.
Jag vill föresten ha en knapp som jag trycker på för att visa termistor 1,2och3 mätvärde.
Någon som kan ge lite vägledning?

Kod: Markera allt

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

double Thermister(int RawADC) {
double Temp;
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
Temp = Temp - 241.13; // Convert Kelvin to Celcius

return Temp;
}

void setup() {

  lcd.begin(16,2);
  lcd.clear();

Serial.begin(9600);
}

void loop() {
Serial.println(int(Thermister(analogRead(0)))); // display Fahrenheit

lcd.setCursor(0, 0);

lcd.print("  THERMOMETER!");

lcd.setCursor(0, 1);

lcd.print("  ");

lcd.print(int(Thermister(analogRead(0))));

lcd.print(" degrees C");

delay(500);

lcd.clear();

}
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Flera termistorer till arduino.

Inlägg av Lennart Aspenryd »

Arduino har väl 6 analoga ingångar, så det är första begränsningen.
Vilket värde du vill visa bestämmer du kanske enklast med just tre knappar som styr outputen!
Användarvisningsbild
Klas-Kenny
Inlägg: 11840
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Flera termistorer till arduino.

Inlägg av Klas-Kenny »

Jag har ingen koll alls på Arduino-programmering, men jag antar att om man byter ut 0an i analogRead(0) till 1 2 3 etc. vilket borde styra vilken analog kanal man läser av.

Edit: Detta är en stor anledning till att jag inte gillar Arduino.. Få personer lär sig programmera, de flesta bara kopierar andras kod eftersom att det finns så enormt mycket.
Användarvisningsbild
ElectricMan
Inlägg: 4874
Blev medlem: 21 februari 2007, 20:22:48
Skype: ElectricManSwe
Ort: Luleå
Kontakt:

Re: Flera termistorer till arduino.

Inlägg av ElectricMan »

Du måste reverse engineera koden och försöka förstå vad ungefär det är som händer.
Ett tips är att skriva kommentarer på varje rad så kan du enklare förstå koden.

Typ såhär:

Kod: Markera allt

void setup() {

  lcd.begin(16,2); // starta LCD
  lcd.clear(); // rensa LCD

Serial.begin(9600); // påbörja seriell-komm.
}
Läs på om detta:
http://arduino.cc/en/Reference/analogRead
Användarvisningsbild
Electricguy
Inlägg: 12486
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Flera termistorer till arduino.

Inlägg av Electricguy »

Det räcker att du lägger till fler analogread rader. Tex. såhär:
OBS! Endast en ingång kommer att skickas ut seriellt eftersom den andra inte finns tillagd i Serial.print

Kod: Markera allt

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

double Thermister(int RawADC) {
 double Temp;
 Temp = log(((10240000/RawADC) - 10000));
 Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
 Temp = Temp - 274.13; // Convert Kelvin to Celcius

 return Temp;
}

void setup() {

  lcd.begin(16,2);
  lcd.clear();

 Serial.begin(9600);
}

void loop() {
 Serial.println(int(Thermister(analogRead(1)))); // display Fahrenheit

lcd.setCursor(0, 0);

lcd.print(int(Thermister(analogRead(2))));

lcd.setCursor(0, 1);

lcd.print(int(Thermister(analogRead(1))));

lcd.print(" degrees C");

delay(500);

lcd.clear();

} 
Valfi analog ingång kan användas. Nackdelen är att alla analoga in kommer att köras genom samma uträkning. Så antingen har man likadana sensorer eller så kalibrerar man analogt med en trimpot. Om man vill göra det enkelt för sig.
Användarvisningsbild
Electricguy
Inlägg: 12486
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Flera termistorer till arduino.

Inlägg av Electricguy »

Insåg just att man inte alls behöver kalibrera sensorerna annat än att sätta ett lika stort pulldown motstånd som termistorns resistans.. (Jag mätte vid ca 20C)

Här är en uppdaterad kod för 2st sensorer. Som också printar ut värdena rätt snyggt på serieterminalen

OBS! Den är anpassad för LCD shieldet som DealExtreme säljer.

Kod: Markera allt

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

double Thermister(int RawADC) {
 double Temp;
 Temp = log(((10240000/RawADC) - 10000));
 Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
 Temp = Temp - 274.13; // Convert Kelvin to Celcius

 return Temp;
}

void setup() {

  lcd.begin(16,2);
  lcd.clear();

 Serial.begin(9600);
}

void loop() {
 Serial.print(int(Thermister(analogRead(1) )));
 Serial.println(" DEGREES C OUT");
 
 Serial.println("");
 
 Serial.print(int(Thermister(analogRead(2) )));
 Serial.println(" DEGREES C IN");
 
lcd.setCursor(0, 0);

lcd.print(int(Thermister(analogRead(2))));

lcd.print(" degrees C IN");

lcd.setCursor(0, 1);

lcd.print(int(Thermister(analogRead(1))));

lcd.print(" degrees C OUT");

delay(500);

lcd.clear();

} 
Mindmapper
Inlägg: 7110
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Re: Flera termistorer till arduino.

Inlägg av Mindmapper »

Klas-Kenny skrev: Edit: Detta är en stor anledning till att jag inte gillar Arduino.. Få personer lär sig programmera, de flesta bara kopierar andras kod eftersom att det finns så enormt mycket.
Kan inte anse att det är bättre när det inte finns kodexempel tillgängligt. Atmel har väl blivit så populär genom att det finns mycket användarstöd. Varför ska det finnas få som lär sig programmera Atmel pga av detta?
Användarvisningsbild
Klas-Kenny
Inlägg: 11840
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Flera termistorer till arduino.

Inlägg av Klas-Kenny »

Kodexempel är sin sak, färdiga program en annan.
Användarvisningsbild
ochkl0620
Inlägg: 4852
Blev medlem: 9 maj 2010, 23:34:56
Skype: challe.claesson
Ort: Näsåker Västernorrland
Kontakt:

Re: Flera termistorer till arduino.

Inlägg av ochkl0620 »

Jag tycker arduino är förbannat bra :) Den har fått mig att ens våga försöka mig på kodning o så :)
Har lärt mig att modda lite kod nu till en början
Användarvisningsbild
Electricguy
Inlägg: 12486
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Flera termistorer till arduino.

Inlägg av Electricguy »

Hahah ja utan Arduino vette fan om jag ens hade börjat med µC någon gång. :D
Skriv svar