Med 433 MHz fjärrstyrda strömbrytare på Arduino
Jag antar att alla vet de avlägsen kontrollerade växlar som i sin enklaste form komma i ett par (mestadels 3) switcheable enheter att ansluta till elnätet utlopp och som kommer att få en propp av en lampa eller något och som kan slås på och av genom en liten handhållen enhet. Använda en Arduino eller andra micro controller istället för handhållna sändaren för att växla dessa enheter och på är grunden för många DIY hem industriellautomation projekt.
För nybörjare kan det ändå vara lite skrämmande att få en av dessa apparater och använda dem i kombination med en mikrokontroller.
Mitt mål i detta instructable är att hjälpa dessa människor på väg. Men jag är skyldig ett stort tack till Jeroen Meijer för att utveckla ett stort bibliotek, att lägga till klasser för några av de fjärrkontroller som jag hade och för att hjälpa mig förstå begreppet "trits"
De flesta av dessa fjärrkontroll uppsättningar arbete o en frekvens på 433.92 MHz (brukar kallas för att bara som "433 MHz"), men en del arbete på 315 MHz, 868 MHz eller 2,4 GHz. Arbeta med 433 MHz är det enklaste och billigaste sändtagarna är överallt och billigt. 868 MHz protokollen skicka ofta data fram och tillbaka och sändtagarna är dyrare och svårare att hitta. 315 MHz transceiver apparater är också billigt och lätt att hitta men inte alltför många kommersiellt tillgängliga växlar fungerar med 315 MHz därför jag kommer att fokusera på 433Mhz system.
433 MHz sändare och mottagare oftast kommer i ett par och finns för cirka 1 euro per par i de olika kinesiska webbshoppar. Sändarna är faktiskt ganska anständigt, men mottagarna är skit. De fungerar och kan användas men förvänta sig inte mirakel. Som de flesta människor är intresserade av att styra enheter från thei mirocontroller de mestadels endast kommer att använda sändaren, så kvaliteten på mottagare modulen är inte det viktiga, men om du vill ta emot data från säga en väderstation, kan du investera 1 eller 2 euro mer och köpa en crystal driven mottagare.
Koppla upp din sändare och mottagare
Sändarna kommer vanligt med 3 stift: Vcc, marken och data. Pin databehov skall anslutas till en av de digitala stiften på Arduino, säger stift 7 om du ned att använda mottagaren, som vanligtvis har 4 stift: Vcc marken och två data stift. En av datapins måste beonnected till en digital pin. De flesta bibliotek räkna detta är Digital stift 2. Men vissa (inte alla) så kallade "sniffer" program som används för att upptäcka koden för en enhet, förväntar oss datapin på analogt stift A0
Antenn
Utan antenn är utbudet av billiga sändarna verkligen begränsad. I kombination med mottagaren av par kanske enda centimeter. Om det används i kombination med en kommersiellt tillgänglig byta kanske 2 meter. Du behöver en antenn till förhöjning spänna till godtagbara normer. Enklaste antennen är den så kallade lambda 1/4 eller 1/4 våglängd antenn. För 433 MHz sändtagarna detta kommer ner till en rak trådantenn med en längd på 17,2 cm. i sin enklaste form är därför bara en hård bit tråd med en längd på 17,2 cm. Som ger dig en anständig utbud. 1/4 våglängd raka antennen är dock inte idealiskt eftersom det förväntar sig en groundplane. Med lite mer ansträngning det emellertid möjligt att göra en så kallad "spole laddade antenn" som kommer att öka utbudet avsevärt. Jag har skrivit en separat instructable om att en.
Bibliotek
En av fördelarna med Arduino systemet är tillgängligt bibliotek. För kontroll av fjärrkontrollen växlar finns det i princip 6 bibliotek:
- RCSwitch från Suat Özgür
- RemoteSwitch från Fuzzilogic aka Randy Simons
- NewRemoteSwitch från Fuzzilogic. Den här är särskilt riktad till det nya klick/ClickOff systemet
- en gaffel av RemoteSwitch av Jeroen Meijer. Detta är en fullständig översyn av Fuzzilogic med olika protokoll läggs. Nu på github
- RemoteSensor från Fuzzilogic. Den här är mer att ta emot data från en väderstationer
- InterruptChain från Fuzzilogic, jag tvivlar på om du behöver den här
För fullständighetens skull jag också nämna den Manchester och det VirtualWire biblioteket, men dessa är mer inriktad på interArduino kommunikation. I denna tutorial ska jag fokusera på RCSwitch bibliotek och Jeroen Meijers gaffel av RemoteSwitch bibliotek. Den största skillnaden mellan thosw två är att RCSwitch biblioteket skickar nummer och RemoteSwitch protokoll. Fördelen med den förra är att du kan skicka i princip all kod utan att veta vilken typ av protool fjärrkontrollen används. Nackdelen är att du måste veta allt han koder för på och stänga av varje enhet. Fördelen med den senare är som för ett antal allmänt använda fjärrkontrollen växlar biblioteket vet vad thecode är eller kommer att bli. Nackdelen är att om du har en odefinierad varumärke, det kommer att bli svårt att skicka comands för att en.
Avlägsen kontrollerade växlar
RemoteSwitches som sagt, dessa brukar komma med 3 pluggable uttag och en handhållen sändare. Många av dem använder samma chip. PT2262 oe motsvarande. Therfore, många märken od växlar dela protokoll och i själva verket är det inte ovanligt att många märken är exakt samma, bara ett annat namn.
Så du har köpt en uppsättning av avlägsen kontrollerade växlar, du har anslutit din sändare på en digital pin (e.g. D7), du har lagt till en antenn och installerat RCSwitch såväl som RemoteSwitch biblioteket (kluven en eller gamla). Vad händer nu? Väl det enklaste vore om du köpt en uppsättning växlar som du vet kommer att stödjas av ett protokoll i remoteSwitch bibliotek och att du kontrollerat den använder 433Mhz frekvensen, eftersom om inte du ta reda på koderna. Om du är osäker, kontrollera om en beskrivning finns i biblioteket som kan gälla för din remote kontrolleras en betydande sak du behov till check: Hur väljer du kanal avlägsen kontrollerade växeln reagerar på. eller med andra ord: hiw gör din fjärrstyrda strömbrytare vet vad knappen på sändaren är "hans"? Jo det finns flera möjligheter: det finns endast en ringa växeln med 3-5 positioner. eller kanske 3-5 adapterns DIP omkopplare. Detta är förmodligen en äldre (men fortfarande tillverkade) kontrollerade fjärrbrytare som täcks av ett protokoll i RemoteSwitch bibliotek. Innebär det bara att välja av enheten, men inte av bas kanal fjärrkontrollen fungerar på, så om din neighnour har samma uppsättning, chansen du kan kontrollera sin lmpas (och vice versa)
Din remote switch har två rattar, mer än 5 adapterns DIP omkopplare eller en uppringd kombinera bokstäver och siffror. Detta innebär vanligtvis du kan ange basadress för ditt system plus kanal för varje enhet. Vanligtvis är har sändaren själv också vissa dip-switchar som behöver ställas in i samma kombination. Detta innebär att om din granne har samma uppsättning, chanserna är du inte kan kontrollera varandras lampor.
Det finns inga DIP-växlar eller rotary ringer för att sätta på din remote switch alls. Detta innebär vanligtvis du har en "lärande" system där du måste synkronisera din remote switch med sändaren. Det innebär också att något du har att räkna ut bas koden ditt system fungerar på.