ZigBee ZigBee Calvin Choy Calvin Choy David Kim David Kim Jason Chong Jason Chong Devin Galutira Devin Galutira
Dec 19, 2015
ZigBeeZigBee
Calvin ChoyCalvin ChoyDavid KimDavid Kim
Jason ChongJason ChongDevin GalutiraDevin Galutira
Project FocusProject Focus
Universal switching to make Archimedes Universal switching to make Archimedes projects wireless (i.e. toys)projects wireless (i.e. toys)
To update and improve the previous ZigBee To update and improve the previous ZigBee designdesign i.e. Adding a sleep function, LED indicatorsi.e. Adding a sleep function, LED indicators
Create a manual for students and non-ZigBee Create a manual for students and non-ZigBee people and documentations. people and documentations.
Overall Block Diagram of SystemOverall Block Diagram of System
Switch
Switch
Switch
Switch
Switch
Picaxe
Switch
Switch
Switch
Relay
Relay
Encoder
sleepsleep
data indata inXBee
(Transmit)XBee
(Receive) Picaxe
Receive Module SchematicReceive Module Schematic
RelaySw 4
RelaySw 5
2XBee
4
6 7
16 8 PicAxe13 1210 11 9
Sw 2
Sw 3
Sw 1
13 1 6 2 5 3 4 8 4066 9
out0out0 crtlAcrtlA
out1out1
out2out2 crtlBcrtlB
crtlCcrtlC
I/O AI/O A
O/I AO/I A
I/O BI/O B
I/O CI/O C
O/I CO/I C
O/I BO/I B
out4out4 out3out3
out5out5
out6out6
UART outUART out in7in7
out7out7sleepsleep
CD4066BCCD4066BCQuad Bilateral SwitchQuad Bilateral Switch18X18X
Transmit Module SchematicTransmit Module Schematic
3XBee
9
18 13 1 16 12
PicAxe
7 8:3 Demux 1 913 712 61110
Sw5/in4
Sw1/in3
Sw2/in2
Sw3/in1
Sw4/in0
A0A0
A2A2
A1A1
in1in1
in0in0
in7in7
out7out7
out6out6
UART INUART IN
sleepsleep
M74HC148M74HC1488 to 3 Priority Encoder8 to 3 Priority Encoder
18X18X
Transmit CircuitTransmit Circuit
Receive CircuitReceive Circuit
Design FeaturesDesign Features
Programmable “Out of Box” DesignProgrammable “Out of Box” Design Integrated JacksIntegrated Jacks
Inputs on TransmitterInputs on Transmitter
Outputs on ReceiverOutputs on Receiver On/Off SwitchOn/Off Switch External Reset ButtonsExternal Reset Buttons External Serial ConnectionExternal Serial Connection
Hardware Design DecisionsHardware Design DecisionsPicaxe Microcontroller: 18XPicaxe Microcontroller: 18X Cheap, easy to program, versatileCheap, easy to program, versatile
Zigbee Modules: Xbee chipZigbee Modules: Xbee chip Cheap, low power usage, Cheap, low power usage,
8:3 Priority Encoder: M74HC148 8:3 Priority Encoder: M74HC148 to accommadate a large number of inputs to a small number of pinsto accommadate a large number of inputs to a small number of pins
Quad Bilateral Switch: CD4066BCQuad Bilateral Switch: CD4066BC Quick, cmos logicQuick, cmos logic Doesn’t care about polarity of switch connectedDoesn’t care about polarity of switch connected
PCBexpressPCBexpress Reasonably priced for professional PCBsReasonably priced for professional PCBs
Transmitter Software Design DecisionsTransmitter Software Design Decisions
11 - Loop: continuosly checks to see if a switch is pressed - Loop: continuosly checks to see if a switch is pressed
2 2 - If statements & ANDs used to determine which switch is - If statements & ANDs used to determine which switch is pressedpressed
33 - Gotrans functions used to send serial data to Zigbee - Gotrans functions used to send serial data to Zigbee
Loop:high 6if pin7=0 and pin0=1 and pin1=1 then Gotrans5 'Sw5/Relayif pin7=0 and pin0=1 and pin1=0 then Gotrans4 'Sw4/Relayif pin7=1 and pin0=1 and pin1=0 then Gotrans3 'Cmos3if pin7=1 and pin0=0 and pin1=1 then Gotrans2 'Cmos2if pin7=1 and pin0=0 and pin1=0 then Gotrans1 'Cmos1nap 2
goto Loop
Gotrans5:low 6pause 500serout 7, T2400, ("5")goto Loop
1122
33
Puts Zigbee to sleepPuts Zigbee to sleep
Picaxe takes a quick napPicaxe takes a quick nap
Wakes Zigbee upWakes Zigbee up
Data is sent to ZigbeeData is sent to Zigbee
Receiver Software Design DecisionsReceiver Software Design Decisions
11 – Serin receives in coming data – Serin receives in coming data
2 2 - If statements check to see contents of data and sends- If statements check to see contents of data and sends
it to the corresponding functionit to the corresponding function
33 – Switch function activates relay or bilateral switch – Switch function activates relay or bilateral switch
main: let pins = %00000000serin 7,T2400,b1if b1 = "5" then Switch5if b1 = "4" then Switch4if b1 = "3" then Switch3if b1 = "2" then Switch2if b1 = "1" then Switch1nap 2
goto main
11
22
33Switch5:
let pins = %01000000pause 100let pins = %00000000'Reset pins to lowpause 100let pins = %00100000pause 100
goto main
Old Transmit ModuleOld Transmit Module
Protruding Output Jacks
No Power SwitchNo Power LightNo Sleep Mode
PicAxe Program PortResets Inside
4-Outputs
New Module - OutsideNew Module - Outside
Power Light IndicatorPower Switch
Integrated Outputs
5-Outputs
New Module - OutsideNew Module - Outside
External Resets
External PicAxe Programmer