Reef Central Online Community

Home Forum Here you can view your subscribed threads, work with private messages and edit your profile and preferences View New Posts View Today's Posts

Find other members Frequently Asked Questions Search Reefkeeping ...an online magazine for marine aquarists Support our sponsors and mention Reef Central

Go Back   Reef Central Online Community > General Interest Forums > Do It Yourself
Register Blogs FAQ Calendar Mark Forums Read

Notices

Reply
Thread Tools
Old 02/10/2014, 11:29 AM   #1226
uwe763
Registered Member
 
Join Date: Feb 2014
Posts: 2
Quote:
Originally Posted by marspeed View Post
i am intrested in the dallas temp
i think a led controller should do three things leds temp and fans then it is complete
right!


uwe763 is offline   Reply With Quote
Old 02/26/2014, 07:07 AM   #1227
shark boy
Registered Member
 
shark boy's Avatar
 
Join Date: Jul 2011
Posts: 118
Quote:
Originally Posted by O2Surplus View Post
SharkBoy-

Post up which digital pins you're planning to use on your MEGA & I'll take a whack at the Typhon "B" code and see if I can make it work for you. Let me know what size LCD you're planning to use, I'll need to modify the code if you're using a 20 x 4.
O2,
Have you had a chance to look at this yet?

sb


shark boy is offline   Reply With Quote
Old 02/26/2014, 08:42 AM   #1228
O2Surplus
Registered Member
 
Join Date: Aug 2011
Location: "The Land of Fruits & Nuts"
Posts: 879
Quote:
Originally Posted by shark boy View Post
O2,
Have you had a chance to look at this yet?

sb
I'm slowly chipping away at it as time permits. It's the whole"Two steps forward & one step back" kind of progress so far. Hopefully I'll have something that compiles correctly soon.


O2Surplus is offline   Reply With Quote
Old 02/26/2014, 11:40 AM   #1229
shark boy
Registered Member
 
shark boy's Avatar
 
Join Date: Jul 2011
Posts: 118
Quote:
Originally Posted by O2Surplus View Post
I'm slowly chipping away at it as time permits. It's the whole"Two steps forward & one step back" kind of progress so far. Hopefully I'll have something that compiles correctly soon.
I did a sketch with all 8 channels. Compiled correctly uploaded fine. I could even scroll through the 8 led channels and do adjustments to time, duration, fade and all, but when I returned to the main screen all it would show was the first 4 channels even though I told it to drop down a column to display the other four channels and even the first 4 never showed anything except 0s.
I'll see if I can find the sketch. I'm constantly deleting failed sketches.

Have you tried the jarduino sketch?
I guess I'll have to pay for ver 1.2 to have support for my 5 inch lcd.
Don't want to because I'm pretty sure I'm not gonna use it but I am very curious about it because it has 7 led channels. I tried to convert ver 1.1 to the updated utouch lib but no go.

Thanks for your time.
sb


shark boy is offline   Reply With Quote
Old 02/28/2014, 06:19 AM   #1230
shark boy
Registered Member
 
shark boy's Avatar
 
Join Date: Jul 2011
Posts: 118
7 channel led sketch

Almost got it!!!
I still get these errors when I try to compile.

Here is the file. Couldn't figure out how to upload the error log.

The 2 errors are in void loop()':
expected ')' before 'lcd'

at global scope:
expected unqualified-id before 'if'


Attached Files
File Type: txt channel.pde.txt (32.2 KB, 93 views)

Last edited by shark boy; 02/28/2014 at 06:25 AM. Reason: added more info
shark boy is offline   Reply With Quote
Old 02/28/2014, 09:27 AM   #1231
O2Surplus
Registered Member
 
Join Date: Aug 2011
Location: "The Land of Fruits & Nuts"
Posts: 879
Quote:
Originally Posted by shark boy View Post
Almost got it!!!
I still get these errors when I try to compile.

Here is the file. Couldn't figure out how to upload the error log.

The 2 errors are in void loop()':
expected ')' before 'lcd'

at global scope:
expected unqualified-id before 'if'
Hey Terry - good job!

I've been working on an 8 channel version of the Typhon "B" code. I've managed to add the other 4 channels, but the Lcd portion still needs some work. The code compiles correctly in Arduino 23, but I don't own a Mega or a 20 x 4 Lcd to test it. I'll attach it here. Maybe you can make the needed changes and it will work for you?


Attached Files
File Type: txt TyphonB_8_channel.pde.txt (41.4 KB, 104 views)
O2Surplus is offline   Reply With Quote
Old 02/28/2014, 09:33 AM   #1232
shark boy
Registered Member
 
shark boy's Avatar
 
Join Date: Jul 2011
Posts: 118
Quote:
Originally Posted by O2Surplus View Post
Hey Terry - good job!

I've been working on an 8 channel version of the Typhon "B" code. I've managed to add the other 4 channels, but the Lcd portion still needs some work. The code compiles correctly in Arduino 23, but I don't own a Mega or a 20 x 4 Lcd to test it. I'll attach it here. Maybe you can make the needed changes and it will work for you?
Thanks O2,
I'll give it a whirl!
Have you looked at the temp portion of the "B" code? It still seems like it should work. Doesn't work in serial monitor either..??

sb


shark boy is offline   Reply With Quote
Old 03/02/2014, 09:55 PM   #1233
Meldrath
Registered Member
 
Join Date: Jun 2013
Posts: 86
I just spent some time converting the typhon channels to a class based library.

This allows you to add infinite number of channels to the typhon or any other arduino based pwm driver.
This code only allows for a standard ramp up - hold - ramp down pattern.

If you use this code please credit the typhon project and myself.

Code:
/*
// LED Channel Class.cpp
// version 1.0 
// 03/02/14
// 
// This class provides an object for each LED channel you wish to use.
// Allows for a basic ramp up/hold/ramp down patterning. 
//
*/

#include "ledChannel.h"
#include "Arduino.h"


LEDChannel::LEDChannel(uint32_t channel)
{
	_channel = channel;
}

void LEDChannel::setFade(uint32_t fadeTime)
{
	_fadeTime = fadeTime;
}

void LEDChannel::setPin(uint32_t pin)
{
	_pin = pin;
}

void LEDChannel::setTotal(uint32_t totalTime)
{
	_totalTime = totalTime;
}

void LEDChannel::setStart(uint32_t startTime)
{
	_startTime = startTime;
}

void LEDChannel::setIntensity(uint32_t intensity)
{
	_intensity = intensity;
}

void LEDChannel::setLEDChannel(uint32_t channel, uint32_t pin, uint32_t startTime, uint32_t fadeTime, uint32_t totalTime, uint32_t intensity)
{
	_channel = channel;
	_pin = pin;
	_startTime = startTime;
	_fadeTime = fadeTime;
	_totalTime = totalTime;
	_intensity = intensity;
}

int LEDChannel::pwm(int minutes)
{
	uint32_t pwm = 0;

	if (minutes > _startTime || minutes <= (_startTime + _fadeTime))
	{
		pwm = map((minutes - _startTime), 0, _fadeTime, 0, _intensity);
	}

	if (minutes > ((_startTime + _totalTime) - _fadeTime) && minutes <= (_startTime + _totalTime))
	{
		pwm = map((minutes - (_startTime + _totalTime - _fadeTime)), 0, _fadeTime, _intensity, 0);
	}

	if (minutes <= _startTime || minutes > _startTime + _totalTime)
	{
		if ((_startTime + _totalTime ) % 1440 < _startTime && (_startTime + _totalTime) % 1440 > minutes)
		{
			pwm = map(((_startTime + _totalTime) - minutes) % 1440, 0, _fadeTime, 0, _intensity);
		}
		else
		{
			pwm = 0;
		}
	}

	if (pwm > _intensity)
	{
		pwm = _intensity;
	}

	if (pwm < 0)
	{
		pwm = 0;
	}

	analogWrite(_pin, map(pwm, 0, 100, 0, 255));

	return pwm;
}
Code:
/*
// LED Channel Class.h
// version 1.0 
// 03/02/14
// 
// This class provides an object for each LED channel you wish to use.
// Allows for a basic ramp up/hold/ramp down patterning. 
//
*/
#ifndef ledChannel_h
#define ledChannel_h

#include "Arduino.h"

class LEDChannel
{
	public:
		LEDChannel(uint32_t channel);
		void setFade(uint32_t fadeTime);
		void setPin(uint32_t pin);
		void setTotal(uint32_t totalTime);
		void setStart(uint32_t startTime);
		void setIntensity(uint32_t intensity);
		void setLEDChannel(uint32_t channel, uint32_t pin, uint32_t startTime, uint32_t fadeTime, uint32_t totalTime, uint32_t intensity);
		int pwm(int minuntes);
	private:
		uint32_t _channel;
		uint32_t _pin;
		uint32_t _startTime;
		uint32_t _fadeTime;
		uint32_t _totalTime;
		uint32_t _intensity;
};

#endif
This will allow you to instantiate an array of objects, and utilize them.

Code:
//Sample code to show you how to create an object array and utilize the Channel class.

#define CHANNELS 16

LEDChannel ledArray[CHANNELS] = {LEDChannel(1), LEDChannel(2), LEDChannel(3), LEDChannel(4), LEDChannel(5), LEDChannel(6),
                                 LEDChannel(7), LEDChannel(8), LEDChannel(9), LEDChannel(10), LEDChannel(11), LEDChannel(12), 
                                 LEDChannel(13), LEDChannel(14), LEDChannel(15), LEDChannel(16)};

uint32_t pwmPinArray[CHANNELS] = {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 6, 7, 8, 9};
uint32_t startTimeArray[CHANNELS] = {600, 600, 600, 600, 1300, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600};
uint32_t fadeTimeArray[CHANNELS] = {120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120};
uint32_t totalTimeArray[CHANNELS] = {600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600};
uint32_t intensityArray[CHANNELS] = {50, 100, 100, 40, 40, 30, 100, 100, 100, 100, 100, 40, 40, 30, 100, 100};

void setupLED()
{  
  for (int i = 0; i < CHANNELS; i++)
  {
    ledArray[i].setLEDChannel(i, pwmPinArray[i], startTimeArray[i], fadeTimeArray[i], totalTimeArray[i], intensityArray[i]);
  }
}

void checkLED()
{  
  rtc_clock.get_time(&hh, &mm, &ss);
  int minutes = (hh * 60) + mm;
  
  for (int i = 0; i < CHANNELS; i++)
  {
     ledArray[i].pwm(minutes);
  }  
}




Last edited by Meldrath; 03/02/2014 at 10:04 PM. Reason: Clarification
Meldrath is offline   Reply With Quote
Old 03/02/2014, 11:03 PM   #1234
Meldrath
Registered Member
 
Join Date: Jun 2013
Posts: 86
Please ignore above until I figure out the issue.



Last edited by Meldrath; 03/02/2014 at 11:53 PM.
Meldrath is offline   Reply With Quote
Old 04/17/2014, 02:25 PM   #1235
shark boy
Registered Member
 
shark boy's Avatar
 
Join Date: Jul 2011
Posts: 118
Typhon v3

Did anyone see SaltyDogaqua's Typhon?

He isn't making them anymore but his had a lot of stuff on it.
Four independent output channels (both 5V PWM and 10V PWM signals) for dimmable LED drivers. Controller controls each channel with “Start” and “End” times, fade duration, minimum and maximum intensity level.
It also has 2 inputs via USB-mini for (2) DS18B20 Temperature
sensors, an output for a 4-channel relay unit and Bluetooth lighting control via a Bluetooth Module. You could set the out puts to fan control, wave maker, heat, cool, whatever.
His code was loaded in HEX format. I have a copy of it but haven't tried to see if it works yet.
Very cool. I have been tring to get in touch with him to see if maybe he would come off of eagle files and a sketch that's not in hex format.

He was in on some of the posts on this forum.

I can upload a copy of the hex file if anyone is interested.
Google saltydog typhon github and you should be able to find what I found.

sb


shark boy is offline   Reply With Quote
Old 05/08/2014, 02:18 PM   #1236
lorddwyer
Registered Member
 
Join Date: May 2014
Posts: 3
thankyou for this guys, working my through, whats needed at present but a valuable resource.


lorddwyer is offline   Reply With Quote
Old 11/06/2014, 09:51 PM   #1237
graemeh
Registered Member
 
Join Date: Oct 2014
Posts: 6
I have just built a Typhon controller using v1.0 of the layout.

As I had to buy 10 boards I now have some spares. I plan to keep four myself.

Is anyone interested in a board or two?

[IMG]http://i59.*******.com/2d9cuxi.jpg[/IMG]


graemeh is offline   Reply With Quote
Old 02/02/2015, 09:02 PM   #1238
SteveZZR
Registered Member
 
Join Date: Jul 2014
Posts: 142
Don't suppose anyone can help me?

I've got the old Arduino 022 running with the code loaded up and it's telling me
" 'DS1307' does not name a type."


Any hints?
Tried multiple RTC libraries but no joy....


SteveZZR is offline   Reply With Quote
Old 02/11/2015, 08:22 PM   #1239
SteveZZR
Registered Member
 
Join Date: Jul 2014
Posts: 142
Built one and it's working - PM me if you want my library and .ino file


SteveZZR is offline   Reply With Quote
Old 08/09/2015, 10:09 AM   #1240
mbreaux
Registered Member
 
Join Date: Aug 2015
Posts: 1
Hey Steve, I just read through a post about an Arduino led controller that you said you built and it working. I have Marsaqua lights and just want to ramp them up and down. Everything seems complicated by people wanting to control more. What does your build consist of?


mbreaux is offline   Reply With Quote
Old 08/10/2015, 04:46 PM   #1241
delmo
Registered Member
 
Join Date: Jul 2008
Location: South FL USA
Posts: 183
So is the originator of this thread still alive? (der willie zur macht)


delmo is offline   Reply With Quote
Old 08/29/2015, 07:58 PM   #1242
SteveZZR
Registered Member
 
Join Date: Jul 2014
Posts: 142
Quote:
Originally Posted by mbreaux View Post
Hey Steve, I just read through a post about an Arduino led controller that you said you built and it working. I have Marsaqua lights and just want to ramp them up and down. Everything seems complicated by people wanting to control more. What does your build consist of?
Hi,
sorry I missed your message

I built the controller using an Arduino, a screen and some LDD drivers. I'd point you towards 'jarduino' as a better option. It uses a touch screen and an Arduino so less components and better design as there's scope to add much more functionality


SteveZZR is offline   Reply With Quote
Old 09/03/2015, 09:08 PM   #1243
Loonytic
Registered Member
 
Join Date: Mar 2012
Location: Kingwood, Texas
Posts: 32
WOW! I can't believe it's been 3 years since I've logged into the forum! I built a Typhon 1.0 and it's still going strong 3+ years later, and never even put it in a housing. My LED array needs an overhaul, but the controller is still running like new. Still haven't converted my freshwater tank to salt yet, but it may be happening soon now that I bought my own house and have gotten moved. Happy to see this is still evolving. I bet that's plenty for me to catch up on!


Loonytic is offline   Reply With Quote
Old 09/04/2015, 07:26 AM   #1244
SteveZZR
Registered Member
 
Join Date: Jul 2014
Posts: 142
Quote:
Originally Posted by Loonytic View Post
WOW! I can't believe it's been 3 years since I've logged into the forum! I built a Typhon 1.0 and it's still going strong 3+ years later, and never even put it in a housing. My LED array needs an overhaul, but the controller is still running like new. Still haven't converted my freshwater tank to salt yet, but it may be happening soon now that I bought my own house and have gotten moved. Happy to see this is still evolving. I bet that's plenty for me to catch up on!
You should look at Jarduino, touch screen controller easily added to for other control and monitoring


SteveZZR is offline   Reply With Quote
Old 01/06/2016, 10:30 PM   #1245
handychang
Registered Member
 
Join Date: Jan 2016
Posts: 2
hii DWZM. thank you for this thread.. i have built my own diy led controller for may fresh water planted tank. but i have a question. while i select channel 1 menu, the fade time do not change. it only 0:01 and 0:02. but the other channel is work perfectly. i using r20 code from google code link. please your advice.

thank you


handychang is offline   Reply With Quote
Old 01/07/2016, 05:31 AM   #1246
handychang
Registered Member
 
Join Date: Jan 2016
Posts: 2
hiii its me again.. i have tried setting of the start and end time for channel 1. and the fade duration is work.. thank you every one..


handychang is offline   Reply With Quote
Old 02/05/2016, 03:22 PM   #1247
gendiaaa
Registered Member
 
Join Date: Jan 2015
Posts: 50
Quote:
Originally Posted by der_wille_zur_macht View Post
Ok, I made a google code site to hold the project and uploaded the current prototype version. People who have the prototype PCBs can look here for documentation and to find the bill of materials:

http://code.google.com/p/typhon-reef/
Hello sir

Thank you so much for your efforts to help us my question is I have this arduino here in egypt http://mobile.ram-e-shop.com/cat/mob...oducts_id/2147
And I am noob in electronics so if I bought this ardiuno and used the code you put in the link above gonna work with me ?? Or I need to make the same hardware?? And if it work could you please offer a LCD for me to work with from the same site cuz its local here and easy to buy from it with no custom problems ... I am gonna use ldd MW drivers in my LEDs by the way


gendiaaa is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump

Similar Threads
thread Thread Starter Forum Replies Last Post
Cheap Moonlight ticklesworth New to the Hobby 3 04/04/2010 04:09 PM
Cheap Moonlight ticklesworth Do It Yourself 0 04/03/2010 08:52 AM
Arduino base controller - power pack ONLY TODAY MaLi Do It Yourself 0 03/07/2010 04:56 AM
Sumps 101: Cheap, simple and effective for small tanks cody6766 Central Oklahoma Marine Aquarium Society 8 01/06/2009 09:57 AM


All times are GMT -6. The time now is 04:16 PM.


TapaTalk Enabled

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by Searchlight © 2017 Axivo Inc.
Use of this web site is subject to the terms and conditions described in the user agreement.
Reef CentralTM Reef Central, LLC. Copyright ©1999-2014