Maar om vanaf 0 iets zelfs te gaan schrijven , ik heb het gevoel dat deze boeken me daarmee niet veel op weg helpen.
Waar jij op doelt is analysis & design / ontwerpen.
Pen en papier (whiteboard!) is belangrijkste gereedschap, teken de sensoren en de hardware die je denkt nodig te hebben.
- Teken de connecties. Gebruik kleurstiften om bv =5V lijntjes rood en GND zwart te maken. I2C heeft weer eigen kleuren
// stiften 5 eur bij de hema, kun je vandaag nog halen, met een schrijfblok zodat je al je schetsen makkelijk bewaard.
Hetzelfde kun je doen voor software. makkelijkste in het begin in top down
- beschrijf op hoofdlijnen je programma
setup:
initialiseer seriele poort
initialiseer poorten voor sensoren, leds en ventilator
initaliseer sensoren
loop:
lees temperatuur
lees humidity
bereken dauwpunt
als dauwpunt > temperatuur dan zet ventilator aan
als dauwpunt < temperaturr zet ventilator uit
uit deze tekst destileer je je hulp functies
float t = getTemperature();
float h = getHumidity();
float dew = calcDewPoint(t, h);
duik in de functies op een gelijke manier
getTemperature:
1) lees analoge poort
2) reken om vaar volts
3) zoek op in tabel volts naar temeratuur
4) return de waarde
OP dit moment krijg je het gevoel dat kan ik wel coderen. Dan moet je dat doen.
En als je dan de functie getTemperature() geschreven hebt maak je een testsketch om de functie te testen
void setup()
{
serial.begin(115200);
}
void loop()
{
float t = getTemperature();
Serial.println(t,1); // 1 decimal
delay(100); // optional;
}
de dewpoint functionheeft een zwaardere test nodig
void testDewPoint()
{
for (int i=0; i<10; i++)
{
float d = calcDewPoint(temp[i], hum[i]); // you need to prepare a test table with values from a reference source
if (abs(d - dew[i]) > 0.1)
{
Serial.print(d);
Serial.print("<>");
Serial.print(dew[i]);
Serial.println();
}
}
}
Dit is best veel werk dat testen, maar je zorgt hiermee dat je de bouwblokken van je programma tot op zeker nivo vertrouwd.
Voor complexere programmas:
Het leuke van documenteren is dat je over een paar maanden een schrijfblok vol hebt over hoe je hebt leren ontwerpen en zo.
sofar 2 cents