Ta emot och skicka data mellan Attiny85 (Arduino IDE 1.06) uppdaterad Nov 2015
Jag har kämpat mycket med att skicka RF data mellan två Attiny85 chips, så jag tänkte att det kan vara bra om jag bara förklara hur jag gjorde det. Det finns ett antal sådana projekt som beskrivs på internet, men ändå är det Visa inte sig vara ett så enkelt projekt, som jag fann mest av inte använder rätt bibliotek och kärnor.
BOM
Sändare:
Attiny85 - 0,82 euro/10
10 k motstånd
433 MHz transmittermodule - 1 euro per set
Mini bakbord - 58 cts/bit
Mottagare:
Attiny85
10 k motstånd
433 MHz mottagare modul
Mini skärbräda
Tillval: 2 tråd LCD
Det finns två huvudsakliga bibliotek används för att skicka och ta emot data på en Arduino plattform: VirtualWire och Manchester kod.
Eftersom Virtualwire är lite äldre, inte längre stöds, och förmodligen kan bara skicka tecken (även om det finns en väg runt det) beslutat att använda Manchester kod.
För att göra en lång historia kort, fungerade det inte. Jag hade MANCHESTER.h och MANCHESTER.cpp filen och sprang in i en massa problem, tills jag upptäckte att det var fel/gamla biblioteket, behöver du den Manchester.h och Manchester.cpp filen här. När jag att jag fick min sändare att arbeta, kunde jag skicka data till en Arduino, som redan var en stor lättnad.
Men... vad jag gjorde, jag fick inte min mottagare att fungera. Testa något på en Attiny är det väldigt frustrerande att bara stirra på en LED som är tänkt att ljus, men inte, utan att veta vad och varför och hur.
Så jag bestämde mig att lägga till en LCD-skärm till Attiny, kunde så åtminstone jag se vad som hände...
Dock LCD på min attiny gav mig andra problem... och när jag löste de, som visat sig vara lösningen för min ta emot problem också: Jag använde fel kärnan. Jag var med "tiny core" istället för "attiny core"
Det senare är en från Highlowtech.
Också, jag programmerat Attiny med 8MHz intern oscillator av första "brinnande bootloader"
Obs: det är allmänt överens om att den "tiny core" fungerar med Manchester koden och attiny kärnan inte, så det är möjligt att jag blandade ihop två. Jag hade dock en rad läggs till Attiny kärna ur att jag glömde det kommer att få det att fungera med Manchester koden. Öppna filen "variants/tiny8/pins_arduino.h" och Lägg till rad "#define __AVR_Attinyx5__" (se bilden)
NOTE2: Uppenbarligen fungerar även för IDE 1.6.x men om du använder små kärnan som inte kommer med en JSON fil och som kärnan filen mappstruktur för 1.6.x skiljer sig från 1.0.6 måste du göra installationen själv. Denna webbplats kan hjälpa dig med detta. Påtiny core levereras med en json länk som kommer att göra installera via styrelser manager, men då måste man lägga till den Attiny5__ definitionen enligt ovan