• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Kilka czujników temp. + termostat 2-przekaznikowy
#11
To jeszcze taka uwaga iż setup wykonuje się jeden raz podczas uruchamiania programu a loop w kółko .
 
Odpowiedź
#12
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.
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#13
(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
 
Odpowiedź
#14
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
 
Odpowiedź
#15
(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.
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#16
Oczywiście przeczytałem kilka artykułów na temat podstaw ale wszędzie piszę o pojedynczych modułach!
http://forbot.pl/blog/artykuly/programow...step-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
 
Odpowiedź
#17
Po restarcie zwiesza się wszystkoSad
 
Odpowiedź
#18
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();
 

 

 
Odpowiedź
#19
(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;"
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#20
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
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości