'WIRE LEGEND for 8 channel relay module
'VCC = 5V
'In1 = D2
'In2 = D3
'In3 = D4
'In4 = D5
'In5 = D6
'In6 = D7
'In7 = D8
'In8 = D9
'GND = GND
Sub Process_Globals
'These global variables will be declared once when the application starts.
'Public variables can be accessed from all modules.
Public Serial1 As Serial
Private RelayState = True As Boolean
Private Pin(10) As Pin
Private FirstRelay = 2, RelayCount = 8 As Int
End Sub
Sub AppStart
Serial1.Initialize(115200)
Log("AppStart")
Dim i As Int = FirstRelay 'First relay pin number (GPIO number)
Do While i < FirstRelay + RelayCount
Log("Initialize Pin ", i)
Pin(i).Initialize(i, Pin(i).MODE_OUTPUT) 'Initialise each pin and set the pin mode
Pin(i).DigitalWrite(True) 'Set the relay to NO (Normally Open), it's default state.
i = i + 1
Loop
'Loopey is for example purposes only
AddLooper("Loopey")
End Sub
Sub Loopey
RelayState = Not(RelayState)
Dim State As String 'State is for logging purposes only
If RelayState Then State = "Open" Else State = "Closed"
Dim i As Int = FirstRelay
Do While i < FirstRelay + RelayCount
Log("Relay ", i, " is ", State)
Pin(i).DigitalWrite(RelayState) 'Open or Close each relay (1-8) depending on its previous set state
Delay(100) 'Wait 1/10 of a second
i = i + 1
Loop
End Sub