Zonnetracker vollop benut
Re: Zonnetracker vollop benut
Heb jouw sketch geladen, maar hij komt niet door de compiler heen.
Aangezien deze millis voor mij de eerste keer is dat ik ze gebruik in een "echt" programma weet ik ook niet wat ik met de fout aan moet.
Arduino:1.8.9 (Windows 7), Board:"Arduino Nano, ATmega328P"
2019-09-05_test_1:46:3: error: expected initializer before 'currentMillis'
currentMillis = millis(); //Stel de tijd in
^
2019-09-05_test_1:47:3: error: expected unqualified-id before 'if'
if ( currentMillis - previousMillis >= interval)
^
PS, andere voorbeelden van internet waar millis uitgelegd worden heb ik wel geprobeerd en die komen wel door de compiler terwijl de opzet eigenlijk gelijk is.
Aangezien deze millis voor mij de eerste keer is dat ik ze gebruik in een "echt" programma weet ik ook niet wat ik met de fout aan moet.
Arduino:1.8.9 (Windows 7), Board:"Arduino Nano, ATmega328P"
2019-09-05_test_1:46:3: error: expected initializer before 'currentMillis'
currentMillis = millis(); //Stel de tijd in
^
2019-09-05_test_1:47:3: error: expected unqualified-id before 'if'
if ( currentMillis - previousMillis >= interval)
^
PS, andere voorbeelden van internet waar millis uitgelegd worden heb ik wel geprobeerd en die komen wel door de compiler terwijl de opzet eigenlijk gelijk is.
Advertisement
Re: Zonnetracker vollop benut
Wanneer je deze sketch: http://arduinoforum.nl/viewtopic.php?f=20&t=3152&hilit=stel+de+tijd+in+stel+de+tijd+in+zonnetracker#p25753.
vergelijkt met deze sketch: http://arduinoforum.nl/viewtopic.php?f=20&t=3152&hilit=stel+de+tijd+in+stel+de+tijd+in+zonnetracker&start=60#p26323
dan zie je dat bij de eerste de 'currentMillis' binnen de loop() wordt gedeclareerd als lokale variabele en bij de tweede boven setup() als globale variabele.
Als dat in orde is, kijk dan naar de regel vóór de foutmelding.
vergelijkt met deze sketch: http://arduinoforum.nl/viewtopic.php?f=20&t=3152&hilit=stel+de+tijd+in+stel+de+tijd+in+zonnetracker&start=60#p26323
dan zie je dat bij de eerste de 'currentMillis' binnen de loop() wordt gedeclareerd als lokale variabele en bij de tweede boven setup() als globale variabele.
Als dat in orde is, kijk dan naar de regel vóór de foutmelding.
Re: Zonnetracker vollop benut
De fout (lijn) wordt zelfs gekleurd aangegeven, currentMillis = millis(); //Stel de tijd in , maar ik zie (nog) niet wat ik daarmee aan moet.
Uit het voorbeeld op de eerste pagina van dit topic kan ik ook niet afleiden wat ik hiermee moet doen.....sorry.
Nogmaals het ligt echt niet aan jullie, maar ik zie de millis nog niet zoals jullie deze gebruiken.
Uit het voorbeeld op de eerste pagina van dit topic kan ik ook niet afleiden wat ik hiermee moet doen.....sorry.
Nogmaals het ligt echt niet aan jullie, maar ik zie de millis nog niet zoals jullie deze gebruiken.
Re: Zonnetracker vollop benut
Als je wilt dat ik het compiler dan wil ik graag weten:
- Welke sketch
- Welke Arduino IDE versie
- Welke library en hoe en waar vandaan
- Voor welk Arduino board
Ik ben terug gegaan in dit onderwerp en heb de eerste sketch gepakt die ik tegenkwam.
Ik gebruik Arduino IDE 1.8.9
In de Bibliotheek Beheer heb ik "LiquidCrystal I2C by Frank de Brabanber", versie 1.1.2 geïnstalleerd.
Vervolgens koos ik Arduino Uno.
Dat compileerde.
Sketch uses 8734 bytes (27%) of program storage space.
Global variables use 966 bytes (47%) of dynamic memory
- Welke sketch
- Welke Arduino IDE versie
- Welke library en hoe en waar vandaan
- Voor welk Arduino board
Ik ben terug gegaan in dit onderwerp en heb de eerste sketch gepakt die ik tegenkwam.
Ik gebruik Arduino IDE 1.8.9
In de Bibliotheek Beheer heb ik "LiquidCrystal I2C by Frank de Brabanber", versie 1.1.2 geïnstalleerd.
Vervolgens koos ik Arduino Uno.
Dat compileerde.
Sketch uses 8734 bytes (27%) of program storage space.
Global variables use 966 bytes (47%) of dynamic memory
Re: Zonnetracker vollop benut
Het enige verschil is de <LiquidCrystal_I2C.h>, de rest is bij mij hetzelfde.
De sketch welke nu in het paneel zit met de delay en geen fouten heeft, maar waar de motoren blijven doorlopen.
De sketch van Gij Kieken waarbij ik dus de volgende foutmelding krijg.
Arduino:1.8.9 (Windows 7), Board:"Arduino Nano, ATmega328P"
2019-09-05_test_1:46:3: error: expected initializer before 'currentMillis'
currentMillis = millis(); //Stel de tijd in
^
2019-09-05_test_1:47:3: error: expected unqualified-id before 'if'
if ( currentMillis - previousMillis >= interval)
^
Meerdere bibliotheken gevonden voor "LiquidCrystal_I2C.h"
Gebruikt: C:\Users\gompy\Documents\Arduino\libraries\LiquidCrystal_I2C
Niet gebruikt: C:\Users\gompy\Documents\Arduino\libraries\arduino_651977
Niet gebruikt: C:\Users\gompy\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master
exit status 1
expected initializer before 'currentMillis'
Dit rapport zou meer informatie bevatten met
"Uitgebreide uitvoer weergeven tijden compilatie"
optie aan in Bestand -> Voorkeuren.
Ik hoop dat nu duidelijk is waarmee ik in "gevecht" ben....voorlopig vallen hier nog geen slachtoffers
De sketch welke nu in het paneel zit met de delay en geen fouten heeft, maar waar de motoren blijven doorlopen.
- Code: Alles selecteren
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,20,4); // LCD GREEN
#define SECOND 1000UL
#define MINUTE (SECOND * 60UL)
#define HOUR (MINUTE * 60UL)
// motor azimuth
int in1 = 9; // D9 output to in1 L298N module
int in2 = 10; // D10 output to in2 L298N module
// motor elevation
int in3 = 11; // D11 output to in3 L298N module
int in4 = 12; // D12 output to in4 L298N module
void setup()
{
Serial.begin(9600); // initialize the serial port
lcd.init(); // initialize the lcd
lcd.backlight(); // ON
pinMode(in1, OUTPUT); // D9 to module in1 L298N
pinMode(in2, OUTPUT); // D10 to module in2 L298N
pinMode(in3, OUTPUT); // D11 to module in3 L298N
pinMode(in4, OUTPUT); // D12 to todule in3 L298N
pinMode(A0, INPUT); // Top left LDR
pinMode(A1, INPUT); // Top right LDR
pinMode(A2, INPUT); // Bottom left LDR
pinMode(A3, INPUT); // Bottom right LDR
pinMode(A6, INPUT); // Potentiometer reading tolerance LDR's
pinMode(A7, INPUT); // Potentiometer reading looptime
}
void loop()
{
// LDR LIGHT SENSORS
int tr = analogRead(A0); // LDR top right
int br = analogRead(A1); // LDR bottom right
int tl = analogRead(A2); // LDR top left
int bl = analogRead(A3); // LDR bottom left
// control delay time in milliseconds of LIGHT SENSOR readings - Arduino LED indicate time
// Input A7 0 till 5 Volt
int delaytime = analogRead(A7)*29.326 ; // 30 seconds wait befor next_run
// set range for read timne 30 sec
int next_loop = map(analogRead(A7), 1023, 0, 30, 0);
// set range of tolerance between LIGHT SENSOR readings
// Input A6 0 till 5 Volt
int tolerance = analogRead(A6)/40.96; // 20.48 = difference 50 between sensors
// set average values LDR's
int avt = (tr + tl) / 2; // average value top
int avd = (bl + br) / 2; // average value down
int avl = (tl + bl) / 2; // average value left
int avr = (tr + br) / 2; // average value right
// average difference of top and bottom LIGHT SENSORS
int dv = avt - avd;
// average difference of left and right LIGHT SENSORS
int dh = avl - avr;
//print LIGHT SENSOR values to serial monitor for debugging
Serial.println("********************");
Serial.print("Top Left\t");
Serial.print(tl);
Serial.println();
Serial.print("Top Right\t");
Serial.print(tr);
Serial.println();
Serial.print("Bottom Left\t");
Serial.print(bl);
Serial.println();
Serial.print("Bottom Right\t");
Serial.print(br);
Serial.println();
Serial.println();
Serial.print("Delaytime sec\t");
Serial.print(next_loop);
Serial.println();
Serial.println();
Serial.print("Tolerance\t");
Serial.print(tolerance);
Serial.println();
Serial.println();
Serial.print("+UP<>DOWN-\t");
Serial.print(dv);
Serial.println();
Serial.print("AVT - up\t");
Serial.print(avt);
Serial.println();
Serial.print("AVD - down\t");
Serial.print(avd);
Serial.println();
Serial.println();
Serial.print("+WEST<>EAST-\t");
Serial.print(dh);
Serial.println();
Serial.print("AVL - west\t");
Serial.print(avl);
Serial.println();
Serial.print("AVR - east\t");
Serial.print(avr);
Serial.println();
Serial.println();
if (-1*tolerance > dv || dv > tolerance) // check if the difference in top/bottom LIGHT SENSORS is greater than tolerance
{
// change direction motor with < and >
if (avt < avd) // if average LIGHT SENSOR values on top side are smaller than on bottom side then elevation motor rotates CLOCKWISE
{
// set motor Elevation down
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
Serial.println("ELEVATION MOTOR DOWN");
lcd.setCursor(0,0);
lcd.print("ELEVATION : DOWN "); // print lcd row 1
}
else // if average LIGHT SENSOR values on bottom side are greater than on top side then elevation motor rotates COUNTERCLOCKWISE
{
// set motor Elevation up
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
Serial.println("ELEVATION MOTOR UP");
lcd.setCursor(0,0);
lcd.print("ELEVATION : UP ");// print lcd row 1
}
}
else if (-1*tolerance < dv || dv < tolerance) // if difference is smaller than tolerance, STOP elevation motor
{
// stop Elevation motor
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
Serial.println("ELEVATION MOTOR STOP");
lcd.setCursor(0,0);
lcd.print("ELEVATION : STOP "); // print lcd row 1
// Elevation moves down at night
if (avt < 100)
{
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
Serial.println("ELEVATION MOTOR NIGHT");
lcd.setCursor(0,0);
lcd.print("ELEVATION : NIGHT"); // print lcd row 1
}
}
if (-1*tolerance > dh || dh > tolerance) // check if the difference in left and right LIGHT SENSORS is within tolerance range
{
// change direction motor with < and >
if (avr < avl) // if average LIGHT SENSOR values on left side are greater than right side, azimuth motor rotates CLOCKWISE
{
// set motor Azimuth west / left
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
Serial.println("AZIMUTH MOTOR WEST");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : WEST "); // print lcd row 2
}
else // if average LIGHT SENSOR values on right side are greater than on left side, azimuth motor rotates COUNTERCLOCKWISE
{
// set motor Azimuth east / right
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
Serial.println("AZIMUTH MOTOR EAST");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : EAST "); // print lcd row 2
}
}
else if (-1*tolerance < dh || dh < tolerance) //if difference is smaller than tolerance, STOP azimuth motor
{
// stop motor Azimuth
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
Serial.println("AZIMUTH MOTOR STOP");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : STOP "); // print lcd row 2
}
// Azimuth moves east at night / right
if (avl < 100)
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
Serial.println("AZIMUTH MOTOR NIGHT");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : NIGHT"); // print lcd row 2
}
// print lcd delaytime row 3
lcd.setCursor(0,2);
lcd.print("DELAY : ");
char temp[5]; // enough room for 4 numbers
snprintf(temp,6, "%4d", (delaytime/1000)); // %4d = 4 digits, right aligned
lcd.print(temp);
lcd.setCursor(18, 2); // original 18
lcd.print("s"); // time in seconds
{
// print lcd sensitive row 4
lcd.setCursor(0,3);
lcd.print("TOLERANCE : ");
char temp1[5]; // enough room for4 numbers
snprintf(temp1,6, "%5d", tolerance); // %4d = 4 digets, right aligned
lcd.print(temp1);
lcd.setCursor(18, 3);
lcd.print("+-");
delay(next_loop * SECOND);
}
}
void print2digits(int number)
{
if (number >= 0 && number < 10)
{
Serial.write('0');
}
Serial.print(number);
}
De sketch van Gij Kieken waarbij ik dus de volgende foutmelding krijg.
Arduino:1.8.9 (Windows 7), Board:"Arduino Nano, ATmega328P"
2019-09-05_test_1:46:3: error: expected initializer before 'currentMillis'
currentMillis = millis(); //Stel de tijd in
^
2019-09-05_test_1:47:3: error: expected unqualified-id before 'if'
if ( currentMillis - previousMillis >= interval)
^
Meerdere bibliotheken gevonden voor "LiquidCrystal_I2C.h"
Gebruikt: C:\Users\gompy\Documents\Arduino\libraries\LiquidCrystal_I2C
Niet gebruikt: C:\Users\gompy\Documents\Arduino\libraries\arduino_651977
Niet gebruikt: C:\Users\gompy\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master
exit status 1
expected initializer before 'currentMillis'
Dit rapport zou meer informatie bevatten met
"Uitgebreide uitvoer weergeven tijden compilatie"
optie aan in Bestand -> Voorkeuren.
- Code: Alles selecteren
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LiquidCrystal_I2C lcd(0x27,20,4); // LCD BLUE
LiquidCrystal_I2C lcd(0x3F,20,4); // LCD GREEN
// motor azimuth
int in1 = 9; // D9 output to in1 L298N module
int in2 = 10; // D10 output to in2 L298N module
// motor elevation
int in3 = 11; // D11 output to in3 L298N module
int in4 = 12; // D12 output to in4 L298N module
// Nodig voor de asynchrone Timer
unsigned long currentMillis; //De huidige tijd
unsigned long previousMillis; //De vorige tijd
unsigned long interval = 60000; //Interval 1*1000mS*60S=1min
int enableState = HIGH; //We starten met aan
void setup()
{
Serial.begin(9600); // initialize the serial port
lcd.init(); // initialize the lcd
lcd.backlight(); // ON
pinMode(in1, OUTPUT); // D9 to module in1 L298N
pinMode(in2, OUTPUT); // D10 to module in2 L298N
pinMode(in3, OUTPUT); // D11 to module in3 L298N
pinMode(in4, OUTPUT); // D12 to todule in3 L298N
pinMode(A0, INPUT); // Top left LDR
pinMode(A1, INPUT); // Top right LDR
pinMode(A2, INPUT); // Bottom left LDR
pinMode(A3, INPUT); // Bottom right LDR
pinMode(A6, INPUT); // Potentiometer reading tolerance between LDR's
pinMode(A7, INPUT); // Potentiometer reading looptime
}
void loop()
//Hier de routine om de vlag enableState asynchroon te laten lopen
currentMillis = millis(); //Stel de tijd in
if ( currentMillis - previousMillis >= interval)
{
//Is de tijd verlopen?
previousMillis = currentMillis; //Onthoud de laatste waarde
if ( enableState == HIGH)
{
//Was de State Aan ?
interval = 1800000; //Nieuw interval Uit tijd op 30min (1*1000*60*30)
enableState = LOW; //Zet de status Uit
}
else
{
//Was de State Uit?
interval = 60000; //Nieuw interval Aan tijd op 1 min
enableState = HIGH; //Zet de status Aan
}
}
{
// LDR LIGHT SENSORS
int tr = analogRead(A0); // LDR top right
int br = analogRead(A1); // LDR bottom right
int tl = analogRead(A2); // LDR top left
int bl = analogRead(A3); // LDR bottom left
// control delay time in milliseconds of LIGHT SENSOR readings - Arduino LED indicate time
// Input A7 0 till 5 Volt
int delaytime = analogRead(A7)*29.326 ; // 30 seconds wait befor next_run
// set range for read timne 30 sec
int next_loop = map(analogRead(A7), 1023, 0, 30, 0);
// set range of tolerance between LIGHT SENSOR readings
// Input A6 0 till 5 Volt
int tolerance = analogRead(A6)/40.96; // 20.48 = difference 50 between sensors
// set average values LDR's
int avt = (tr + tl) / 2; // average value top
int avd = (bl + br) / 2; // average value down
int avl = (tl + bl) / 2; // average value left
int avr = (tr + br) / 2; // average value right
// average difference of top and bottom LIGHT SENSORS
int dv = avt - avd;
// average difference of left and right LIGHT SENSORS
int dh = avl - avr;
//print LIGHT SENSOR values to serial monitor for debugging
Serial.println("********************");
Serial.print("Top Left\t");
Serial.print(tl);
Serial.println();
Serial.print("Top Right\t");
Serial.print(tr);
Serial.println();
Serial.print("Bottom Left\t");
Serial.print(bl);
Serial.println();
Serial.print("Bottom Right\t");
Serial.print(br);
Serial.println();
Serial.println();
Serial.print("Delaytime sec\t");
Serial.print(next_loop);
Serial.println();
Serial.println();
Serial.print("Tolerance\t");
Serial.print(tolerance);
Serial.println();
Serial.println();
Serial.print("+UP<>DOWN-\t");
Serial.print(dv);
Serial.println();
Serial.print("AVT - up\t");
Serial.print(avt);
Serial.println();
Serial.print("AVD - down\t");
Serial.print(avd);
Serial.println();
Serial.println();
Serial.print("+WEST<>EAST-\t");
Serial.print(dh);
Serial.println();
Serial.print("AVL - west\t");
Serial.print(avl);
Serial.println();
Serial.print("AVR - east\t");
Serial.print(avr);
Serial.println();
Serial.println();
if (-1*tolerance > dv || dv > tolerance) // check if the difference in top/bottom LIGHT SENSORS is greater than tolerance
{
// change direction motor with < and >
if (avt < avd) // if average LIGHT SENSOR values on top side are smaller than on bottom side then elevation motor rotates CLOCKWISE
{
// set motor Elevation down
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
Serial.println("ELEVATION MOTOR DOWN");
lcd.setCursor(0,0);
lcd.print("ELEVATION : DOWN "); // print lcd row 1
}
else // if average LIGHT SENSOR values on bottom side are greater than on top side then elevation motor rotates COUNTERCLOCKWISE
{
// set motor Elevation up
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
Serial.println("ELEVATION MOTOR UP");
lcd.setCursor(0,0);
lcd.print("ELEVATION : UP ");// print lcd row 1
}
}
else if (-1*tolerance < dv || dv < tolerance) // if difference is smaller than tolerance, STOP elevation motor
{
// stop Elevation motor
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
Serial.println("ELEVATION MOTOR STOP");
lcd.setCursor(0,0);
lcd.print("ELEVATION : STOP "); // print lcd row 1
// Elevation moves down at night
if (avt < 100)
{
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
Serial.println("ELEVATION MOTOR NIGHT");
lcd.setCursor(0,0);
lcd.print("ELEVATION : NIGHT"); // print lcd row 1
}
}
if (-1*tolerance > dh || dh > tolerance) // check if the difference in left and right LIGHT SENSORS is within tolerance range
{
// change direction motor with < and >
if (avr < avl) // if average LIGHT SENSOR values on left side are greater than right side, azimuth motor rotates CLOCKWISE
{
// set motor Azimuth west / left
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
Serial.println("AZIMUTH MOTOR WEST");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : WEST "); // print lcd row 2
}
else // if average LIGHT SENSOR values on right side are greater than on left side, azimuth motor rotates COUNTERCLOCKWISE
{
// set motor Azimuth east / right
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
Serial.println("AZIMUTH MOTOR EAST");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : EAST "); // print lcd row 2
}
}
else if (-1*tolerance < dh || dh < tolerance) //if difference is smaller than tolerance, STOP azimuth motor
{
// stop motor Azimuth
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
Serial.println("AZIMUTH MOTOR STOP");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : STOP "); // print lcd row 2
}
// Azimuth moves east at night / right
if (avl < 100)
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
Serial.println("AZIMUTH MOTOR NIGHT");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : NIGHT"); // print lcd row 2
}
// print lcd delaytime row 3
lcd.setCursor(0,2);
lcd.print("DELAY : ");
char temp[5]; // enough room for 4 numbers
snprintf(temp,6, "%4d", (delaytime/1000)); // %4d = 4 digits, right aligned
lcd.print(temp);
lcd.setCursor(18, 2); // original 18
lcd.print("s"); // time in seconds
{
// print lcd sensitive row 4
lcd.setCursor(0,3);
lcd.print("TOLERANCE : ");
char temp1[5]; // enough room for4 numbers
snprintf(temp1,6, "%5d", tolerance); // %4d = 4 digets, right aligned
lcd.print(temp1);
lcd.setCursor(18, 3);
lcd.print("+-");
delay(300);//Dit in de plaats
}
}
void print2digits(int number)
{
if (number >= 0 && number < 10)
{
Serial.write('0');
}
Serial.print(number);
}
Ik hoop dat nu duidelijk is waarmee ik in "gevecht" ben....voorlopig vallen hier nog geen slachtoffers
Re: Zonnetracker vollop benut
Gompy schreef:Ik hoop dat nu duidelijk is waarmee ik in "gevecht" ben....voorlopig vallen hier nog geen slachtoffers
Ik hoopte eigenlijk dat jij mij zou kunnen vertellen welke LiquidCrystal_I2C library ik moet installeren, en hoe, en waar vandaan.
Re: Zonnetracker vollop benut
Deze gebruik ik https://github.com/fdebrabander/Arduino ... 2C-library
Ik weet niet wat er aan de hand is, maar voor de tweede keer is mijn blauwe display op de werkbank ermee gestopt.
Het programma loopt wel, maar ik heb geen uitlezing meer op de blauwe display(en) terwijl de groene het gewoon blijven doen.....
Ik weet niet wat er aan de hand is, maar voor de tweede keer is mijn blauwe display op de werkbank ermee gestopt.
Het programma loopt wel, maar ik heb geen uitlezing meer op de blauwe display(en) terwijl de groene het gewoon blijven doen.....
Re: Zonnetracker vollop benut
Die displays zijn gevoelig voor elektrische storing. Een boormachine vlak bij het display kan problemen geven. Ik weet niet hoe goed je Arduino of het scherm zijn beschermd en of de voeding storing geeft.
Ik heb deze gedownload: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library.
Toen de laatste sketch die je liet zien geprobeerd.
De lcd.init() heb ik vervangen door lcd.begin() en toen compileerde het.
Volgens mij heb je een puinhoop van alle libraries. Het lijkt er op dat je meerdere LiquidCrystal_I2C libraries gedownload hebt. Arduino kiest dan zelf iets, en dat is niet automatisch de goede.
Ik heb deze gedownload: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library.
Toen de laatste sketch die je liet zien geprobeerd.
De lcd.init() heb ik vervangen door lcd.begin() en toen compileerde het.
Volgens mij heb je een puinhoop van alle libraries. Het lijkt er op dat je meerdere LiquidCrystal_I2C libraries gedownload hebt. Arduino kiest dan zelf iets, en dat is niet automatisch de goede.
Re: Zonnetracker vollop benut
De test opstelling ligt gewoon naast mijn laptop op het bureau,zoals al 2 jaar, dus totaal geen boormachines oid die zouden kunnen storen.
Aan de test opstelling zitten ook geen motortjes, gewoon een paar |LED's die aangeven wat links of rechts is.
Maar wat zou dan stuk zijn, de LCD of dat I2C printje ?
Maar eigenlijk heb ik er geen nodig, de monitorfunctie geeft ook goed weer, daarna kan ik altijd de LCD toevoegen.
De lib's heb ik opgeschoond, er staat er nu nog maar één, en gebruik nu ook lcd.begin dus we zijn gelijk aan elkaar.
Bij compileren zie ik ook niet meer een paar keer.....gebruik xxxxx.h ipv xxxxx enz., hij pakt gelijk de goede.
Aan de test opstelling zitten ook geen motortjes, gewoon een paar |LED's die aangeven wat links of rechts is.
Maar wat zou dan stuk zijn, de LCD of dat I2C printje ?
Maar eigenlijk heb ik er geen nodig, de monitorfunctie geeft ook goed weer, daarna kan ik altijd de LCD toevoegen.
De lib's heb ik opgeschoond, er staat er nu nog maar één, en gebruik nu ook lcd.begin dus we zijn gelijk aan elkaar.
Bij compileren zie ik ook niet meer een paar keer.....gebruik xxxxx.h ipv xxxxx enz., hij pakt gelijk de goede.
Re: Zonnetracker vollop benut
I2C heeft een paar weerstandjes nodig ter afsluiting aan beide zijden.
En je gebruikt maar een software driver dus geen echte stroomsturing.
De software nakijken op memorygebruik ed
En je gebruikt maar een software driver dus geen echte stroomsturing.
De software nakijken op memorygebruik ed
paul deelen
shooter@home.nl
shooter@home.nl
Terug naar Afgeronde projecten
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 13 gasten