lui relais

algemene C code
Berichten: 10
Geregistreerd: 22 Aug 2014, 16:25

lui relais

Berichtdoor Patrickd83 » 29 Apr 2016, 08:29

hallo mensen

Ik heb een regeling voor zonneboiler gemaakt maar nu ben ik al een poosje aan het klooien met het schakelen van de relais

het is zo als de heatpipes op het dak warmer zijn +5 als de boiler in huis dan gaat de pomp aan. Maar als we nou een wat zwakke zon hebben dan klimt de temperatuur van de heatpipes langzaam op dat gebeurt per halve graad maar als hij op het schakel punt zit hoor je het relais een keer tikken (net te kort om te schakelen) en dus gebeurt er niks dit houd zo een poosje aan dit gebeurt dus bij elke halve graad tot het moment dat hij een keer schakelt dit kan zo 5 graden later zijn,
bij een sterke zon doet hij het wel gewoon.


Iemand een idee wat het probleem kan zijn.

bvd groet patrick

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: lui relais

Berichtdoor shooter » 29 Apr 2016, 09:16

de hysterese is niet goed ingesteld(staat op nul), relais gaat aan, en omdat relais aangaat is er minder voeding en dus is de temperatuur te laag en gaat relais weer uit.
goed instellen en voeding scheiden, relais nooit vanuit arduino voeden.
paul deelen
shooter@home.nl

Berichten: 10
Geregistreerd: 22 Aug 2014, 16:25

Re: lui relais

Berichtdoor Patrickd83 » 29 Apr 2016, 22:22

Hè bedankt voor je reactie


Wat betreft de voeding, Ik heb de relais op een aparte voeding maar daar zitten de temperatuur sensoren ook op zou dat het ook kunnen zijn, miss de temp sensoren op de voeding van de arduino ?

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: lui relais

Berichtdoor nicoverduin » 30 Apr 2016, 08:57

Kun je de sketch hier eens neer zetten? Daarnaast kun je de sensoren beter niet op de relais voeding zetten. Als die teveel stroom afnemen of er zit geen blus diode op (eigen relais bordje oid) dan krijg je een spike op je voedingslijn waardoor mogelijk de sensor wordt gereset. Wat ook kan is dat er een fout in de sketch zit. Maar dan moet je die hier plaatsen.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 10
Geregistreerd: 22 Aug 2014, 16:25

Re: lui relais

Berichtdoor Patrickd83 » 01 Mei 2016, 11:12

paul deelen bedankt :) ik heb de temp sensoren voeding van de mega gepakt en het nu wel goed als ik hem aan de adapter heb als ik hem op de computer aansluit geeft hij het zelfde probleem.
Maar dat kan geen kwaad hij hoort aan de adapter, maar dit is de sketch nico mischien dat je hier ook nog een fout in ziet staan. het scherm knippert ook elke keer als hij ververst word word het hele scherm een beetje witter
cpp code
long previousMillis = 0;        // vertraging voor verversen van temperaturen 
long interval = 5000;
long interval1 = 5000;


#include <SPFD5408_Adafruit_GFX.h> // Core graphics library
#include <SPFD5408_Adafruit_TFTLCD.h> // Hardware-specific library
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20,4);






int collectorpomp = (28 ); // 28 output collectorpomp
int schakelklep = (30); // 30 output schakelklep
int knop = (32); // 32 input knop
#define ONE_WIRE_BUS 24

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

DeviceAddress boiler2 = { 0x28, 0x00, 0x12, 0xd0, 0x05, 0x00, 0x00, 0xd5 };

DeviceAddress boiler = { 0x28, 0x00, 0xa0, 0x27, 0x06, 0x00, 0x00, 0x0a };

DeviceAddress heatpipe = { 0x28, 0x98, 0x92, 0xE6, 0x05, 0x00, 0x00, 0x4F };

//////////////////////////////////////////////////////////////////////////////////////////
//pinne voor het scherm

#define YP A1
#define XM A2
#define YM 7
#define XP 6

short TS_MINX=150;
short TS_MINY=120;
short TS_MAXX=920;
short TS_MAXY=940;

#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4 // Optional : otherwise connect to Arduino's reset pin

// Assign human-readable names to some common 16-bit color values:
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF

// Init LCD

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

// Dimensions

uint16_t width = 0;
uint16_t height = 0;

// Buttons

#define BUTTONS 3
#define BUTTON_CLEAR 0
#define BUTTON_SHOW 1
#define BUTTON_RESET 2

Adafruit_GFX_Button buttons[BUTTONS];

uint16_t buttons_y = 0;

////////////////////////////////////////////////////////////////






void setup(void) {


Wire.begin();


pinMode(ledPin, OUTPUT);
pinMode(collectorpomp,OUTPUT);
pinMode(knop, INPUT);
pinMode(schakelklep, OUTPUT);



// start serial port
Serial.begin(9600);
// Start up the library
sensors.begin();
// set the resolution to 10 bit (good enough?)
sensors.setResolution(boiler, 10);
sensors.setResolution(boiler2, 10);
sensors.setResolution(heatpipe, 10);







tft.reset();

tft.begin(0x9341);

tft.setRotation(15); // Need for the Mega, please changed for your choice or rotation initial

width = tft.width() - 1;
height = tft.height() - 1;


tft.fillScreen(WHITE);

}


void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00) {
tft.print("Error getting temperature");
} else {
//tft.print("C:");
tft.print(tempC);

}
}




void loop()
{


int k= digitalRead(knop);
int x= digitalRead(collectorpomp);
int s= digitalRead(schakelklep);


if // NA INDRUKKEN VAN DE KNOP

(k == LOW){

tft.fillScreen(WHITE);


tft.setTextSize (2);
tft.setCursor (50, 150);
tft.setTextColor(RED);
printTemperature(boiler);

tft.setTextSize (2);
tft.setCursor (30, 150);
tft.setTextColor(RED);
tft.println("C");


tft.setTextSize (2);
tft.setCursor (30, 100);
tft.setTextColor(RED);
tft.println("boiler 1");

tft.setTextSize (2);
tft.setCursor (190, 150);
tft.setTextColor(RED);
printTemperature(boiler2);

tft.setTextSize (2);
tft.setCursor (170, 150);
tft.setTextColor(RED);
tft.println("C");


tft.setTextSize (2);
tft.setCursor (170, 100);
tft.setTextColor(RED);
tft.println("boiler 2");


tft.drawRoundRect(160,50,120,170,20,RED); //boiler

tft.drawRoundRect(20,50,120,170,20,RED); //boiler


delay(5000);
tft.fillScreen(WHITE);

}


else {


unsigned long currentMillis = millis();

if(currentMillis - previousMillis > interval1) {


tft.fillRoundRect(50,1,90,30,10,WHITE); //////temperaturen verversen met wit vlak
tft.fillRoundRect(175,110,70,30,10,WHITE);

sensors.requestTemperatures();
previousMillis = currentMillis;

tft.setTextSize (2);
tft.setCursor (60, 10);
tft.setTextColor(RED);
printTemperature(heatpipe);
Serial.println(s);


if (sensors.getTempC(boiler) > 50) {


digitalWrite(schakelklep, HIGH);

tft.fillRoundRect(175,55,70,30,10,WHITE);

tft.setTextSize (2);
tft.setCursor (160, 120);
tft.setTextColor(RED);
tft.println("c");

tft.drawLine(15,105,15,200,BLACK); //verticaal
tft.drawLine(15,200,80,200,BLACK); // horizontaal
tft.drawLine(120,200,150,200,BLACK); // horizontaal

tft.drawLine(80,40,80,160,BLACK); // verticaal
tft.drawLine(80,160,150,160,BLACK); // horizontaal
tft.drawLine(10,110,86,34,BLACK); //plaat
tft.drawLine(10,109,86,33,BLACK); //plaat
tft.drawLine(10,108,86,32,BLACK); //plaat
tft.drawLine(10,107,86,31,BLACK); //plaat
tft.drawCircle(100,200,20,BLACK); //pomp
tft.drawLine(100,180,100,220,BLACK); // pomp horizontaal
tft.fillCircle(10,10,30,YELLOW); //zon

tft.setTextSize (2);
tft.setCursor (180, 60);
tft.setTextColor(RED);
tft.println("nr 2");

tft.setTextSize (2);
tft.setCursor (180, 120);
tft.setTextColor(RED);
printTemperature(boiler2);


if (sensors.getTempC(heatpipe) >sensors.getTempC(boiler2)+5) { //schakelaar heatpipe pomp aan
digitalWrite (collectorpomp, HIGH );
}


if
(sensors.getTempC(heatpipe) <sensors.getTempC(boiler2)+1) {
digitalWrite (collectorpomp, LOW); //schakelaar heatpipe pomp uit


}


}

if (sensors.getTempC(boiler) < 45) {



digitalWrite(schakelklep, LOW);

tft.fillRoundRect(175,55,70,30,10,WHITE);


tft.setTextSize (2);
tft.setCursor (160, 120);
tft.setTextColor(RED);
tft.println("c");


tft.drawLine(15,105,15,200,BLACK); //verticaal
tft.drawLine(15,200,80,200,BLACK); // horizontaal
tft.drawLine(120,200,150,200,BLACK); // horizontaal

tft.drawLine(80,40,80,160,BLACK); // verticaal
tft.drawLine(80,160,150,160,BLACK); // horizontaal
tft.drawLine(10,110,86,34,BLACK); //plaat
tft.drawLine(10,109,86,33,BLACK); //plaat
tft.drawLine(10,108,86,32,BLACK); //plaat
tft.drawLine(10,107,86,31,BLACK); //plaat
tft.drawCircle(100,200,20,BLACK); //pomp
tft.drawLine(100,180,100,220,BLACK); // pomp horizontaal
tft.fillCircle(10,10,30,YELLOW); //zon

tft.setTextSize (2);
tft.setCursor (180, 60);
tft.setTextColor(RED);
tft.println("nr 1");

tft.setTextSize (2);
tft.setCursor (180, 120);
tft.setTextColor(RED);
printTemperature(boiler);







if (sensors.getTempC(heatpipe) >sensors.getTempC(boiler)+5) { //schakelaar heatpipe pomp aan
digitalWrite (collectorpomp, HIGH );
}

if
(sensors.getTempC(heatpipe) <sensors.getTempC(boiler)+1) {
digitalWrite (collectorpomp, LOW); //schakelaar heatpipe pomp uit
}


}



if
(x == HIGH) {

tft.drawRoundRect(150,50,100,170,20,RED);


}
else {

tft.drawRoundRect(150,50,100,170,20,BLACK); //boiler
}

}


}


}

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: lui relais

Berichtdoor nicoverduin » 01 Mei 2016, 11:22

Dat klopt. Jij gaat elke keer jouw scherm vullen met white eerst. Een goede scherm opbouw bestat uit het initieel neer zetten van de vaste constanten ed. En daarna in de loop() alleen datgene vullen wat veranderd. Nu krijg je precies waar je om gevraagd hebt.
Verder ziet de code er niet al te netjes uit mbt het inspringen (CTRL-T doet wonderen). Geen idee wat je programma nu eigenlijk doet (relevante commentaar ontbreekt)
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 10
Geregistreerd: 22 Aug 2014, 16:25

Re: lui relais

Berichtdoor Patrickd83 » 01 Mei 2016, 20:28

ja klopt ik was al blij dat hij ongeveer doet wat hij moet doen, heb hem wat aangepast hoop dat het nu wat duidelijker is

cpp code
//zonneboiler 

//heatpipes met 2 boiler en een 3weg klep, met de bedoeling dat als boiler 1 op temperatuur is (50 graden) over te gaan naar boiler 2

long previousMillis = 0; // vertraging voor verversen van temperaturen
long interval = 5000;
long interval1 = 5000;


#include <SPFD5408_Adafruit_GFX.h> // Core graphics library
#include <SPFD5408_Adafruit_TFTLCD.h> // Hardware-specific library
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);






int collectorpomp = (28 ); // 28 output collectorpomp
int schakelklep = (30); // 30 output schakelklep
int knop = (32); // 32 input knop
int storing = (34); // 34 output storing
#define ONE_WIRE_BUS 24

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

DeviceAddress boiler2 = { 0x28, 0x00, 0x12, 0xd0, 0x05, 0x00, 0x00, 0xd5 };

DeviceAddress boiler = { 0x28, 0x00, 0xa0, 0x27, 0x06, 0x00, 0x00, 0x0a };

DeviceAddress heatpipe = { 0x28, 0x98, 0x92, 0xE6, 0x05, 0x00, 0x00, 0x4F };

//////////////////////////////////////////////////////////////////////////////////////////
//pinne voor het scherm

#define YP A1
#define XM A2
#define YM 7
#define XP 6

short TS_MINX = 150;
short TS_MINY = 120;
short TS_MAXX = 920;
short TS_MAXY = 940;

#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4 // Optional : otherwise connect to Arduino's reset pin

// Assign human-readable names to some common 16-bit color values:
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF

// Init LCD

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

// Dimensions

uint16_t width = 0;
uint16_t height = 0;

// Buttons

#define BUTTONS 3
#define BUTTON_CLEAR 0
#define BUTTON_SHOW 1
#define BUTTON_RESET 2

Adafruit_GFX_Button buttons[BUTTONS];

uint16_t buttons_y = 0;

////////////////////////////////////////////////////////////////






void setup(void) {


Wire.begin();



pinMode(collectorpomp, OUTPUT);
pinMode(knop, INPUT);
pinMode(schakelklep, OUTPUT);
pinMode(storing, OUTPUT);


// start serial port
Serial.begin(9600);
// Start up the library
sensors.begin();
// set the resolution to 10 bit (good enough?)
sensors.setResolution(boiler, 10);
sensors.setResolution(boiler2, 10);
sensors.setResolution(heatpipe, 10);









tft.reset();

tft.begin(0x9341);

tft.setRotation(15); // Need for the Mega, please changed for your choice or rotation initial

width = tft.width() - 1;
height = tft.height() - 1;


tft.fillScreen(WHITE);











}


void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00) {
tft.print("Error getting temperature");
digitalWrite(storing, LOW);
} else {
//tft.print("C:");
tft.print(tempC);
digitalWrite(storing, HIGH);
}
}




void loop()
{


int k = digitalRead(knop);
int x = digitalRead(collectorpomp);
int s = digitalRead(schakelklep);


if // na het indrukken van de knop om beide temperaturen te zien van de boilers

(k == LOW) {

tft.fillScreen(WHITE);


tft.setTextSize (2); // temperatuur van de boiler 1
tft.setCursor (50, 150);
tft.setTextColor(RED);
printTemperature(boiler);

tft.setTextSize (2);
tft.setCursor (30, 150);
tft.setTextColor(RED);
tft.println("C");

tft.setTextSize (2);
tft.setCursor (30, 100);
tft.setTextColor(RED);
tft.println("boiler 1");

tft.setTextSize (2); // temperatuur van boiler 2
tft.setCursor (190, 150);
tft.setTextColor(RED);
printTemperature(boiler2);

tft.setTextSize (2);
tft.setCursor (170, 150);
tft.setTextColor(RED);
tft.println("C");


tft.setTextSize (2);
tft.setCursor (170, 100);
tft.setTextColor(RED);
tft.println("boiler 2");


tft.drawRoundRect(160, 50, 120, 170, 20, RED); // tekening boiler 1

tft.drawRoundRect(20, 50, 120, 170, 20, RED); // tekening boiler 2


delay(5000);
tft.fillScreen(WHITE);

}


else {


unsigned long currentMillis = millis();

if (currentMillis - previousMillis > interval1) { // tussentijd voor het ophalen van de temperaturen


tft.fillRoundRect(50, 1, 90, 30, 10, WHITE); //temperaturen verversen met wit vlak
tft.fillRoundRect(175, 110, 70, 30, 10, WHITE);

sensors.requestTemperatures();
previousMillis = currentMillis;

tft.setTextSize (2); // temperatuur van de heatpipes
tft.setCursor (60, 10);
tft.setTextColor(RED);
printTemperature(heatpipe);



if (sensors.getTempC(boiler) > 48) {


digitalWrite(schakelklep, HIGH);

tft.fillRoundRect(175, 55, 70, 30, 10, WHITE); // verversen van boiler nr 1 of 2

tft.setTextSize (2);
tft.setCursor (160, 120);
tft.setTextColor(RED);
tft.println("c");

tft.drawLine(15, 105, 15, 200, BLACK); //verticaal tekening van boiler, heatpipes, leidingen
tft.drawLine(15, 200, 80, 200, BLACK); // horizontaal
tft.drawLine(120, 200, 150, 200, BLACK); // horizontaal

tft.drawLine(80, 40, 80, 160, BLACK); // verticaal
tft.drawLine(80, 160, 150, 160, BLACK); // horizontaal
tft.drawLine(10, 110, 86, 34, BLACK); //plaat
tft.drawLine(10, 109, 86, 33, BLACK); //plaat
tft.drawLine(10, 108, 86, 32, BLACK); //plaat
tft.drawLine(10, 107, 86, 31, BLACK); //plaat
tft.drawCircle(100, 200, 20, BLACK); //pomp
tft.drawLine(100, 180, 100, 220, BLACK); // pomp horizontaal
tft.fillCircle(10, 10, 30, YELLOW); //zon
tft.drawRoundRect(150, 50, 100, 170, 20, BLACK); //boiler




tft.setTextSize (2);
tft.setCursor (180, 60);
tft.setTextColor(RED);
tft.println("nr 2");

tft.setTextSize (2); // temperatuur boiler 2
tft.setCursor (180, 120);
tft.setTextColor(RED);
printTemperature(boiler2);


if (sensors.getTempC(heatpipe) > sensors.getTempC(boiler2) + 5) { //schakelaar heatpipe pomp aan
digitalWrite (collectorpomp, HIGH );
}


if
(sensors.getTempC(heatpipe) < sensors.getTempC(boiler2) + 1) {
digitalWrite (collectorpomp, LOW); //schakelaar heatpipe pomp uit


}


}

else {



digitalWrite(schakelklep, LOW); // als de temperatuur lager is als 50 graden naar boiler 1

tft.fillRoundRect(175, 55, 70, 30, 10, WHITE); // verversen boiler nr 1 of 2




tft.setTextSize (2);
tft.setCursor (160, 120);
tft.setTextColor(RED);
tft.println("c");

tft.drawLine(15, 105, 15, 200, BLACK); //verticaal tekening van boiler, heatpipes, leidingen
tft.drawLine(15, 200, 80, 200, BLACK); // horizontaal
tft.drawLine(120, 200, 150, 200, BLACK); // horizontaal

tft.drawLine(80, 40, 80, 160, BLACK); // verticaal
tft.drawLine(80, 160, 150, 160, BLACK); // horizontaal
tft.drawLine(10, 110, 86, 34, BLACK); //plaat
tft.drawLine(10, 109, 86, 33, BLACK); //plaat
tft.drawLine(10, 108, 86, 32, BLACK); //plaat
tft.drawLine(10, 107, 86, 31, BLACK); //plaat
tft.drawCircle(100, 200, 20, BLACK); //pomp
tft.drawLine(100, 180, 100, 220, BLACK); // pomp horizontaal
tft.fillCircle(10, 10, 30, YELLOW); //zon
tft.drawRoundRect(150, 50, 100, 170, 20, BLACK); //boiler

tft.setTextSize (2);
tft.setCursor (180, 60);
tft.setTextColor(RED);
tft.println("nr 1");

tft.setTextSize (2);
tft.setCursor (180, 120);
tft.setTextColor(RED);
printTemperature(boiler);







if (sensors.getTempC(heatpipe) > sensors.getTempC(boiler) + 5) { //schakelaar heatpipe pomp aan
digitalWrite (collectorpomp, HIGH );
}

if
(sensors.getTempC(heatpipe) < sensors.getTempC(boiler) + 1) {
digitalWrite (collectorpomp, LOW); //schakelaar heatpipe pomp uit
}


if (sensors.getTempC(heatpipe) > 90) {

digitalWrite(storing, LOW);




}
}
}
}
}

SVP de source code tussen de code tags [ code2=cpp] en [ /code2 ] (zonder de spaties tussen de 4-kante haakjes zetten dan wordt de code beter leesbaar

Berichten: 10
Geregistreerd: 22 Aug 2014, 16:25

Re: lui relais

Berichtdoor Patrickd83 » 01 Mei 2016, 20:31

o ja en de reden dat de tekening van de boiler heatpipes en leidingen in de loop staan is omdat er een mogelijkheid in zit om een knop in te drukken en dat ik beide boilers zie met temperaturen.

Als ik de tekening in de setup zou zetten en ik druk een keer de knop in komt de tekening niet weer in beeld

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: lui relais

Berichtdoor nicoverduin » 02 Mei 2016, 07:10

Patrickd83 schreef:o ja en de reden dat de tekening van de boiler heatpipes en leidingen in de loop staan is omdat er een mogelijkheid in zit om een knop in te drukken en dat ik beide boilers zie met temperaturen.

Als ik de tekening in de setup zou zetten en ik druk een keer de knop in komt de tekening niet weer in beeld
Dat klopt. Op het moment dat je deze functie aanroept wordt het scherm gewist:
cpp code
tft.fillScreen(WHITE);

Terwijl daar geen enkele noodzaak toe is. In de loop() moet je alleen maar de velden bijwerken. Niet het hele scherm updaten.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 2
Geregistreerd: 18 Sep 2016, 07:22

Re: lui relais

Berichtdoor martin.k » 18 Sep 2016, 08:05

Leuk project.
Ik ben als newbee bezig met iets soortgelijks; aansturing van een lucht/water warmtepomp in 3 capaciteitstrappen en een zonnecollector.
Wat me verbaasd is dat je voor de pomp een aan/uit regeling gebruikt.
De Arduino is prima in staat een PWM signaal te leveren en pompjes met PWM toerenregeling zijn ook verkrijgbaar.
Start de pomp op laag toerental bij meer dan 5K verschil tussen boiler en collector en laat het toerental langzaam toenemen zolang het verschil boven 5K blijft of 10K bereikt.
Zo gebruikt je pomp niet meer stroom dan nodig en kun je een optimale delta T aanhouden.
Je bent dan ook van het probleem met de inzakkende voeding bij het inschakelen het relais af.
Ik was hier ook al tegenaan gelopen, ik heb een 5V 8 kanaals relaisboard voorlopig op de 5V van de arduino aangesloten.
Bij het inschakelen van een relais zakt de spanning ca 0,1V waardoor de temperatuurregeling instabiel wordt.

Volgende

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 13 gasten