redtop's Ferduino controller

since I'm not real good at understanding Celsius, I spent all night changing the controller to display the temp in Fahrenheit, it's not exactly compatible with Joyreef because the *C is still there instead of *F but it is displaying the correct numbers in *F so I can live with that LOL...

here's some pics I took before and after loading the altered code, and I had to reload several times before finishing the C to F conversion, I spent about 2 weeks figuring most of this out on the older Ferduino code and it still took me all night to actually get it done in the newer code, even with copy and paste from the older code LOL

so far, I've changed 1 of the LED channels from blue to green and changed it from Celsius to Fahrenheit, I know how to change a lot of the colors now too but I still don't understand anything about reading and writing C+ code :)


IMG_3184_zps4f539d56.jpg


IMG_3191_zpsd6e3a5e9.jpg


IMG_3205_zps344e9104.jpg


IMG_3190_zps9082d965.jpg


IMG_3203_zpsb6e9995a.jpg


IMG_3201_zps031d181f.jpg


IMG_3204_zps6eabd00c.jpg


IMG_3187_zps0b2baeee.jpg


Capture_zps41426d3a.jpg
 
Hi!

Good work!

Here have a small problem.

IMG_3201_zps031d181f.jpg


The interval is 99 until 112 but, you have 90 selected.

In the tab "processmytouch" on case 42 find:


Code:
          if (HtempMin_temp < 20)
          {
            HtempMin_temp = 35;
          }

Replace:

Code:
          if (HtempMin_temp < 68)
          {
            HtempMin_temp = 98;
          }

Find:

Code:
          if (HtempMax_temp < 36)
          {
            HtempMax_temp = 50;
          }

Replace:

Code:
          if (HtempMax_temp < 99)
          {
            HtempMax_temp = 112;
          }

Find:

Code:
          if (HtempMin_temp > 35)
          {
            HtempMin_temp = 20;
          }

Replace:

Code:
          if (HtempMin_temp > 98)
          {
            HtempMin_temp = 68;
          }

Find:

Code:
          if (HtempMax_temp > 50)
          {
            HtempMax_temp = 36;
          }

Replace:

Code:
          if (HtempMax_temp > 112)
          {
            HtempMax_temp = 99;
          }
 
yep, got that part....I forgot to change the variable in the ferduino_with_webcontrol_beta ino , that 90 jumps to 99 or 112 depending which button I push, I'll fix it LOL

please look at this and see if I have it all correct, I think I have it all :)

case 42://---------------------------------------- Configurar coolers ----------------------------
if ((x>=volT[0]) && x<=volT[2] && (y>=volT[1]) && (y<=volT[3])) // volta a tela configurar leds
{
//waitForIt(volT[0], volT[1], volT[2], volT[3]);
dispScreen=40;
clearScreen();
config_leds();
}
else if ((x>=salV[0]) && (x<=salV[2]) && (y>=salV[1]) && (y<=salV[3])) //Função salvar
{
//waitForIt(salV[0], salV[1], salV[2], salV[3]);
HtempMin = HtempMin_temp;
HtempMax = HtempMax_temp;
dispScreen=40;
salvar_coolersEEPROM();
clearScreen();
config_leds();
}
else if ((x>=temM[0]) && (x<=temM[2]))
{
if ((y>=temM[1]) && (y<=temM[3])) // Temperatura para velocidade mínima -
{
//waitForIt(temM[0], temM[1], temM[2], temM[3]);
HtempMin_temp -= 0.1;
if (HtempMin_temp < 68) // 20 C
{
HtempMin_temp = 84; // 35 C
}
myGLCD.setColor(0, 0, 0);
myGLCD.fillRect (128, 40, 180, 56); // Limpar texto
configurar_coolers();
}
else if ((y>=almM[1]) && (y<=almM[3])) // Temperatura para velocidade máxima -
{
//waitForIt(almM[0], almM[1], almM[2], almM[3]);
HtempMax_temp -= 0.1;
if (HtempMax_temp < 85) //36 C
{
HtempMax_temp =99; //50 C
}
myGLCD.setColor(0, 0, 0);
myGLCD.fillRect (128, 140, 180, 156);// Limpar texto
configurar_coolers();
}
}
else if ((x>=temP[0]) && (x<=temP[2]))
{
if ((y>=temP[1]) && (y<=temP[3])) // Temperatura para velocidade mínima +
{
//waitForIt(temP[0], temP[1], temP[2], temP[3]);
HtempMin_temp += 0.1;
if (HtempMin_temp > 84) //35 C
{
HtempMin_temp = 68; //20 C
}
myGLCD.setColor(0, 0, 0);
myGLCD.fillRect (128, 40, 180, 56); //Limpar texto
configurar_coolers();
}
else if ((y>=almP[1]) && (y<=almP[3])) // Temperatura para velocidade máxima +
{
//waitForIt(almP[0], almP[1], almP[2], almP[3]);
HtempMax_temp += 0.1;
if (HtempMax_temp >99) //50 C
{
HtempMax_temp = 85; //36 C
}
myGLCD.setColor(0, 0, 0);
myGLCD.fillRect (128, 140, 180, 156);//Limpar texto
configurar_coolers();
}
}
else if ((x>=menU[0]) && x<=menU[2] && (y>=menU[1]) && (y<=menU[3])) // volta ao menu 1
{
//waitForIt(menU[0], menU[1], menU[2], menU[3]);
dispScreen=1;
clearScreen();
menuScreen();
}
break;
case 43://---------------------------------------- Reduziir potência dos leds ----------------------------
if ((x>=menU[0]) && x<=menU[2] && (y>=menU[1]) && (y<=menU[3])) // volta ao menu 1
{
//waitForIt(menU[0], menU[1], menU[2], menU[3]);
dispScreen=1;
clearScreen();
menuScreen();
}
else if ((x>=volT[0]) && x<=volT[2] && (y>=volT[1]) && (y<=volT[3])) // volta a tela configurar leds
{
//waitForIt(volT[0], volT[1], volT[2], volT[3]);
dispScreen=40;
clearScreen();
config_leds();
}
else if ((x>=salV[0]) && (x<=salV[2]) && (y>=salV[1]) && (y<=salV[3])) //Função salvar
{
//waitForIt(salV[0], salV[1], salV[2], salV[3]);
tempHR = tempHR_t;
potR = potR_t;
dispScreen=40;
salvar_tempPotEEPROM();
clearScreen();
config_leds();
}
else if ((x>=tempeC[0]) && (x<=tempeC[2]) && (y>=tempeC[1]) && (y<=tempeC[3])) //Temperatura +
{
//waitForIt(tempeC[0], tempeC[1], tempeC[2], tempeC[3]);
tempHR_t += 1;
if (tempHR_t >99)//99 C /******************************************************** changed for Fahrenheit *******************************************************************/
{
tempHR_t = 86; //30 C
}
reduzir_potencia();
}
else if ((x>=tempeB[0]) && (x<=tempeB[2]) && (y>=tempeB[1]) && (y<=tempeB[3])) //Temperatura -
{
//waitForIt(tempeB[0], tempeB[1], tempeB[2], tempeB[3]);
tempHR_t -= 1;
if (tempHR_t < 86) //30 C
{
tempHR_t =99; //99 C
}
reduzir_potencia();
}
else if ((x>=potC[0]) && (x<=potC[2]) && (y>=potC[1]) && (y<=potC[3])) //Potência +
{
//waitForIt(potC[0], potC[1], potC[2], potC[3]);
potR_t += 1;
if (potR_t >99) //99 C
{
potR_t = 1;
}
reduzir_potencia();
}
else if ((x>=potB[0]) && (x<=potB[2]) && (y>=potB[1]) && (y<=potB[3])) //Potência -
{
//waitForIt(potB[0], potB[1], potB[2], potB[3]);
potR_t -= 1;
if (potR_t < 1)
{
potR_t =99; //99 C
}
reduzir_potencia();
}
break; ;
 
Last edited:
I forgot, I changed that screen too, this is what I have right now because the 3 digit number ran across the buttons, I haven't found where to change the position of those numbers yet :) I guess I should say, the 4 digit numbers :)


IMG_3206_zps716dc820.jpg
 
Last edited:
Search for "tela =42" in the tab "L_Menus".

I looked at it all but I still didn't figure out what to change :) I'm on my laptop PC and don't have all the arduino stuff on here so I'm can't do much LOL

I have fallen asleep 3 or 4 times while trying to type this, just did it again LOL

I'm gonna go now and take a nap :D
 
I looked at it all but I still didn't figure out what to change :) I'm on my laptop PC and don't have all the arduino stuff on here so I'm can't do much LOL

I have fallen asleep 3 or 4 times while trying to type this, just did it again LOL

I'm gonna go now and take a nap :D

Only the coordinate X.

On this case is 130.

myGLCD.printNumF(HtempMin_temp, 1, 130, 40);
myGLCD.printNumF(HtempMax_temp, 1, 130, 140);
 
Only the coordinate X.

On this case is 130.

myGLCD.printNumF(HtempMin_temp, 1, 130, 40);
myGLCD.printNumF(HtempMax_temp, 1, 130, 140);

OK thanks, I'll work on it more later, I'm so sleepy I can't keep my eyes open right now, I'd be sure to screw something up if I worked on it right now LOL
 
Is there a difference between the Arduino Ethernet Shield R3 and the one you used?

this is the shield that Fernando used originally and I didn't want to start out trying to figure out how to use something different....

I liked that it is a full shield, if you choose the W5100 shield, you'll need to make a half shield to finish off the layer of the stack so you can add other shields

Fernando has the W5100 already written into the code, it's just a simple matter of commenting this shield out, and uncommenting the W5100...

you're covered with either shield you choose, the W5100 is more plentiful here though, and a bit less expensive
 
how many channels is it set up for and can it increased to more channels if i want?

if you're referring to the LED channels, it's got 5 channel, 6 counting the moon light but there's no more room for more, at least not that I'm aware of, Fernando may jump in and give a better explanation though :)

if you're referring to more relay channels, the sky is the limit, but you'll need more PFC8575 I/O port expanders, you'll already need one of these port expanders to take full advantage of the programs
 
Me and my dad started to build the jarduino but we just kept getting a white screen. That's when it came across this post and it think its a little more complete for what it want.
 
Yes it was referring to led channels. I'm currently building a diy led system as well. It's broken in to two fixtures each with 3 channels ch1 royal blue ch2 white and ch3 uv, red, and green
 
Back
Top