Er zijn vele varianten van zowel boards als shields. Een shield kan je bovenop een Arduino board plaatsen. Een shield bevat vaak extra hardware componenten zoals WIFI of Ethernet adapter. In de software bibliotheken vindt je kant en klare programma's om deze extra hardware te gebruiken. Een overzicht is te vinden op de volgende Engelstalige pagina:
https://www.arduino.cc/en/Main/Products
Wij zullen ons voorlopig beperken tot de boards NANO en MEGA 2650.
Te koop o.a. bij TinyTronics in Eindhoven.
Een shield met een RTC(DS1307) en SD kaart houder/lezer.(SD kaart wordt rechtstreeks aangesloten op de Arduino via het shield)
Hierdoor kan je gemakkelijk data loggen met tijdstippen en deze op een SD kaart zetten.
Op deze shield is een 3.3V level convertor aanwezig zodat je deze gemakkelijk met een 5V Arduino kan gebruiken.
Er wordt een batterij voor de RTC meegeleverd. Als je direct van start wilt gaan vind je hier genoeg informatie. (het shield is compatibel met het shield van Adafruit).
De data logging shield is echter niet pin-compatibel met de Mega 2650. Hiervoor heb ik modificaties aangebracht zodat het shield zonder extra bedrading op de Mega 2560 kan worden geplaatst.
Voor het kunnen verwerken van het DCC signaal is een interface nodig die zowel het elektrische signaal niveau aanpast aan de Arduino en tevens zorgt voor galvanische isolatie. Ik maak gebruik van de volgende schakeling:
De signalen worden via een interrupt ingang (voor de Mega 2560 pin 2) afgehandeld:
/*
Het DCC signaal wordt gelezen via een interrupt (INT0) pin
*/
const int kDCC_INTERRUPT = digitalPinToInterrupt(2); // Dit is geen pinnummer maar INT0, pin = 2