I/O expansion added to wizard.
-
- Posts: 33
- Joined: Mon May 20, 2013 7:49 am
Re: I/O expansion added to wizard.
Just ordered the Multi-Channel Water Level Expansion will use that to monitor the levels of my Cal - Alk - vinegar - vodka.
I already have the single Water Level Expansion on my ato.
Would still like a float switch on my skimmer cup and be able to shut it off and send a email when its full.
I already have the single Water Level Expansion on my ato.
Would still like a float switch on my skimmer cup and be able to shut it off and send a email when its full.
Re: I/O expansion added to wizard.
For your skimmer cup, use this:
Code: Select all
ReefAngel.Relay.Set(Port1,ReefAngel.IO.GetChannel(0)); // Set port 1 according to I/O channel 0
Roberto.
-
- Posts: 33
- Joined: Mon May 20, 2013 7:49 am
Re: I/O expansion added to wizard.
It says reef angel plus main unit 2.1rimai wrote:Open the enclosure. It will be written in the pcb.
-
- Posts: 33
- Joined: Mon May 20, 2013 7:49 am
Re: I/O expansion added to wizard.
ok its I/O Expansion 2.0
Re: I/O expansion added to wizard.
Yes, starting on 2.0 version, you can easily use any port as output too. You just need to code it so the module knows you are using as output.
You need to add this to the end of your code:
Then, in your code, you can set any channel on the I/O module like this:
You need to add this to the end of your code:
Code: Select all
void SetIOChannel(byte channel, byte value)
{
Wire.beginTransmission(I2CIO_PCF8574);
Wire.write(value<<channel);
Wire.endTransmission();
}
Code: Select all
SetIOChannel(0,1); // Set channel 0 to on
Roberto.
Re: I/O expansion added to wizard.
Hi Roberto
My IO Expansion module rev is 2.2
I have added the following coding
void SetIOChannel(byte channel, byte value)
{
Wire.beginTransmission(I2CIO_PCF8574);
Wire.write(value<<channel);
Wire.endTransmission();
}
in the setup I called the following codes
// init IO port 1 to 3
// Testing phase
SetIOChannel(0,1); // Set channel 0 to on
SetIOChannel(1,1); // Set channel 1 to on
SetIOChannel(2,1); // Set channel 2 to on
SetIOChannel(3,0); // Set channel 3 to off
SetIOChannel(4,0); // Set channel 4 to off
SetIOChannel(5,0); // Set channel 5 to off
and in the loop
if (hour()>=0 && hour()< 17 )
{
unsigned long currentMillis = millis();
if ( currentMillis - previousMillis >= intervaltimer )
{
if (FanOffStatus == false)
{
FanOffStatus = true; // variable set to off the fan
previousMillis = currentMillis;
intervaltimer = 30000 ;
SetIOChannel(4,1); // Set channel 4 to on
SetIOChannel(5,0); // Set channel 5 to on
}
else
{
FanOffStatus = false; // variable set to on the fan
previousMillis = currentMillis ;
intervaltimer = 5000 ;
SetIOChannel(4,0); // Set channel 4 to on
SetIOChannel(5,1); // Set channel 5 to on
}
if (FanOffStatus == false)
{
ReefAngel.Relay.Off( Port3 );
}
else
{
ReefAngel.Relay.On( Port3 );
}
}
}
I'm just wanted to test the IO module to in port 4 and 5 to toggle between ON and OFF stage. and I noticed that all my port are at +5V including port 4 an 5. There is no toggling in voltage in port and 4 and 5. Looks like the RA is not IO module is set to OUTPOT module. Please advise
My IO Expansion module rev is 2.2
I have added the following coding
void SetIOChannel(byte channel, byte value)
{
Wire.beginTransmission(I2CIO_PCF8574);
Wire.write(value<<channel);
Wire.endTransmission();
}
in the setup I called the following codes
// init IO port 1 to 3
// Testing phase
SetIOChannel(0,1); // Set channel 0 to on
SetIOChannel(1,1); // Set channel 1 to on
SetIOChannel(2,1); // Set channel 2 to on
SetIOChannel(3,0); // Set channel 3 to off
SetIOChannel(4,0); // Set channel 4 to off
SetIOChannel(5,0); // Set channel 5 to off
and in the loop
if (hour()>=0 && hour()< 17 )
{
unsigned long currentMillis = millis();
if ( currentMillis - previousMillis >= intervaltimer )
{
if (FanOffStatus == false)
{
FanOffStatus = true; // variable set to off the fan
previousMillis = currentMillis;
intervaltimer = 30000 ;
SetIOChannel(4,1); // Set channel 4 to on
SetIOChannel(5,0); // Set channel 5 to on
}
else
{
FanOffStatus = false; // variable set to on the fan
previousMillis = currentMillis ;
intervaltimer = 5000 ;
SetIOChannel(4,0); // Set channel 4 to on
SetIOChannel(5,1); // Set channel 5 to on
}
if (FanOffStatus == false)
{
ReefAngel.Relay.Off( Port3 );
}
else
{
ReefAngel.Relay.On( Port3 );
}
}
}
I'm just wanted to test the IO module to in port 4 and 5 to toggle between ON and OFF stage. and I noticed that all my port are at +5V including port 4 an 5. There is no toggling in voltage in port and 4 and 5. Looks like the RA is not IO module is set to OUTPOT module. Please advise
Re: I/O expansion added to wizard.
I'll have to check when I get to the office.
Sent from my SM-G900P using Tapatalk
Sent from my SM-G900P using Tapatalk
Roberto.
Re: I/O expansion added to wizard.
I'm not so sure why it is not working for you.
This is what I tested:
Channel 0 goes high and low every second.
This is what I tested:
Code: Select all
if (millis()%2000<1000)
SetIOChannel(0,1);
else
SetIOChannel(0,0);
Roberto.