Goedkope Home Automation met behulp van draadloze Outlet Modules (3 / 6 stap)

Stap 3: Het protocol betreffende uw microcontroller opnieuw implementeren


Zodra u het protocol de afstandsbediening is onttrokken hebt, u bent nu klaar om het opnieuw te implementeren op uw microcontroller.  Noteer eerst welke ontvanger heb je de gegevens uit.  Die zender frequentie in uw circuit gebruiken.  Draad het tot een beschikbaar GPIO pin op uw microcontroller en herinner me die pin het is.  Ook zorg dat van uw microcontroller programmeur is aangesloten en noteer de klokfrequentie van uw microcontroller, die wordt gebruikt als basis voor nauwkeurige vertragingen.

Begin met het schrijven van functies voor lange en korte pulsen.  Hieronder vindt u enkele pseudocode om te beginnen, afzonderlijke implementaties kunnen variëren.

VOID bit_long()
{
set_pin_high();
delay(HIGH_TIME_LONG);
set_pin_low();
delay(LOW_TIME_LONG);
}

VOID bit_short()
{
set_pin_high();
delay(HIGH_TIME_SHORT);
set_pin_low();
delay(LOW_TIME_SHORT);
}

Door het meten van de puls breedte met uw analyzer of van scope cursor functies krijgt u de tijd-constanten zijn.  Gebruik de juiste vertraging functie (microseconde/milliseconde) aan de gemeten breedte het meest geschikt.  Op AVR zijn _delay_us() en _delay_ms(), beide uit de < util/delay.h > bibliotheek.

Start uitvoering van uw verzendingen.  Beginnen met een functie voor de preambule en een functie voor het einde reeks, vervolgens maken van functies voor de interne gegevens van elke knop.  Ofwel kunt u een functie voor elke knop, of als u kunt achterhalen wat het protocol doet u kunt schrijven een functie die het toepasselijke bericht van uitgangsnummer en aan/uit-ingangen bouwt.  Ik koos voor het eerste als het protocol niet direct correleren uitgangsnummer en on/off staat in de gegevens, eerder het was gewoon één lange puls voor de ingedrukte drukknop.  Bijvoorbeeld:

VOID send_preamble()
{
bit_short();
bit_long();
bit_long();
bit_short();
bit_long();
bit_short();
}

Tot slot, het gebruik van deze functies in een for-lus om te sturen hen ongeveer 10 - 20 keer, met de nodige vertraging tussen overbrengingen (u kunt de afmetingen van deze vertraging met uw scope of analyzer).  Bijvoorbeeld:

for (int i = 0; ik < 10; i ++)
{
send_preamble();
send_outlet_1_on();
send_end_sequence();
_delay_ms(10);
}

Vervolgens bouwen een switch/case of trapsgewijze if/else statement met een van deze blokken voor elke knop, met behulp van outlet nummer en switch staat als uw if/else voorwaarden.

Ten slotte, een seriële bibliotheek importeren of schrijf uw eigen seriële poort interrupt routine.  In die routine te onderbreken, stelt u zowel de uitgangsnummer als de schakeloptie staat van ontvangen gegevens.  Vluchtige variabelen gebruiken zodat ze kunnen worden gewijzigd binnen een ISR, zodat de hoofdlus kunt inhaken op de ingestelde variabelen en de gewenste overdracht uit te voeren.  Vergeet niet om het initialiseren van uw seriële poort en uw baud-rate in te stellen voordat u begint uw hoofdlus!

Gerelateerde Artikelen

Home Automation met behulp van Bluetooth

Home Automation met behulp van Bluetooth

zo blij dat dit project eindelijk heb voltooid. Ik had gewerkt aan dit voor een lange tijd.Denken hoe cool zou het bent u kundig voor zeggenschap uw AC-apparaten gewoon met een vleugje van uw Android-smartphone. Alles wat die je nodig hebt om te ontt
Home Automation met behulp van de Arduino Uno

Home Automation met behulp van de Arduino Uno

Ooit wilde maken uw huis geautomatiseerde? Wilde de verlichting, ventilator en andere toestellen van uw smartphone? Of een tutorial over aangesloten apparaten en aan de slag met het gezocht? Android Home Automation zal u tonen hoe te maken van uw hui
Home Automation met behulp van RF-Transceiver met Arduino Micrcontroller

Home Automation met behulp van RF-Transceiver met Arduino Micrcontroller

Dit project laten zien voor het ontwerp en de ontwikkeling van een Home Automation systeem met behulp van RF-Transceiver gecontroleerd door Arduino Micrcontroller. De gebruiker zal verschillende indoor apparatuur zoals bollen, deuren en fans met behu
DIY Smart Home Automation met behulp van Android

DIY Smart Home Automation met behulp van Android

Smart Home Automation laat de gebruiker te bepalen van het huis van zijn of haar telefoon en acties die afhankelijk van tijd of andere sensor lezingen zoals licht, temperatuur of geluid vanaf elk apparaat in het netwerk van de Home Automation gebeure
Eenvoudig DIY Home Automation (met behulp van servo schakelaars)

Eenvoudig DIY Home Automation (met behulp van servo schakelaars)

dit Instructable draait een van life's eenvoudige acties, spiegelen van een lichtschakelaar in- en uitschakelen.Bij oomlout doen we het vele malen per dag, zo veel, dat in feite het kwam tot een punt waar wij ons afgevraagd "Kan niet krijgen we een A
Home Automation met behulp van de Arduino deel-ik

Home Automation met behulp van de Arduino deel-ik

Het is niet zoals alle andere domotica zoals we eerder gezien. Ze controleren apparaten op afstand wat is het verschil. Het is omdat het uit de wereld kan controleren. U kunt met behulp van elk willekeurig apparaat met internetverbinding hebben dat w
Gebaar gebaseerd Home Automation met behulp van Intel Edison (Intel IoT))

Gebaar gebaseerd Home Automation met behulp van Intel Edison (Intel IoT))

Gebaar gebaseerd huisautomatisering is de nieuwe manier om te interageren met elektrische apparaten beschikbaar in ons huis. In dit project we zullen worden met behulp van sensoren in plaats van de camera voor gebaar erkenning, omdat het biedt betere
Home Automation met behulp van de Arduino en Bluetooth

Home Automation met behulp van de Arduino en Bluetooth

De "Home Automation System"(HAS) concept bestaat al vele jaren. De termen "Smart Home", "Intelligente huis" gevolgd en is gebruikt om het concept van netwerken toestellen en apparaten in het huisDomoticasysteem is een proces
Home Automation met behulp van Arduino & Android telefoon.

Home Automation met behulp van Arduino & Android telefoon.

Downloaden van onze gratis Arduino Project Code hier.Tutorial hier.Dingen die nodig zijn:1. Arduino2. Bluetooth-Module3.smart Home Apps4. de ultrasone SensorU kunt bouwen WarBot.
Automatische Home surveillancesysteem met behulp van arduino (eenvoudig en goedkoop)

Automatische Home surveillancesysteem met behulp van arduino (eenvoudig en goedkoop)

Het doel van mijn project is om automatische home surveillancesysteem zonder enige handmatige tussenkomst. In het algemeen andere surveillancesysteem is power ON TV en camera ontvanger moet elke keer. En het moet ook input van de gebruiker naar de we
Smart Home Monitoring met behulp van Edison

Smart Home Monitoring met behulp van Edison

Voor frequente reizigers en degenen die hebben meerdere huizen en degenen die hebben om te schakelen tussen hen vaak, is Smart Home profiel een Home Automation-oplossing die is opgelost zijn behoefte om nogmaals zijn persoonlijke voorkeurenStap 1: Se
Maak een super goedkope 3D-printer met behulp van gerecyclede onderdelen

Maak een super goedkope 3D-printer met behulp van gerecyclede onderdelen

nu-een-dag een heleboel mensen praten over 3D printen en de vele dingen die het kan produceren.  Zelfs de Voorzitter praat over het tijdens zijn staat van de Unie adres.  Hoewel het klopt dat sommige van de technologieën in 3D printen nieuw in high-e
TV Remote controlled home toestel met behulp van 8051

TV Remote controlled home toestel met behulp van 8051

Dit project wordt gebruikt om over te schakelen van het elektrische apparaten op afstand met behulp van afstandsbediening. Het maakt gebruik van philips RC5 protocol gebaseerd extern. De micro-controller gebruikt is van Atmel d.w.z. at89c2051 van 805
CFL's (met behulp van draadloze elektriciteit) draadloze

CFL's (met behulp van draadloze elektriciteit) draadloze

HalloMijn meest populaire instructable draadloze elektriciteitstransmissie gaf me 118607 uitzicht met 161 reacties op dit moment en het was ook een prijswinnaar in het solderen van de uitdaging. Dank u voor uw steun! :-). In mijn opmerkingen kon ik z