Tässä vaiheessa on
varmaankin tarkoituksenmukaista tehdä ohjelmapohja, mikä sisältää tärkeimpiä
toimintoja valmiiksi. Lataamalla sen ohjelmointityökaluun ja ensimmäiseksi antamalla sille uuden
nimen, on siitä helppo jatkaa varsinaiseen ohjelmaan. Pohjassa voi olla ”kommentteina”
valmiina esimerkkejä, joita kopioimalla ja editoimalla saadaan haluttu
lopputulos. Kun ohjelmointi edistyy, on tarkoituksenmukaista kasvattaa pohjan
tarjontaa. Ohjelmaa tehdessä voi tarpeettoman deletoida pois.
Pohja versio 1
/***************************************
* Ohjelman nimi
* pp.kk.vvvv
* Lyhyt toimintaselostus
**************************************/
// MÄÄRITTELYT:
// Kellon määrittely
unsigned long Ulo_MilliSek = 0;
unsigned long Ulo_UusiMilliSek = 0;
const long CoL_EroSekunti = 999;
int Int_Sekunti = 0;
boolean Bol_Tulosta = false; // Tulostusta ohjataan kellolla
// Muutamia perusmäärityksiä
//const int Con_Pinni = No;
//boolean Bol_Nimi = false;
//const int Con_Nimi = arvo;
//int Int_Nimi = arvo;
// ASETUKSET:
void setup(){
Serial.begin(9600);
//while (!Serial) { ; } // Odottaa sarjaportin kytkeytymistä
//pinMode(Con_Pinni, INPUT);
//pinMode(Con_Pinni, OUTPUT);
}// Asetuksen loppu
// PÄÄLOOPPI Varsinainen suoritusosa. Jatkuva suoritus
void loop(){
// Sisäisen kellon käyttö
Ulo_MilliSek = millis();
if(Ulo_MilliSek - Ulo_UusiMilliSek > CoL_EroSekunti){
Ulo_UusiMilliSek = Ulo_MilliSek;
Int_Sekunti++;
if (Bol_Tulosta == true){Fun_Tulostus();}
}
// Tehdään jotain muutakin
delay(1);
} // Pääohjelma LOPPU
// FUNKTIOT
void Fun_Tulostus(){
//Serial.print("Teksti :"); Serial.println(Muuttuja);
}
/*
MALLiRAKENTEITA:
Serial.print("Selitysteksti :"); Serial.println(Muuttuja);
analogWrite(pin, value)
val = analogRead(analogPin);
digitalWrite(ledPin, HIGH);
val = digitalRead(inPin);
if (someVariable > 50) { // do something here }
if (Var_Viive_K == 0 && LED_Kel_Tila == false){
Var_Viive_K = Con_Viive_K;
LED_Kel_Tila = true;
}
if (pinFiveInput < 500)
{
// action A
}
else
{
// action B
}
sensVal = constrain(sensVal, 10, 150);
y = map(x, 1arvo1, 1arvo2, 2arvo1, 2arvo2);
switch (var) {
case label: // tämä on vakio
// statements
break;
case label:
// statements
break;
default:
// statements
}
for (int i=0; i <= 255; i++){
analogWrite(PWMpin, i);
delay(10);
}
do
{
// statement block
} while (test condition);
unsigned long time;
time = millis(); // Imoittaa käyntiajan (ms) startista
*/
Muutama selityksen sana. Asetuksissa
while
(!Serial) { ; } estää ohjelman käynnistymise siihen asti, kunnes
tietokoneelta on lähetetty sarjaliikenne avaus klikkaamalla oikealla ylhäällä
olevaa Serial Monitor – painiketta.
Ohjelmapohjan mallirakenteet on kopioitu ohjelmatyökalun ohjeista: Help -> Reference. Tämä
ohjelmapohjani on luonnollisesti vapaati käytettävissä ja tietysti
muokattavissa myös kunkin tarpeen mukaan.
Ei kommentteja:
Lähetä kommentti