Version 2 of my homebrew controller


 
And here is a closeup of the contrast pot attached to the LCD.

debug2.png
 
Originally posted by Ed Pinnell:
74HC164N Pin8 you have labeled as going to Arduino D5. I show it going to Arduino D4.
Also, the schematic doesn't show it because I guess it is implied but there are no lines for power and ground to the 74HC164 (on the schematic), and the chip has to be powered.

Pin 7 - Ground
Pin 14 - VCC (5V)

The reason your web server is giving you garbage is probably because you haven't uploaded you webpages into the DataFlash. You're getting 6612 bytes of the "index.html" that isn't there.

There's a separate sketch needed that allows you to upload files into the flash, buuuuuut I think I've broken it in an attempt to make it better. I'll have to check when I get home, but I'll have something for you tomorrow, even if it is a bit rough.
 
And yeah I have pin 5 of my LCD tied to something according to the pictures, but I must have missed it on the schematic. Bad me!
 
Originally posted by Bryan Mayland:

Also, the schematic doesn't show it because I guess it is implied but there are no lines for power and ground to the 74HC164 (on the schematic), and the chip has to be powered.

Pin 7 - Ground
Pin 14 - VCC (5V)
Doh! I guess I should have looked at the datasheet a bit closer. As you can see from my picture, I definitely did not have pin 7 grounded or pin 14 going to VCC. That said, I did have pin 9 going to VCC as shown in your schematic. That can't be right is it? I don't dare fire this up having two ties back to VCC. It has to be me reading the schematic wrong.

Originally posted by Bryan Mayland:
The reason your web server is giving you garbage is probably because you haven't uploaded you webpages into the DataFlash. You're getting 6612 bytes of the "index.html" that isn't there.

There's a separate sketch needed that allows you to upload files into the flash, buuuuuut I think I've broken it in an attempt to make it better. I'll have to check when I get home, but I'll have something for you tomorrow, even if it is a bit rough.

Ok, makes sense. I didn't see anything about that separate sketch anywhere so I wasn't sure how that was handled. It's definitely not a priority to get the web piece working for me but if you could upload a revised version when you have a chance that would be great!

Thanks for your help!
 
Originally posted by Bryan Mayland:
And yeah I have pin 5 of my LCD tied to something according to the pictures, but I must have missed it on the schematic. Bad me!

Lol, but you DO have it documented right on your blog so that's OK! I have it all printed out and have been referring back to it for troubleshooting. Just another reason I want to clean this whole project up and have one document (Instructable) that covers the complete build from end-to-end.

With as much as you've contributed to this project, you're allowed to leave a minor thing like this out here and there! It helps the rest of us learn!
 
Originally posted by Ed Pinnell:
I just wanna say that, after spending most of this day hunched over a soldering iron, I think maybe I might come across as an a$$-kisser for thanking the guy(s) that made this possible for me.

Ed, this is awesome! Did you design it all yourself or find something on the net to help get it off the ground? Very nice job on the wiring and soldering. It's hard to get much better than that without etching your own board.

Originally posted by Ed Pinnell:
...but the difference between guys like Bryan and John and me is that I know the pictures are blurry and out of focus but I don't care enough to do it right. And I appreciate someone (like both John and Bryan) who take the time to do the documentation the justice that this project deserves. I just want it to work is all I really care about, so I try to show my appreciation for you guys that really breathe life into a project like this. 'Nuff said.

Lol, well I had to steal my wife's iPhone to get the nice clear macro pictures. My regular camera doesn't even take macro pictures that good.

I think the project documentation thing takes a special bread of person that I've slowly forced myself to become over time. It's not that I like doing it, it's that I really enjoy the final outcome and to me that is worth the pain and up-front effort.

I expect to have to re-build this entire project from scratch after I have it all up and running the way it should be. That way I can document and photograph everything along the way. I will also start clean on the software side by installing all the required libraries, code, etc. into a clean virtual machine that has never seen Processing. When done, I'll probably put a call out to a few "beta test" volunteers that are willing to build the thing from beginning to end using nothing but my instructions. A successful build will be one in which they were able to get all the info needed from the one article.

Heading out to Lowes for a few things this morning, but I'll be back in a couple hours. Hoping Bryan or yourself can respond on my comment about the 74HC164 power.

Thanks!

John
 
Ed, what are you kidding me? That is one beautiful piece of work you've got there. A completely from scratch ATMega board and power supply with all the HeaterMeter extras all squeezed into 4"x1.5"? Brilliant! I'm really excited to see how your WRT54GL project comes out too. I love the idea of using a router as a server with a specialized grill control built onto it. What's really cool about this project is how everybody innovates their own small differences and then I say "Oh man, that's a great idea!" and steal the idea.

John: Grab ArduinoSerialUpload-Pre. The mockup.html goes into the heatermeter/www directory, and adds some red/blue derivative indicators as well as more reliable JSON code and some nonfunctional probe editor popups. Upload the Flash_SerialUpload sketch to your Arduino, then run the ArduinoSerialUpload.exe (requires .NET 4.0 I'm afraid). Here's where it gets ugly.

Top Right: Set the COM port number, and check the "Open" checkbox. Theoretically, it should say "200 OK" or something in the log area. Next to the SendDir button put the full path to heatermeter\www and hit the SendDir button. If all goes according to plan you should see some OK messages going in the log and then flashfiles.h will be dumped. It should match what is in HeaterMeter-r39 with the exception of "mockup.html" is replaced with "". That's fine. You can now close the app and reupload HeaterMeter-r39 to the Arduino and the web pages should work now!

This was my quick and dirty app to get the job done, but I was working on a whole protocol for transferring files to flash but never got around to finishing it.

What am I working on? A better URL parser for being able to handle sending multiple commands to change parameters at once, like setting the probe name and offset at the same time. Also I've got a pretty good scheme for alarms for each probe in my head. Each will have a high/low alarm which can be disabled. This should work for "food is done" as well as "fire is going out". I will hook a digital out to a greeting card sound chip to use as a cheap asynchronous alarm.
 
That said, I did have pin 9 going to VCC as shown in your schematic. That can't be right is it? I don't dare fire this up having two ties back to VCC. It has to be me reading the schematic wrong.
Yes both go to VCC. Pin 9 is the "clear" pin, which I just hold at "logic high" at all times. It is perfectly normal, I swear it!

EDIT: John I don't know if you have a gmail account but I'll be around all day today (Saturday) off and on making ribs so I'd be happy to help you out with any problems you have uploading the web pages or whatever over IM. capnbry@gmail.com, just start up a chat session. I'm making ribs because my kitchen is currently getting reconstructed and all I have is a microwave. I thought I'd be able to survive on purely microwavable food for the weekend but man that stuff is awful. RIBS! RIBS! RIBS! RIBS!
 
Originally posted by Ed Pinnell:
Some pictures.



Showing two probes installed, SDHC card sticking out of SD card slot.


WOW! Amazing job Ed!

Wish I could say my debugging is going as good as yours did. I'm at the point now of rewiring everything over again from scratch because I can't figure out what is going on. Not giving up but taking the day off from it today.

John
 
Wow Ed, that looks incredible! I knew there'd be enough space to fit a heatermeter in a router, and even better it looks great!

I also suggested the 4 data wire LCD hookup, considering how that would take the whole shift register out of the loop entirely and if it still got garbage I'd think the LCD was broken.
 
Originally posted by Ed Pinnell:
I think you might be throwing the baby out with the bath water by re-wiring everything, John!!! That is a very drastic worst case solution...just think what would happen if they took that approach every time they had a problem with the Space Shuttle! By re-wiring the whole project you have every likelihood of introducing new bugs into your project.

Trust me, I feel the same way! I spent about 8 hours on this project over the weekend trying everything I could think of to troubleshoot. I gained a few more gray hairs in the process.

<LI> I tried removing the WiShield from the project, and it remains removed until I get the LCD working.
<LI> I been constantly going back and forth between the Heatermeter code and the basic "HelloWorld" example code whenever I make a change, and yes...I updated the pins referenced in the HelloWorld code so they match the way we have this wired.
<LI> I looked up numerous 2-wire LCD examples on the net just go get ideas and see if I was missing the obvious somewhere
<LI> What's really weird is that I WAS able to get some words up on the display, but not consistently and they were always mixed with other garbage text. It definitely seemed like I had something wired wrong with the shift register, but I checked and re-checked and re-checked again (using a meter), and still no luck.
<LI> Finally, just so I didn't have to keep cross-referencing Bryan's schematic to my own, I created a layout that uses a header similar to what he has for the interface between the LCD and shift register. To do this I basically re-wired the LCD to the breadboard and made things much cleaner. Still no luck though. I'm getting the same inconsistent results.
<LI> I had a few extra shift register ICs laying around so I tried them all just to make sure I didn't have one bad or not seated properly.

Bryan also recommended testing the LCD using the more "tradiontal" 4 data wire route. I'm going to do that tonight.

If you have a gmail account and are up for troubleshooting via gmail chat sometime, my email is siliconghost _at_ gmail dot#com.

Thanks for the help guys. I'll get there, eventually!
 
Let me just say I am very excited about the direction this is going with the WRT. I have stopped any improvements on my Yellowjacket design in favor of putting everything into a WRT housing and have it act as a frontend.

Great idea, This could really serve up all sorts of pretty graphs. I'm ready to be a Guinea pig.
 
Ah, so you're using the TX/RX to communicate with the Linksys? The board really is smaller than the pictures make it seem, it depends on the size of the LCD you are using. I went with a 4 line because of the number of probes I have and didn't piggyback it. I used a ribbon cable to put it beside the LCD.

Can't wait to find out more about the WRT idea.

Just curious, is there an advantage to open-WRT vs DD-WRT?
 
Originally posted by Ed Pinnell:
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Ah, so you're using the TX/RX to communicate with the Linksys? The board really is smaller than the pictures make it seem, it depends on the size of the LCD you are using. I went with a 4 line because of the number of probes I have and didn't piggyback it. I used a ribbon cable to put it beside the LCD.

Can't wait to find out more about the WRT idea.

I think that discussion might verge on hijacking this thread, but with apologies and very briefly I will be using the serial-over-wireless ethernet to query the controller while I figure out how to interface it with a web server.

Just curious, is there an advantage to open-WRT vs DD-WRT?

I've tried them both and, while for me the learning curve with OpenWRT was/is steeper, the ability to compile the add-ons like the SDHC card and ser2net into your own custom OS (and thereby conserving precious flashrom space) is just too valuable to pass up. When it's all said and done with you can end up with a lean, mean compact portable appliance that you can take with you anywhere that you can take a 12v power source. And the host is quintessentially hackable, cheap and readily available, and costs less than a project box... </div></BLOCKQUOTE>

I couldn't agree more. I look forward to seeing a new topic on this.
 
If all goes according to plan you should see some OK messages going in the log and then flashfiles.h will be dumped. It should match what is in HeaterMeter-r39 with the exception of "mockup.html" is replaced with "". That's fine. You can now close the app and reupload HeaterMeter-r39 to the Arduino and the web pages should work now!

hmm... the only thing i see after completing this is the 3 files contained in "...\heatermeter\www\" no files from the parent directory are uploaded, also my mockup.html isn't converted to "". is this a concern? should i be disconnecting the the wishield before uploading the main sketch?

trying to id some wacky reliability issues... sometimes it will finish the connection and work for a few minutes, sometimes it just hangs at "connecting", sometimes the lcd never comes up. the only consistent thing is that ends up locked up.
icon_biggrin.gif


gonna try some different hardware and see if that helps...
icon_confused.gif

-sj

btw, great job on the code bryan! looks great when its up and running! ed, your wrt is awesome!
icon_biggrin.gif
 
alright, new arduino loaded up. ShiftRegLCD works fine with the hello world example. same setup is not displaying in heatermeter 39. any thoughts?
cheers!
-sj
 
heatermeter.cpp ? i think you meant heatermeter.pde, but yea, i tried that and no luck.

right now, its displaying a single line of blocks similar to what john described a few pages back.

i might give the 3 wire design a go... =/
-sj
 

 

Back
Top