Situatie:
Binnenkort levering nieuwe ramen , deuren en elektrische rolluiken.
"Kennis" die programma ging schrijven plots van de aardbol (trein, gsmnummer)verdwenen na het meenemen van 2 mega's, lcd scherm, relaiskaarten etc.
Ik heb dus 7 drukknoppen:
Const int buttonrolluik1 = 2
Const int buttonrolluik2 = 3
...
Const int buttonrolluik7 = 8
en 7 variabele statussen:
int knopStatus1 =0
...
int knopStatus7 =0
Ik wil deze in void loop() nu 1 voor 1 inlezen met :
for (int i=1;i<8;i++) //voor knop 1 tem 7
{
// lees status drukknop:
knopStatus[i] = digitalRead(butttonrolluik[i]);
Maar ik krijg steeds de melding
Rolluiken:87: error: 'knopStatus' was not declared in this scope
Rolluiken:87: error: 'butttonrolluik' was not declared in this scope
Wat doe ik fout ?
Groeten
Nico
Volledige sketch tot nog toe:
/*Sturing rolluiken en alarmcontacten
* Met drukknoppen en uitbreiding naar webserver/ bluetooth
* alarmcontacten loggen via internet
*/
// constants won't change. They're used here to
// set pin numbers:
const int buttonrolluik1 = 2; // drukknop rolluik 1 Living groot
const int buttonrolluik2 = 3; // drukknop rolluik 2 Living klein
const int buttonrolluik3 = 4; // drukknop rolluik 3 slaapkamer Audrey
const int buttonrolluik4 = 5; // drukknop rolluik 4 Badkamer
const int buttonrolluik5 = 6; // drukknop rolluik 5 bureau
const int buttonrolluik6 = 7; // drukknop rolluik 6 slaapkamer
const int buttonrolluik7 = 8; // drukknop rolluik 7 keuken
const int alarmcontact1 = 22; // alarm 1 Living groot
const int alarmcontact2 = 23; // alarm 2 Living klein
const int alarmcontact3 = 24; // alarm 3 voordeur
const int alarmcontact4 = 25; // alarm 4 vorraad
const int alarmcontact5 = 26; // alarm 5 toilet
const int alarmcontact6 = 27; // alarm 6 slaapkamer Audrey
const int alarmcontact7 = 28; // alarm 7 Badkamer
const int alarmcontact8 = 29; // alarm 8 bureau
const int alarmcontact9 = 30; // alarm 9 slaapkamer
const int alarmcontact10 = 31; // alarm 10 achterdeur
const int alarmcontact11 = 32; // alarm 11 kelderdeur
const int alarmcontact12 = 33; // alarm 12 keuken
const int rolluik1 = 40; // rolluik living groot
const int rolluikrichting1 = 41; // rolluik living groot
const int rolluik2 = 42; // rolluik living klein
const int rolluikrichting2 = 43; // rolluik living klein
const int rolluik3 = 44; // rolluik slaapkamer Audrey
const int rolluikrichting3 = 45; // rolluik slaapkamer Audrey
const int rolluik4 = 46; // rolluik Badkamer
const int rolluikrichting4 = 47; // rolluik Badkamer
const int rolluik5 = 48; // rolluik bureau
const int rolluikrichting5 = 49; // rolluik bureau
const int rolluik6 = 50; // rolluik Slaapkamer
const int rolluikrichting6 = 51; // rolluik Slaapkamer
const int rolluik7 = 52; // rolluik keuken
const int rolluikrichting7 = 53; // rolluik keuken
// Veranderlijke variabelen:
int richting1 = 0; // laatste richting rolluik 1 0=neer 1=omhoog
int richting2 = 0; // laatste richting rolluik 2 0=neer 1=omhoog
int richting3 = 0; // laatste richting rolluik 3 0=neer 1=omhoog
int richting4 = 0; // laatste richting rolluik 4 0=neer 1=omhoog
int richting5 = 0; // laatste richting rolluik 5 0=neer 1=omhoog
int richting6 = 0; // laatste richting rolluik 6 0=neer 1=omhoog
int richting7 = 0; // laatste richting rolluik 7 0=neer 1=omhoog
int knopStatus1 = 0; // drukknop aan? 0=neen, 1= ja
int knopStatus2 = 0;
int knopStatus3 = 0;
int knopStatus4 = 0;
int knopStatus5 = 0;
int knopStatus6 = 0;
int knopStatus7 = 0;
int inbeweging ; // is het rolluik nog in beweging 1=ja, 0=neen
void setup()
{
for (int x = 2; x < 9; x++) //buttonrolluik 1 tot 7 output
{
pinMode(x, OUTPUT);
}
for (int x = 22; x < 34; x++) // alarmcontact 1 tot 12 input
{
pinMode(x, INPUT);
}
for (int x = 40; x < 54; x++) // pin 40 tot 53 output
{
pinMode(x, OUTPUT);
}
}
void loop()
{
for (int i=1;i<8;i++) //voor knop 1 tem 7
{
// lees status drukknop:
knopStatus[i] = digitalRead(butttonrolluik[i]);
// controleer of drukknop is ingedrukt.
// zo ja, knopStatus is HIGH:
if (knopStatus[i] == HIGH)
{
inbeweging =digitalRead(rolluik[i]); //controleer of rolluik in beweging is
if (inbeweging == HIGH) //ja:
{
digitalWrite(rolluik[i],LOW) ; //rolluik stoppen
}
else //neen:
{
if (richting[i] ==0) //laatste richting naar beneden? ja
{
digitalWrite(rolluikrichting[i],HIGH); // rolluik moet naar boven
delay(100); // kleine pauze
digitalWrite(rolluik[i],HIGH); //rolluik starten
richting[i]= 1; //laatste richting is nu naar boven
}
else //laatste richting naar boven
{
digitalWrite(rolluikrichting[i],HIGH); //rolluik moet naar beneden
delay(100); //kleine pauze
digitalWrite(rolluik[i],LOW); //rolluik starten
richting[i]= 0; //laatste richting is nu naar beneden
}
}
}
else {
}
}
}