Hallo, ik heb de code voor de LCD proberen te schrijven maar struikel over de volgende melding.
exit status 1
'lcd' does not name a type
Hieronder staat de code die ik probeer te gebruiken, maar na uren "prutsen" slaag ik er toch niet in om door de sketch heen te komen.
Waar de <<<<<<<<<< staan in de code gaat het mis
BTW, ik gebruik de LiquidCrystal.h uit de library welke ik ook heb gebruikt voor "Hello world" enz
Mvg, Rob
#include <Servo.h> // include Servo library
#include <LiquidCrystal.h> // Include LCD library
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Servo horizontal; // horizontal servo
int servoh = 90; // stand horizontal servo
Servo vertical; // vertical servo
int servov = 90; // stand vertical servo
// LDR pin connections
// name = analogpin;
int ldrlt = 0; //LDR top left (blueSensor)
int ldrrt = 1; //LDR top rigt (greenSensor)
int ldrld = 2; //LDR down left (brownSensor)
int ldrrd = 3; //LDR down rigt (orangeSensor)
void setup()
{
Serial.begin(9600);
// servo connections
// name.attacht(pin);
lcd.begin (16,2);
horizontal.attach(9);
vertical.attach(10);
}
void loop()
{
int lt = analogRead(ldrlt); // top left
int rt = analogRead(ldrrt); // top right
int ld = analogRead(ldrld); // down left
int rd = analogRead(ldrrd); // down right
int dtime = analogRead(4)/20; // read potentiometers
int tol = analogRead(5)/4;
int avt = (lt + rt) / 2; // average value top
int avd = (ld + rd) / 2; // average value down
int avl = (lt + ld) / 2; // average value left
int avr = (rt + rd) / 2; // average value right
int dvert = avt - avd; // check the diffirence of up and down
int dhoriz = avl - avr;// check the diffirence og left and right
if (-1*tol > dvert || dvert > tol) // check if the diffirence is in the tolerance else change vertical angle
{
if (avt > avd)
{
servov = ++servov;
if (servov > 135)
{
servov = 135;
}
}
else if (avt < avd)
{
servov= --servov;
if (servov < 45)
{
servov = 45;
}
}
vertical.write(servov);
}
if (-1*tol > dhoriz || dhoriz > tol) // check if the diffirence is in the tolerance else change horizontal angle
{
if (avl > avr)
{
servoh = --servoh;
if (servoh < 0)
{
servoh = 0;
}
}
else if (avl < avr)
{
servoh = ++servoh;
if (servoh > 180)
{
servoh = 180;
}
}
else if (avl = avr)
{
// nothing
}
horizontal.write(servoh);
}
delay(dtime);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Horizontal: ");
lcd.print(servoh);
delay(100);
lcd.setCursor(0,1);
lcd.print(" Vertical: ");
lcd.print(servov); <<<<<<<<<<<<<<<<<<<<<<<
delay(100);
Serial.print(" horizontal\t");
Serial.print(servoh);
Serial.print(" \t green ");
Serial.print(ldrrt);
Serial.print(" \t blue ");
Serial.print(ldrlt);
Serial.print(" difference ");
Serial.print(ldrrt - ldrlt);
Serial.print(" vertical\t");
Serial.print(servov);
Serial.print(" \t brown ");
Serial.print(ldrld);
Serial.print(" \t orange ");
Serial.print(ldrrd);
Serial.print(" difference ");
Serial.println(ldrld - ldrrd);
delay(1000);
}