Stap 2: Mini weerstation met Attiny85: de ontvanger
De Attiny85 wordt opnieuw gebruikt in een basisconfiguratie met de resetpin trok hoog met een 10 k ohm weerstand. De module van de ontvanger is aangesloten op de digitale pin 1 (pin 6 op de chip). Het LCD-scherm is aangesloten op de digitale pennen 0 en twee.
Hecht een draad van 17,2 cm als antenne.
De code is als volgt:
#include <Manchester.h> #include <LiquidCrystal_SR.h> LiquidCrystal_SR lcd(0,2,TWO_WIRE); #define RX_PIN 1 //= physical pin 6 void setup() { lcd.begin(16,2); lcd.home(); man.setupReceive(RX_PIN, MAN_1200); man.beginReceive(); } void loop() { if (man.receiveComplete()) { uint16_t m = man.getMessage(); man.beginReceive(); lcd.print("Humid: "); lcd.print(m/100); lcd.setCursor(0,1); lcd.print("Temp "); lcd.print(m%100); } }
De code is vrij eenvoudig: het gehele getal dat verzonden is ontvangen en opgeslagen in de variabele ben '.
Het wordt gedeeld door 100 te geven van de vochtigheid en de modulo 100 geeft de temperatuur.
Dus stel dat het gehele getal ontvangen was 3325
3325/100 = 33
3325% 100 = 25
Deze code wordt gecompileerd als 3380 bytes en kan daarom alleen worden gebruikt met een attiny85, niet met een 45