Stap 14: Master en de Slave (I²C)
Er zijn drie redenen waarom ik hebt ingesteld de controllers als master en slave:
- Het creëren van een 'slaapstand' zodat de energie wordt opgeslagen.
- Ervoor te zorgen dat de wind en regen gegevens nooit door de tragere communicatie met de GPRS-module onderbroken wordt. Instellen van de GPRS lijkt te nemen ongeveer 20 seconden.
- Betrouwbaarheid: Soms de Mega-2560 crasht.
Het belangrijkste principe gebruikt voor deze mededeling heet I²C, (Inter-Integrated Circuit), ik-kwadraat-C, die is goed gedocumenteerd hier uitgesproken:
https://www.Arduino.CC/en/tutorial/MasterWriter
In mijn code besteedt de 328 P 10 minuten dataverzameling in 5 tweede intervallen, aan het einde waarvan het verzendt die gegevens via I²C naar de Arduino Mega 2560-board voor de daaropvolgende levering aan het internet via GPRS enz. De code om dit te doen is heel simpel, zolang de gehele getallen elk minder dan 255 zijn. Dit betekent absoluut geen decimalen en we een waarde zoals 270 voor de windrichting kan niet verzenden. Niets van dit is een probleem als we omzetten in alle hoeken van de wind nummertjes bijv. 4 == 180 graden.
Hier is een codefragment voor de overdracht van de draad:
Hier is een codefragment voor het ontvangen van de gegevens op de Mega-2560: