Jump to content
Pod Your Reef

Meepduino: 2.0 RELEASED!


MeepNand

Recommended Posts

Hey Meep just checking how it was going with the controller?

I've tried plugging in the Arduino, but it doesn't seem to be lighting up. I'm checking the wiring on the DS1307 and hopefully I haven't broken anything.

If I break it, I'll order you a new one.

Link to comment

Problems described above with blowing up an Arduino have led to having to order some new female headers. I'll try programming without them for a time, but it will take a while.

  • Like 1
Link to comment

I have the same board as Zeadon. I was getting the '27:85:85' error with the 1307. It wasn't until the 3rd time that I finally got the wiring correct. Strange how obvious that sounds but I would really double-check the wiring. It was confirmed with my own software (below). I am still waiting on the TFT shield before I can test Meep's stuff but, being a SW engineer, I wanted to play around the Due and DS1307.

 

#include <string.h>
#include <stdarg.h>
#include <DS1307.h>

#define LOG   serialprintf

int vserialprintf( const char *format, va_list args ) {
  char buffer[256];
  vsprintf( buffer, format, args );
  int length = Serial.print(buffer);
//  Serial.flush();
  return length;
}

int serialprintf( const char *format, ... ) {
  va_list args;
  va_start(args, format);
  int length = vserialprintf( format, args );
  va_end(args);
  return length;
}

//
// DS1307 stuff
//
#define SDA 20
#define SCL 21
DS1307 rtc(SDA,SCL);

void setup() {
  Serial.begin(57600);
  rtc.halt(false);
}

void loop() {
  static uint8_t prevSeconds = 0;

  Time t = rtc.getTime();
  if( prevSeconds != t.sec ) {
    LOG( "Time: %02d:%02d:%02d %02d/%02d/%4d\n",
      t.hour,
      t.min,
      t.sec,
      t.mon,
      t.date,
      t.year );
      
      prevSeconds = t.sec;
  }
}
  • Like 1
Link to comment

Quick update:

New female headers arrived. I am designing a couple very interesting ideas in CAD right now though, so I'll have to solder them in a little while.

Link to comment

been away for a while, but i just ordered new LEDs for the light. 12NW, 12 RB and 16HV to swap out the old LEDs on my fixture. I can finally finish this project

  • Like 1
Link to comment
  • 2 weeks later...

Okay, sorry for the long absence, but I'm back on it now with a few more programming tricks up my sleeve.

The code will be condensed considerably again, from the current 62kbytes to something (hopefully) under 60kbytes, and allow for the addition of as many temperature probes, lighting channels, etc. that you could ever want.

Of course, that's unlikely for another few weeks, so bear with 2 temperature probes for now. Full user control of the menu will be a long time coming.

Link to comment

I've confirmed tons of devices can be supported. Right now I'm thinking of having all 8 lighting channels, 4 pumps, 4 temperature probes/heaters (5 pins used because the probes only use 1 pin), and a pH probe. I would do more, but it would make it harder for users due to the massive desoldering and modifications that would be required to the board.

 

EDIT: Dang, with the TONMOCON V this weekend and 2 projects due on Monday, I'll have to choose between this and homework. Fortunately all my projects are due next week and then there will be a lull, which I'll use to develop the extra menus for pumps and temperature. Alarms will be covered in 2.1.

Link to comment

So it's 3:00 AM here, and I've just finished a programming marathon!

The Meepduino is almost complete. It now supports up to 8 channels of led lighting, 4 pumps, and 4 heater probes/heaters. I still need to add alarms, but I'll do that tomorrow. Theoretically it could have more than what I've given it, but the display is only so big, and this speeds up the program a bit. In any case, 4 probes and 4 pumps is pretty good.

  • Like 1
Link to comment

Warning to those with the DS1302:

You might not be able to use the DS1302 very well with 2.0. Because I'm squeezing all I can out of the pins right now, the DS1302 using 3 pins will be losing some features, probably heater 4 and pumps 3-4.

Link to comment

zodiii, on 28 Oct 2013 - 20:02, said:snapback.png

Meep, I haven't had a chance to look at the Meepduino code yet, but I had a question for you. How are you managing to multi-task with your code, or are you? For example, if the code is in the dimming phase, won't it's entire time be chewed up by dimming? Did you write a scheduling method?

 

Just curious. I've been reading on some designs for scheduling for the Arduino, and was just just curious.

-----------------

It's actually surprisingly fast. Basically, the only thing slowing down the Arduino considerably is the temperature probes, because it takes a good 0.3 seconds to get the temperature from the probes. However, if no probes are connected, then it runs extremely fast. I've been spending the past week optimizing the display and buttons so they run quickly.

Dimming calculations take less than a tenth of a second. Display loads in a fifth of a second or so. Buttons are checked every 0.3 seconds and are checked every 0.1 second if you hold buttons for a while. Also, when pressing buttons, all other processes are frozen other than timekeeping. If you hold it down for more than 10 seconds though, the processes begin again as a failsafe for the touchscreen failing.

Multithreading is where you switch between multiple processes rapidly, like multitasking. The Arduino can't do this very well, and I still haven't found a good library to use for it. Also, I eventually plan to develop a marketable controller, and I want to only include the most essential external libraries.

 

I'll cross post this to the Meepduino thread.

Link to comment

zodiii, on 28 Oct 2013 - 20:02, said:snapback.png

-----------------

It's actually surprisingly fast. Basically, the only thing slowing down the Arduino considerably is the temperature probes, because it takes a good 0.3 seconds to get the temperature from the probes. However, if no probes are connected, then it runs extremely fast. I've been spending the past week optimizing the display and buttons so they run quickly.

Dimming calculations take less than a tenth of a second. Display loads in a fifth of a second or so. Buttons are checked every 0.3 seconds and are checked every 0.1 second if you hold buttons for a while. Also, when pressing buttons, all other processes are frozen other than timekeeping. If you hold it down for more than 10 seconds though, the processes begin again as a failsafe for the touchscreen failing.

Multithreading is where you switch between multiple processes rapidly, like multitasking. The Arduino can't do this very well, and I still haven't found a good library to use for it. Also, I eventually plan to develop a marketable controller, and I want to only include the most essential external libraries.

 

I'll cross post this to the Meepduino thread.

 

I didn't want to continue the thread over on DIY, but have you looked at the Scheduler library?

 

Link:

http://arduino.cc/en/Reference/Scheduler

 

It seems like it could be decent, but is in development.

  • Like 1
Link to comment

I didn't want to continue the thread over on DIY, but have you looked at the Scheduler library?

 

Link:

http://arduino.cc/en/Reference/Scheduler

 

It seems like it could be decent, but is in development.

I want to like this 5 times. That will be so epicly useful later on when I develop my next controller! And it runs with just a simple function to boot.

Unfortunately, I don't want to force anyone to spend money on the Due for this, so I'll be sticking with Mega-compatible code from now on, but thank you.

Link to comment

Quick update:

The Arduino actually appears to be crashing. This usually happens when you use the click and drag function with a lot of mapping and calculations, in the 2.0 I'm working on. This bodes ill because although I'll probably be able to solve it this time, eventually the Arduino will begin to break down as I ad dmore features. So there is an upper limit to what there can be.

So I'll just add pH, alarms, lighting test, and weather and call it a day.

 

EDIT: Stupid me. Disregard this post.

  • Like 1
Link to comment
  • 2 weeks later...
  • 2 weeks later...

Update:

Some random bug is still keeping me on the lighting test screen. Alarms should be easy to implement, but I need the lighting test before I can mvoe on.

Link to comment

so after months of putting off upgrading my lights with the new control due to awaiting new LEDs from LEDgroupbuy, im proud to announce i finally made some progress this weekend,

 

IMAG1866.jpg

IMAG1872.jpg

IMAG1873.jpg

IMAG1874.jpg

 

it sucks how my tank has been lightless for around 3 days now. Im basically finished all the wiring, but now i gotta hook up the lights to the controller and do fine tuning. im also trying to get the controller to control my fans as well, but that isnt going that well. I remember before in version 1.5 i used channel 6 to control my fans and i was able to successfully do so. But now with v1.6 i completely lost that functionality. anything i set for channel 6 has no effect on the fan speed. my fan is still 100% on all the time. can you shine some light on this meep?

  • Like 2
Link to comment

so after months of putting off upgrading my lights with the new control due to awaiting new LEDs from LEDgroupbuy, im proud to announce i finally made some progress this weekend,

 

IMAG1866.jpg

IMAG1872.jpg

IMAG1873.jpg

IMAG1874.jpg

 

it sucks how my tank has been lightless for around 3 days now. Im basically finished all the wiring, but now i gotta hook up the lights to the controller and do fine tuning. im also trying to get the controller to control my fans as well, but that isnt going that well. I remember before in version 1.5 i used channel 6 to control my fans and i was able to successfully do so. But now with v1.6 i completely lost that functionality. anything i set for channel 6 has no effect on the fan speed. my fan is still 100% on all the time. can you shine some light on this meep?

I am not sure. Have you tried adding a 5mm led and a 220ohm resistor on that pin to see if it works at all? Might be a fan problem.

Link to comment

Probably 0.089 drill 4-40 screws.

close...but im more of a metric guy

 

disaster, what size drill bit and tap did you use?

i used a 2.5mm drill bit and a M3 tap...drilling and tapping 160 holes is not fun haha

 

so last night i started to work on the control of the light. I hooked up the arduino to one string of the lights, made sure everything is at 0 percent first, hooked up the power supply and....nothing. i slid the slider around and couldnt even get it to light up. I though...could it be the resister on the signal wire? I bypassed the resister and turn everything on again, the string of lights turned on, but is not responding to any of my inputs. this is totally weird. I flashed back the previous versions of the controller to see if that made any difference, and sure enough the lights would just turn on and stay very dim and not respond to any input. Im not sure what changed from a few months ago till now. I stayed up till 130am last night trying to figure it out but I gave up at the end. I hope my tank is would be fine with another day with no lights

  • Like 1
Link to comment

close...but im more of a metric guy

 

i used a 2.5mm drill bit and a M3 tap...drilling and tapping 160 holes is not fun haha

 

so last night i started to work on the control of the light. I hooked up the arduino to one string of the lights, made sure everything is at 0 percent first, hooked up the power supply and....nothing. i slid the slider around and couldnt even get it to light up. I though...could it be the resister on the signal wire? I bypassed the resister and turn everything on again, the string of lights turned on, but is not responding to any of my inputs. this is totally weird. I flashed back the previous versions of the controller to see if that made any difference, and sure enough the lights would just turn on and stay very dim and not respond to any input. Im not sure what changed from a few months ago till now. I stayed up till 130am last night trying to figure it out but I gave up at the end. I hope my tank is would be fine with another day with no lights

If the older versions don't work either, something is wrong on your end probably. I don't think I used 1.5 or 1.6 on my tank, only in tests, but the older versions should work okay. Have you checked your drivers? Maybe the leds?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recommended Discussions

×
×
  • Create New...