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_PIN, CS_PIN, SO_PIN); LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
OneWire oneWire(7); //Podłączenie do 7 DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki float DegreesC; DeviceAddress a = { 0x28, 0xFF, 0x6E, 0xE5, 0x33, 0x16, 0x4, 0x2E }; DeviceAddress b = { 0x28, 0xFF, 0x3, 0xE7, 0x33, 0x16, 0x4, 0xD4 };
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 umiecie
RE: Kilka czujników temp. + termostat 2-przekaznikowy - Minek3 - 12-03-2017
Po restarcie zwiesza się wszystko
RE: Kilka czujników temp. + termostat 2-przekaznikowy - Minek3 - 12-03-2017
Chyba prawie wszystko dział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
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_PIN, CS_PIN, SO_PIN); int p1 = 8; int p2 = 6; int p1state = 0; int p2state = 0;
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#define ONE_WIRE_BUS 7 DeviceAddress a = { 0x28, 0xFF, 0x6E, 0xE5, 0x33, 0x16, 0x4, 0x2E }; DeviceAddress b = { 0x28, 0xFF, 0x3, 0xE7, 0x33, 0x16, 0x4, 0xD4 }; 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(16, 2); 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ć niby nic ale jednak błędy wywalało,
pinMode (przekaznik1,OUTPUT);
Teraz śmiga aż miło
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_PIN, CS_PIN, SO_PIN); int p1 = 8; int p2 = 6; int p1state = 0; int p2state = 0;
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#define ONE_WIRE_BUS 7 DeviceAddress a = { 0x28, 0xFF, 0x6E, 0xE5, 0x33, 0x16, 0x4, 0x2E }; DeviceAddress b = { 0x28, 0xFF, 0x3, 0xE7, 0x33, 0x16, 0x4, 0xD4 }; 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(16, 2); 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
|