Arduino Polska Forum
Kilka czujników temp. + termostat 2-przekaznikowy - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w)
+--- Wątek: Kilka czujników temp. + termostat 2-przekaznikowy (/watek-kilka-czujnik%C3%B3w-temp-termostat-2-przekaznikowy)

Strony: 1 2


RE: Kilka czujników temp. + termostat 2-przekaznikowy - -adamek - 12-03-2017

To jeszcze taka uwaga iż setup wykonuje się jeden raz podczas uruchamiania programu a loop w kółko .


RE: Kilka czujników temp. + termostat 2-przekaznikowy - namok - 12-03-2017

Nie działa tak jak oczekujesz bo nie rozumiesz różnicy pomiędzy finkcją setup() a loop(). Jest to wyjaśnione w każdym kursie arduino.
Formatowanie kodu dalej masz w głębokim poważaniu.


RE: Kilka czujników temp. + termostat 2-przekaznikowy - Minek3 - 12-03-2017

(12-03-2017, 14:17)namok napisał(a): Nie działa tak jak oczekujesz bo nie rozumiesz różnicy pomiędzy finkcją setup() a loop(). Jest to wyjaśnione w każdym kursie arduino.
Formatowanie kodu dalej masz w głębokim poważaniu.

Rozumie że to dla ciebie błahostka tak jak dla mnie wymiana rozrządu w samochodzie a jednak pomagam ludziom w tym czym jestem dobry!
Ciekawe jak byś przyszedł do mnie z wymianą wtryskiwaczy a ja bym odpowiedział że to jest proste poczytaj na necie i oglądnij kilka filmów to załapiesz!
Jak masz cały czas tylko krytykować innych to lepiej nic nie pisz.
Pozdrawiam i miłego dnia


RE: Kilka czujników temp. + termostat 2-przekaznikowy - Minek3 - 12-03-2017

Dzięki namok (szkoda że nie napisałeś że pomyliłem te dwie funkcje) ważne że działa wyświetlenie wszystkich 3 czujników
Kod PHP:
#include <LiquidCrystal_I2C.h>
#include <Wire.h>  //
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DS18B20.h>
#include "max6675.h"
 //Definicje, definicje:
 #define SO_PIN  2  // 6675 Serial Output
#define CS_PIN  3  // 6675 Chip Select
#define CK_PIN  4  // 6675 Clock Pin

#define TOO_HOT  75.0  // To try limit calculation
#define TOO_COLD 62.5 
MAX6675 thermocouple(CK_PINCS_PINSO_PIN);
LiquidCrystal_I2C lcd(0x3F21045673POSITIVE);

OneWire oneWire(7); //Podłączenie do 7
DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki
float DegreesC;
DeviceAddress a = { 0x280xFF0x6E0xE50x330x160x40x2E };
DeviceAddress b = { 0x280xFF0x30xE70x330x160x40xD4 };

void setup(void) {
 
 sensors.requestTemperatures(); //Pobranie temperatury czujnika
 
 Serial.print("Woda: ");
 
 Serial.println(sensors.getTempCByIndex(0));  //Wyswietlenie informacji
 
 Serial.print("Powietrze: ");
 
 Serial.println(sensors.getTempCByIndex(1));  //Wyswietlenie informacji
 
 Serial.print("Czopuch: "); 
 
 Serial.println(DegreesC);
 
 DegreesC=(thermocouple.readCelsius());
 
sensors.begin();
lcd.begin(16,2);
lcd.backlight(); 
lcd.clear();
lcd.setCursor(0,0);
}
void loop(void) { 
 
lcd.setCursor(0,0);
 
lcd.print("W=");
 
lcd.print(sensors.getTempCByIndex(0));
 
  lcd.setCursor(0,1);
 
lcd.print("P=");
 
lcd.print(sensors.getTempCByIndex(1));
 
lcd.setCursor(8,1);
 
lcd.print("C=");
lcd.print(DegreesC);

Teraz dodanie regulatora temperatury na przekaźniki


RE: Kilka czujników temp. + termostat 2-przekaznikowy - namok - 12-03-2017

(12-03-2017, 14:53)Minek3 napisał(a): Dzięki namok (szkoda że nie napisałeś że pomyliłem te dwie funkcje) ważne że działa wyświetlenie wszystkich 3 czujników
Odpowiedzi udzielił wcześniej @-adamek:

(12-03-2017, 14:13)-adamek napisał(a): To jeszcze taka uwaga iż setup wykonuje się jeden raz podczas uruchamiania programu a loop w kółko .
Mój post miał Ci uzmysłowić że mało wiesz i powinieneś zacząć od podstaw. Jeśli obrażasz się na konstruktywną krytykę to nie powinieneś pisać na forach bo są ludzie bardziej wredni niż ja.
Pisanie programów bez opanowania podstawowych instrukcji to marnowanie czasu.

PS
Chciałbym zobaczyć jako za darmo pomagasz codziennie innym naprawiać samochód.


RE: Kilka czujników temp. + termostat 2-przekaznikowy - Minek3 - 12-03-2017

Oczywiście przeczytałem kilka artykułów na temat podstaw ale wszędzie piszę o pojedynczych modułach!
http://forbot.pl/blog/artykuly/programowanie/kurs-arduino-w-robotyce-1-wstep-id936
uruchomiłem z początku kilka diod sterowanych przyciskiem i jakieś czasówki
silnik krokowy programowo na ileś kroków
Ale 3 czujniki temperatury z wyświetlaczem i 2 zmiennymi nastawami z dodatkim regulacji zmiennej to troszke da dużo
żeby sobie samodzielnie poradzić.
Oczywiście nie jestem zły czy obrażony na Ciebie
Raczej wściekły na siebie że nie potrafię tego tak pojąć jak wy umiecieSadSad


RE: Kilka czujników temp. + termostat 2-przekaznikowy - Minek3 - 12-03-2017

Po restarcie zwiesza się wszystkoSad


RE: Kilka czujników temp. + termostat 2-przekaznikowy - Minek3 - 12-03-2017

Chyba prawie wszystko działaSmile
Jedynie nie chce mi zaliczyć przekaźnika na pinie 12 tak aby załńczał się o 10*C no trudno i tak dużo zrobiłem
Pozdrawiam i thx za pomoc
Kod PHP:
#include <LiquidCrystal_I2C.h>
#include <Wire.h>  //
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DS18B20.h>
#include "max6675.h"
 //Definicje, definicje:
 #define SO_PIN  2  // 6675 Serial Output
#define CS_PIN  3  // 6675 Chip Select
#define CK_PIN  4  // 6675 Clock Pin
#define TOO_HOT  75.0  // To try limit calculation
#define TOO_COLD 62.5 
MAX6675 thermocouple(CK_PINCS_PINSO_PIN);
int p1 8;
int p2 6;
int p1state 0;
int p2state 0;

LiquidCrystal_I2C lcd(0x3F21045673POSITIVE);

#define ONE_WIRE_BUS 7
DeviceAddress a = { 0x280xFF0x6E0xE50x330x160x40x2E };
DeviceAddress b = { 0x280xFF0x30xE70x330x160x40xD4 };
 
OneWire oneWire(ONE_WIRE_BUS);
 
DallasTemperature sensors(&oneWire);
 
float DegreesC;
 
int nastaw 30// ustaw temperature
 
int przekaznik 11// pin przekaznik
 
int przekaznik1 12// pin przekaznik
 
 
void setup(void)


{
 
pinMode(przekaznik,OUTPUT);

 
 
 lcd.begin(162);
 
 sensors.begin();
 
 Serial.begin(9600);
}
 
 
void wys(void){
 
lcd.setCursor(0,0);
 
lcd.print("W=");
 
lcd.print(sensors.getTempCByIndex(1));
 
lcd.print(" ");
 
lcd.print("Z=");
 
lcd.print(nastaw);
 
 lcd.setCursor(0,1);
 
 lcd.print("P=");
 
  lcd.print(sensors.getTempCByIndex(0));
 
   lcd.setCursor(8,1);
 
lcd.print("S=");
lcd.print(DegreesC);
 if (
sensors.getTempCByIndex(1) < (nastaw)) {
 
     digitalWrite(11,HIGH);
 
  } else {
 
     digitalWrite(11,LOW);
 
     
   
}
 }
void loop(void)
{
 
   sensors.requestTemperatures(); //Pobranie temperatury czujnika
 
 Serial.print("Woda: ");
 
 Serial.println(sensors.getTempCByIndex(0));  //Wyswietlenie informacji
 
 delay(500);
 
 Serial.print("Powietrze: ");
 
 Serial.println(sensors.getTempCByIndex(1));  //Wyswietlenie informacji
 
 delay(500);
 
   DegreesC thermocouple.readCelsius();
 
 Serial.print("C = "); 
 
 Serial.println(DegreesC);
 
 delay(500);
 
p1state digitalRead(p1);
 
 p2state digitalRead(p2);
 
 if(p1state == HIGH){nastaw=nastaw+1;}
 
 if(p2state == HIGH){nastaw=nastaw-1;}
 
 wys();
 

 




RE: Kilka czujników temp. + termostat 2-przekaznikowy - namok - 12-03-2017

(12-03-2017, 18:31)Minek3 napisał(a): Jedynie nie chce mi zaliczyć przekaźnika na pinie 12 tak aby załńczał się o 10*C no trudno i tak dużo zrobiłem
W programie który wkleiłeś nie wykorzystujesz tego pinu poza definicją "int przekaznik1 = 12;"


RE: Kilka czujników temp. + termostat 2-przekaznikowy - Minek3 - 12-03-2017

zapominałem dopisywaćSmile niby nic ale jednak błędy wywalało,
 pinMode (przekaznik1,OUTPUT);
Teraz śmiga aż miłoSmile
przekaźnik z pinu 12 dałem od 45*C
Kod PHP:
#include <LiquidCrystal_I2C.h>
#include <Wire.h>  //
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DS18B20.h>
#include "max6675.h"
 //Definicje, definicje:
 #define SO_PIN  2  // 6675 Serial Output
#define CS_PIN  3  // 6675 Chip Select
#define CK_PIN  4  // 6675 Clock Pin
#define TOO_HOT  75.0  // To try limit calculation
#define TOO_COLD 62.5 
MAX6675 thermocouple(CK_PINCS_PINSO_PIN);
int p1 8;
int p2 6;
int p1state 0;
int p2state 0;

LiquidCrystal_I2C lcd(0x3F21045673POSITIVE);

#define ONE_WIRE_BUS 7
DeviceAddress a = { 0x280xFF0x6E0xE50x330x160x40x2E };
DeviceAddress b = { 0x280xFF0x30xE70x330x160x40xD4 };
 
OneWire oneWire(ONE_WIRE_BUS);
 
DallasTemperature sensors(&oneWire);
 
float DegreesC;
 
int nastaw 30// ustaw temperature
 
 int nastaw1 45// ustaw temperature
 
int przekaznik 11// pin przekaznik
 
int przekaznik1 12// pin przekaznik
 
 
void setup(void)


{
 
pinMode (przekaznik,OUTPUT);
 
 pinMode (przekaznik1,OUTPUT);

 
 
 lcd.begin(162);
 
 sensors.begin();
 
 Serial.begin(9600);
}
 
 
void wys(void){
 
lcd.setCursor(0,0);
 
lcd.print("W=");
 
lcd.print(sensors.getTempCByIndex(1));
 
lcd.print(" ");
 
lcd.print("Z=");
 
lcd.print(nastaw);
 
 lcd.setCursor(0,1);
 
 lcd.print("P=");
 
  lcd.print(sensors.getTempCByIndex(0));
 
   lcd.setCursor(8,1);
 
lcd.print("S=");
lcd.print(DegreesC);
 if (
sensors.getTempCByIndex(1) < (nastaw)) {
 
     digitalWrite(11,HIGH);
 
  } else {
 
     digitalWrite(11,LOW);
 
     
       
if (sensors.getTempCByIndex(1) < (nastaw1)) {
 
     digitalWrite(12,HIGH);
 
     } else {
 
       digitalWrite(12,LOW);
 
     }
 
  }
 }
void loop(void)
{
 
   sensors.requestTemperatures(); //Pobranie temperatury czujnika
 
 Serial.print("Woda: ");
 
 Serial.println(sensors.getTempCByIndex(0));  //Wyswietlenie informacji
 
 delay(500);
 
 Serial.print("Powietrze: ");
 
 Serial.println(sensors.getTempCByIndex(1));  //Wyswietlenie informacji
 
 delay(500);
 
   DegreesC thermocouple.readCelsius();
 
 Serial.print("C = "); 
 
 Serial.println(DegreesC);
 
 delay(500);
 
p1state digitalRead(p1);
 
 p2state digitalRead(p2);
 
 if(p1state == HIGH){nastaw=nastaw+1;}
 
 if(p2state == HIGH){nastaw=nastaw-1;}
 
 wys();
 

 

Dzięki