Stap 2: Ontvangen en versturen van gegevens tussen Attiny85: de ontvanger
Bouw van de ontvanger is eenvoudig:
Zet de geprogrammeerde attiny-chip in je breadboard.
Verbinding maken met een 10 k ohm weerstand tussen pin 1 en pin 8
Zet uw ontvanger-module 433 MHz in het breadboard
De datapin (meestal een van de twee middelste pinnen) verbinden met pin PB1 (fysieke pin6) op de attiny.
Sluit de Vcc en de grond van de zendermodule Vcc (pin 8) en de grond (pin4) van de Attiny
Sluit de LCD-interface aan op pin PB0 (pin 5) (klok) en PB2 pin (pin 7) (Data/inschakelen)
Sluit Vcc en grond van het LCD op Vcc en bodem.
Een 17 cm (1/4 lambda voor 433 MHz) hechten aan de module van de ontvanger.
Het volgende programma in uw chip gebruiken:
#include <Manchester.h><br>#include <LiquidCrystal_SR.h> LiquidCrystal_SR lcd(0,2,TWO_WIRE); /* Manchester Receiver for Attiny In this example receiver will receive one 16 bit number per transmittion to switch a relay on or off. try different speeds using these constants, your maximum possible speed will depend on various factors like transmitter type, distance, microcontroller speed, ... MAN_300 0 MAN_600 1 MAN_1200 2 MAN_2400 3 MAN_4800 4 MAN_9600 5 MAN_19200 6 MAN_38400 7 */#define RX_PIN 1 //= pin 6 uint8_t moo = 1;void setup(){ lcd.begin(16,2); lcd.home(); lcd.print("Receive"); lcd.setCursor(0,1); man.setupReceive(RX_PIN, MAN_1200); man.beginReceive(); }<br>void loop() { if (man.receiveComplete()) { uint16_t m = man.getMessage(); man.beginReceive(); //start listening for next message right //after you retrieve the message moo = ++moo % 2; lcd.print(m); } }
Het LCD-scherm is natuurlijk optioneel. U kunt een LED dat de variabele krijgt "moo" verzenden van de pin en zo knippert op volledige ontvangst van het signaal, maar ik wilde alleen maar om ervoor te zorgen dat wat ik kreeg was wat ik verzonden