Wie kan me het duwtje in de juiste richting geven

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

Re: Wie kan me het duwtje in de juiste richting geven

Berichtdoor nicoverduin » 14 Feb 2016, 14:29

Als je zo af en toe eens jouw source formatteerd (funcite CTRL+T) dan krijg je een inzicht hoe het programma in elkaar zit. Bij elke open accolade hoort een sluit accolade. Na de CTRL T ziet het er ineens heel anders uit.
cpp code
#include<LiquidCrystal.h>
//spanning op display (v0) MOET 0.8 v ZIJN
LiquidCrystal lcd(52, 53, 48, 49, 50, 51);

const int relais1 = 22;
const int relais2 = 23;
const int relais3 = 24; // actief tussen onder en bovengrens
const int ingang1 = 2;
const int ingang2 = 3;
const int ingang3 = 4;
boolean M_accu1; // dit betekent M_accu1=0 net als alles hierbeneden
boolean M_accu2;
boolean M_accu3;
boolean M_accu4;
boolean M_accu5; //reserve
boolean M_accu6; //reserve

float spanning_bovengrens = 14.0; //272; // float gebruiken met echte voltages
float spanning_ondergrens = 11.9; //220; // 11 Volt= 197
float spanning_startgrens = 13.0; //240; // 12 Volt= 224
float spanning_stopgrens = 12.5; //230; // 12 Volt= 224
unsigned long Timer1;
unsigned long Timer2;
unsigned long Timer3;

float input_voltage = 0.0;
float temp = 0.0;
float r1 = 100000.0;
float r2 = 10060.0;

void setup() {
pinMode(relais1, OUTPUT);
pinMode(relais2, OUTPUT);
pinMode(relais3, OUTPUT);
pinMode(ingang1, INPUT);
pinMode(ingang2, INPUT);
pinMode(ingang3, INPUT);
}
void loop() {
int analog_value = analogRead(A0);
temp = (analog_value * 5.0) / 1024.0;
input_voltage = temp / (r2 / (r1 + r2));

if (input_voltage < 0.1) {
input_voltage = 0.0;
}
Serial.print("v= ");
Serial.println(input_voltage);
Serial.print("analog_value = ");
Serial.println(analog_value);

{
lcd.begin(16, 2); //// set up the LCD's number of columns and rows: hoort in setup
if (digitalRead(M_accu1) == true) { // dit is dus digitalRead(0) en dat is dus seriele pin. dus verkeerde pinnummer. als dit een merker is dan schrijf
if (M_accu1) {
lcd.print("Groene energie");
} else {
lcd.print("Net bedrijf");
}
lcd.setCursor(0, 1);
lcd.print("Spanning=");
lcd.print(input_voltage);
delay(500);

if (input_voltage > spanning_startgrens) {
M_accu1 = true;
}
if (input_voltage < spanning_startgrens) {
M_accu1 = false;
}
if (M_accu1) // dit is het overnemen van een merker naar een output
{
digitalWrite(relais1, HIGH);
} else {
digitalWrite(relais1, LOW);
} //schakeld relais 1 bij start en stopgrens

if (!M_accu1) {
Timer1 = millis();
M_accu4 = false;
}
if (millis() - Timer1 >= 3000) {
M_accu4 = true;
}

if (M_accu4) { // hier weet ik even niet wat bedoeld is
Timer2 = millis();
M_accu5 = true;
}
if (millis() - Timer2 >= 4000) {
M_accu5 = false;
}

if (M_accu4 || M_accu5) {
digitalWrite(relais2, true);
} else {
digitalWrite(relais2, false);
} // na ingestelde tijd komt K2 bij
//hier de input gebruiken
if (input_voltage <= spanning_bovengrens
&& input_voltage >= spanning_ondergrens)
Timer3 = millis();
{
M_accu3 = true;
}
if (millis() - Timer3 >= 5000) {
(M_accu3 = false);
}

if (M_accu3 == true) {
digitalWrite(relais3, HIGH);
} else {
digitalWrite(relais3, LOW);
}
}
}
}
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Advertisement

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

Re: Wie kan me het duwtje in de juiste richting geven

Berichtdoor shooter » 14 Feb 2016, 20:32

dit is niet het programma wat ik je gegeven heb!!
regel 54 heb je // weggehaald en dus gaat het fout.

in regel 52 staat ook een { teveel die kan ook weg.
die stond er maar was geen probleem.

en dus onderaan moet je er ook 2 weghalen.

wel lezen waarom ik iets verandert heb en niet gewoon terug zetten er is een reden dat ik het verbeterd heb een regel lager.
dan kun je de verschillen zien.
paul deelen
shooter@home.nl

Berichten: 20
Geregistreerd: 25 Apr 2015, 15:18

Re: Wie kan me het duwtje in de juiste richting geven

Berichtdoor Norbert » 15 Feb 2016, 12:52

Okay
Ik zal het vanavond even checken
Dus voor merkers nooi digitalRead gebruiken.

Bedankt weer.
En ik leer steeds meer.

Groet,
Norbert

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

Re: Wie kan me het duwtje in de juiste richting geven

Berichtdoor shooter » 15 Feb 2016, 19:33

inderdaad, had ik ze allemaal weggehaald voor de derde keer, zet jij ze er weer in.
in de PLC mag dat overigens ook niet he.
en dus ook geen digitalWrite.
paul deelen
shooter@home.nl

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

Re: Wie kan me het duwtje in de juiste richting geven

Berichtdoor nicoverduin » 15 Feb 2016, 21:07

shooter schreef:inderdaad, had ik ze allemaal weggehaald voor de derde keer, zet jij ze er weer in.
Bofkont :mrgreen: :mrgreen: :mrgreen:
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

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

Re: Wie kan me het duwtje in de juiste richting geven

Berichtdoor shooter » 15 Feb 2016, 23:36

och ik heb een zwak voor de PLC gasten.
paul deelen
shooter@home.nl

Vorige

Terug naar Arduino IDE

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten