Dzień dobry! Napisałem przed chwilą kod . Pracuję nad szkolnym projektem , quiz o elektronice , klasa 6 szkoła podstawowa. Takie żadne urządzenie , prosty projekt na płytce stykowej . wyświetlacz lcd 16x2 oraz 5 przycisków . Ale tak , kod się nie kompiluje . nie wiem w ogóle czego ten błąd dotyczy a brzmi on tak "a function-definition is not allowed here before '{' token" . problem pojawia się przy void wczytywanie(){
mój kod:
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
bool login;
bool animacja;
int p1pin = 6;
int p2pin = 7;
int p3pin = 8;
int p4pin = 9;
int p5pin = 10;
int p1 = 0;
int p2 = 0;
int p3 = 0;
int p4 = 0;
int p5 = 0;
int punkty;
void wczytywanie();
void dobrze();
void zle();
void setup()
{
pinMode(6,INPUT);
pinMode(7,INPUT);
pinMode(8,INPUT);
pinMode(9,INPUT);
pinMode(10,INPUT);
lcd.begin(16,2);
//ekran główny
lcd.setCursor(3,0);
lcd.print("quiz");
while(login = false){
if(animacja == true){
lcd.setCursor(2,1);
lcd.print("start");
animacja == false;
delay(500);
}
else if(animacja == false){
lcd.setCursor(2,1);
lcd.print(" ");
animacja == true;
delay(500);
}
p1 = digitalRead(p1pin);
p2 = digitalRead(p2pin);
p3 = digitalRead(p3pin);
p4 = digitalRead(p4pin);
p5 = digitalRead(p5pin);
if((p1 == HIGH)||(p2 == HIGH)||(p3 == HIGH)||(p4 == HIGH)||(p4 == HIGH)||(p5 == HIGH)){
delay(200);
lcd.clear();
lcd.setCursor(3,0);
lcd.print("wczytywanie");
delay(2000);
login == true;
}
}
//regulamin
lcd.clear();
lcd.setCursor(0,0);
lcd.print("zaraz na ekranie");
lcd.setCursor(0,1);
lcd.print("zobaczysz");
delay(3000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("nazwy elenentow");
lcd.setCursor(0,1);
lcd.print("elektronicznych");
delay(3000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("twoim zadaniem");
lcd.setCursor(0,1);
lcd.print("jest nacisniecie");
delay(3000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("odpowiedniej");
lcd.setCursor(0,1);
lcd.print("ikony");
delay(3000);
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("zaczynajmy!!!");
p1 = digitalRead(p1pin);
p2 = digitalRead(p2pin);
p3 = digitalRead(p3pin);
p4 = digitalRead(p4pin);
p5 = digitalRead(p5pin);
if((p1 == HIGH)||(p2 == HIGH)||(p3 == HIGH)||(p4 == HIGH)||(p4 == HIGH)||(p5 == HIGH)){
delay(200);
lcd.clear();
lcd.setCursor(3,0);
lcd.print("wczytywanie");
delay(2000);
}
pytanie1:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("rezystor");
for(bool lol; lol == false;){
wczytywanie();
if(p1 == HIGH){
dobrze();
lol = true;
}else if((p2 == HIGH)||(p3 == HIGH)||(p4 == HIGH)||(p5 == HIGH)){
zle();
delay(2000);
goto pytanie1;
}
}
pytanie2:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("cewka");
for(bool lol; lol == false;){
wczytywanie();
if(p2 == HIGH){
dobrze();
lol = true;
}else if((p1 == HIGH)||(p3 == HIGH)||(p4 == HIGH)||(p5 == HIGH)){
zle();
delay(2000);
goto pytanie2;
}
}
pytanie3:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("kondensator");
for(bool lol; lol == false;){
wczytywanie();
if(p3 == HIGH){
dobrze();
lol = true;
}else if((p2 == HIGH)||(p1 == HIGH)||(p4 == HIGH)||(p5 == HIGH)){
zle();
delay(2000);
goto pytanie3;
}
}
pytanie4:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("tranzystor");
for(bool lol; lol == false;){
wczytywanie();
if(p4 == HIGH){
dobrze();
lol = true;
}else if((p2 == HIGH)||(p3 == HIGH)||(p1 == HIGH)||(p5 == HIGH)){
zle();
delay(2000);
goto pytanie4;
}
}
void loop(){
}
void wczytywanie() {
p1 = digitalRead(p1pin);
p2 = digitalRead(p2pin);
p3 = digitalRead(p3pin);
p4 = digitalRead(p4pin);
p5 = digitalRead(p5pin);
}
void dobrze(){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("dobrze!");
delay(2000);
}
void zle(){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("zle");
delay(1000);
}
bardzo proszę o pomoc , muszę to skończyć to na piątek. zostały mi do dodania jeszcze 2 pytania , ale nie chcę ich robić , ponieważ boję się że nie naprawię kodu i moja praca pójdzie na marnę . to moje pierwsze pytanie odniśnie programowania , bardzo się cieszę że znalazłem tą stronę , ponieważ dopiero się uczę angielskiego i nie chcę używać stackoverflow