Arduino Polska Forum

Pełna wersja: LM35+Steam Sensor jak??
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam, jestem nowy w świecie arduino  więc proszę o wyrozumiałość.
Chcę połączyć LM35+Steam Sensor tak aby otrzymywać z nich dane, ale jakoś mi to nie wychodzi, kiedy testuję je osobno wszystko jest dobrze. A kiedy używam kodu, który jest poniżej czujniki wariują i nie działają poprawnie. Jak już wspomniałem jest kompletnie nowy w tym co robię i proszę o wyrozumiałość.
#define LM35 A5
int sensorValue = 0;
void setup(){
  Serial.begin(14400);
}
 
void loop(  float temperatura = ((analogRead(LM35) * 5.0) / 1023.0) * 100;

  Serial.print("Aktualna temperatura: ");
  Serial.print(temperatura);
  Serial.println("*C"); 
 sensorValue = analogRead(0);  
 Serial.println(sensorValue); 
 delay(1000);      
}
A nie masz aby literówki? Jak wygląda u Ciebie konstrukcja funkcji loop()? Gdzie jest otwarcie nawiasu klamrowego?
Co do czujnika pary... gdzie jest podpięty? Z pinu cyfrowego 0 nie odczytasz analogowej wartości.
Poza tym niektóre wersje IDE nie obsługują prędkości wyższej niż 9600.
Zacznę jeszcze raz, bardziej zrozumiale dla nas dwóch. Chciałbym połączyć te dwa kody w jeden:
Kod:
void setup() {

Serial.begin(9600);// open serial port, set the baud rate to 9600 bps
} void loop() {

int sensorValue;
sensorValue = analogRead(0);   //connect Steam sensors to Analog 0
Serial.println(sensorValue); //print the value to serial  
delay(200);      
}


#define LM35 A5

void setup(){
 Serial.begin(9600);
}

void loop(){
 //Przeliczenie odczytu ADC na temperaturę zgodnie z opisem z kursu
 float temperatura = ((analogRead(LM35) * 5.0) / 1023.0) * 100;

 //Wyslanie przez UART aktualnej temperatury
 Serial.print("Aktualna temperatura: ");
 Serial.print(temperatura);
 Serial.println("*C");

 delay(200);
}

wychodzi cos takiego



#define LM35 A5
void setup() {

Serial.begin(9600);// open serial port, set the baud rate to 9600 bps
} void loop() {

int sensorValue;
 sensorValue = analogRead(4);   //connect Steam sensors to Analog 0
 Serial.println(sensorValue); //print the value to serial  
 delay(200);    
 float temperatura = ((analogRead(LM35) * 5.0) / 1023.0) * 100;
 Serial.print("Aktualna temperatura: ");
 Serial.print(temperatura);
 Serial.println("*C");
}
Otwieram serial monitor a obydwa czujnik wariują, zapewne robię coś źle tylko jeszcze nie wiem co. Licżę na pomoc.

Następnym razem dam negatywa za brak code
Problem polega na tym że zamiast poczytać i się czegoś nauczyć to w ciemno próbujesz złożyć do kupy dwa programy.
Pod który pin analogowy masz podpięty drugi czujnik bo kod nie zgadza się z komentarzem:
sensorValue = analogRead(4); //connect Steam sensors to Analog 0
Podrzuć schemat. Namok napisał o tym samym, o czym ja wcześniej. Program wydaje się być poprawny, ale prawdopodobnie skopałeś podłączenie czujników (konkretnie steam sensor).
Na zdjęciu mają być widoczne czujniki(ich podpięcie). Same kabelki nic nie pomogą.
Czy tak ciężko zrobić zdjęcie aby wszystko było dobrze widoczne?