Four Power Relays

Vitaliy Yurkin, Z-Wave.Me Control 4 power switches from one Z-Uno device. It can be extended to more switches.
  • Z-Uno board
  • Breadboard
  • 4 resistors 220 Ω
  • 4 optocouplers
Download Fritzing project
            
/* * * 4 Relays controlled thouth resistors 220Omh and optocouplers 817С * Off - HIGH * On - LOW */ // Pins definitions #define LedPin1 9 #define LedPin2 10 #define LedPin3 11 #define LedPin4 12 // Global variables to store data reported via getters byte switchValue1 = 1; byte switchValue2 = 1; byte switchValue3 = 1; byte switchValue4 = 1; ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_ALWAYS_AWAKE); // Set up 10 channels ZUNO_SETUP_CHANNELS( ZUNO_SWITCH_BINARY(getterSwitch1, setterSwitch1), ZUNO_SWITCH_BINARY(getterSwitch2, setterSwitch2), ZUNO_SWITCH_BINARY(getterSwitch3, setterSwitch3), ZUNO_SWITCH_BINARY(getterSwitch4, setterSwitch4) ); void setup() { // set up I/O pins. Analog and PWM will be automatically set up on analogRead/analogWrite functions call pinMode(LedPin1, OUTPUT); pinMode(LedPin2, OUTPUT); pinMode(LedPin3, OUTPUT); pinMode(LedPin4, OUTPUT); } void loop() { // Empty } // Getters and setters void setterSwitch1(byte value) { digitalWrite(LedPin1, (value > 0) ? LOW : HIGH); switchValue1 = value; } byte getterSwitch1(){ return switchValue1; } void setterSwitch2(byte value) { digitalWrite(LedPin2, (value > 0) ? LOW : HIGH); switchValue2 = value; } byte getterSwitch2(){ return switchValue2; } void setterSwitch3(byte value) { digitalWrite(LedPin3, (value > 0) ? LOW : HIGH); switchValue3 = value; } byte getterSwitch3(){ return switchValue3; } void setterSwitch4(byte value) { digitalWrite(LedPin4, (value > 0) ? LOW : HIGH); switchValue4 = value; } byte getterSwitch4(){ return switchValue4; }
Download this sketch
Link to detailed project description (in Russian, use Google to translate)
×

Uploading the sketch to your Z-Uno:

Use this QR-code to include your device using Z-Wave Smart Start or triple click BTN button