Bluetooth, och picaxe lightswitch
PROJEKTETS OMFATTNING
Den 6 augusti, 2013
ÖVERSIKT
1. Projektets bakgrund och beskrivning
Detta är det första projektet jag börjar med i riket av hemautomation och trådlösa anslutningar. Jag har begränsat med Bluetooth och ville få mer erfarenhet med tekniken. Efter att titta runt jag såg en av dessa på målet eller WM för omkring $99 (7/20/2013).
2. projektets omfattning
Detta projekt kommer att innehålla en elektronisk strömbrytare som tar emot input från antingen Bluetooth eller en touch sensor för att sedan vända ljuset på och av. Detta är version 1.0 jag nämner detta eftersom det finns framtida versioner som ska läggas för att ytterligare design senare. Projektet bör kosta så lite som möjligt med enklaste användning för icke tekniska människor. (specifikt familj).
3. höga krav
• Blue tooth-anslutning
• Lokala sätt att aktivera en av ljuset med touch
4. berörda parter
Familj, vänner, som någonsin råkar vara i huset.
5. särskilda undantag från tillämpningsområdet
Ingenting på denna tid.
6. genomförandeplanen
Efter att ha tittat online planerar jag att köpa Bluetooth-modulen, och en relä modul som kommer att minska den tid som krävs för att utveckla detta projekt. De aktuella krav och spänning är det möjligt att skada kretsar och eller tända en eld med kablar inblandade. Jag planerar också att köra den här från en vägg plugin och kommer att behöver en fast permanent 5V ström källa för detta projekt.
7. hög nivå tidslinjen/schema
Köpa de online produkter
Titta lokalt för återstående delar på en rabatt.
Utvecklas på ett kretskort och överför till en lödd krets.
8. delar
Online-delar hittades på mycket billiga platser.
• Picaxe 18m 2 + ($3,91) http://www.robotshop.com/picaxe-18m2-microcontroller-chip.html?utm_source=google&utm_medium=base&utm_campaign=jos
• Bluetooth transceiver ($7) http://compare.ebay.com/like/290932857308?var=lv • 5V relä modul för Arduino (fungerar med officiella Arduino styrelser) ($3)
http://DX.com/p/Arduino-5V-Relay-module-Blue-Black-121354?utm_source=GoogleShoppingUS&utm_medium=CPC&utm_content=121354&utm_campaign=436&gclid=CPWxmPC76rgCFazm7AodATcAUA
• Nu spara lite pengar gå och hämta en 5V (1A-2A) kraft konverter från lokala Goodwill eller liknande second hand butik.
• Några motstånd, ledningar och kretskort för att förstora.
9. kretsen
Du måste programmet Picaxe chip men eftersom detta inte kommer att vara del av den färdiga produkten det inkluderas inte i kretsen. Vi kan programmera chip på en löda mindre styrelse och flytta den till den krets som anges nedan. För att göra detta ansluta chip per Picaxe manualen som finns (http://www.picaxe.com/docs/picaxe18m2.pdf). För att gå runt det är verkligen bara några anslutningar makt, marken, seriell TX, RX, Touch och Signal. Totalt 10 eller mindre anslutningar. Nedan läggas kretsen ut för att använda Picaxe boot loader.
https://plus.Google.com/photos/106710414793493759480/albums/5909298573545462145?authkey=CLb-vanowvWQOA
10. programmering
Den grundläggande tanken i programmet detta projekt är läsa blå tand värdet om du får ett visst mönster sedan gå för att sätta ljuset på eller av, eller om du får en touch sätter ljuset på eller bort... vi behöver faktiskt inte veta om ljuset är på eller av just det vi ändrade det.
Koden är egentligen enkel.
///////////////////////////////////////////////////////////////////// code ////////////////////////////////////////////////////////////////////////////////////////////////////////
; Cody härvor
; 8/6/2013
; PicAxe 18m 2 + koden för strömbrytare
; ingång från bluetooth eller en touch sensor
; utgång till ett relä för lätt på och av.
återställa frekvensen för att förbättra resolutionen (och öka hastigheten Bluetooth)
SETFREQ m8; inställd 8 Mhz chip
hsersetup B9600_8, % 00. inställd-överföringshastigheten 9600 med en frekvens av 8Mhz
ingående C.1; setup ingång för touch sensor
output C.0; setup utgång för signal kabeln till relä modul
Låt b2 = 0
huvudsakliga: w1 = $FFFF ' ställa in en icke-giltigt värde
; W1 är ordet en rymde i byte 2 och 3
hserin w1 ' ta emot 1 byte till w1
om w1 <> $FFFF då; om en byte mottogs kontrollera att dess inte ogiltigt byte
; ASCII-1 = dec 49 så detta bör kontrollera för en 1 skickas
; över bluetooth signal och att växla utdata
om w1 = 49 då
Toggle C.0
slut om
; Skicka till bluetooth så vi kan se vad det fick ta emot
hserout 0, ("du tryckt på en knapp:", w1); ECHO tillbaka ut
slut om
; Detta kommer att läsa touch värdet i 16 bitar i w0 minne
touch16 c.1,w0
; W0 är i byte 0 och 1
; Kontrollera om 0 på touch sensor beroende på anslutning och buller Detta
; kunde signl en touch
om w0 = 0 då goto interuptloop
; skickar värdet till bluetooth, det är så vi kan åter program till rätt
; sensetivity vid ett senare tillfälle.
hserout 0,("value:",#w0,13,10)
; det andra värdet för min setup är om w0 > 6000 då en touch
om w0 > 6000 sedan goto interuptloop
Pausa 5
; Felsöka arbeten på den seriella porten med programmering och kommer ut värden för alla
; minnesplatser tillbaka till programmering redaktör
debug
gå till huvudsakliga; loop
interuptloop:
Pausa 100. Waid befor kontroll för att se om dess stilla beröring
touch16 c.1,w0; Läs
hserout 0,("value:",#w0,13,10); utgång till bluetooth att felsöka
; om det är fortfarande beröring gör ingenting och helt enkelt gå till slinga
om w0 = 0 då goto interuptloop
om w0 > 5400 sedan goto interuptloop
; när dess inte längre beröring då ändra vi ljuset.
Toggle C.0
; och loop
gå till största
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
11. problem
Det finns en stor brist i denna design som orsakar ett problem konsekvent. En adc omvandlare ansluten till FN ojordad platta som sitter i fria dvs touch sensor är verkligen osäker. Version 2.0- eller senare kommer att använda en bättre metod för detta... för nu är det enkelt att stänga av detta i koden