Stap 3: Programmeren - gemakkelijk
De code is die hieronder zijn toegevoegd.
/*
Dit is voor de eerste twee gateways: A en B.
*/
Deze constante verandert niet:
Const int ain = 44; PIN 44 is de eerste digitale ingang voor poort A
Const int aout = 45; PIN 45 is de tweede digitale ingang voor poort A
Const int bin = 42; hetzelfde voor poort B
Const int bout = 43; hetzelfde voor poort B
Variabelen zal veranderen:
int ins = 0; telt de ins en outs
int outs = 0;
int ai = 0; Een 1ste Pinstatus Gate
int lai = 0; Een laatste status van 1ste pin poort
int ao = 0; Een 2de Pinstatus Gate
int lao = 0; Een laatste status van 2de pin poort
int bi = 0;
int lbi = 0;
int bo = 0;
int lbo = 0;
int count = 0; Dit test net als is er een verandering in onze bijen tellen
int lcount = 0;
VOID Setup {/ / de knop pin als een input te initialiseren:
pinMode (ain, INPUT);
pinMode (aout, INPUT);
pinMode (bin, INPUT);
pinMode (bout, INPUT);
seriële communicatiepoorten te initialiseren:
Serial.begin(38400); een beetje anders dan de Arduino hier... 38400
}
void loop {}
Lees de drukknop invoer pin:
AI = digitalRead(ain);
Ao = digitalRead(aout);
bi = digitalRead(bin);
Bo = digitalRead(bout);
Als (lai! = ai) {/ / heeft de status als de 1e pin gewijzigd?
Als (ai > ao) {/ / zo ja, is de honingbij going in of uit?
ins ++; als zijn het gaan een honingbij aan ins toevoegen
}}
Als (lao! = ao) {}
Als (ao > ai) {}
outs ++;
}}
Als (lbi! = bi) {}
Als (bi > bo) {}
ins ++;
}}
Als (lbo! = bo) {}
Als (bo > bi) {}
outs ++;
}}
Lai = ai; de laatste status bijgewerkt
Lao = ao;
lbi = bi;
LBO = bo;
Graaf = ins + outs;
Als (lcount! = aantal) {/ / als de telling veranderd drukken we de nieuwe graaf
Serial.Print ("aantal:");
Serial.println(ins);
Serial.Print ("nummer uit:");
Serial.println(outs);
lcount = aantal;
}
}
Ik heb een debeebouce reeks toegevoegd. Hier is de laatste kalibratie video van vandaag 06/26/12. De 91% accuraat, maar er nog een beetje ruimte is te verbeteren: