Netduino home hardware projects downloads community

Jump to content

The Netduino forums have been replaced by new forums at This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.

Scott Green

Member Since 25 Jul 2011
Offline Last Active Dec 18 2012 06:00 AM

Posts I've Made

In Topic: My Netduino CNC Machine

02 December 2011 - 09:25 PM

Darrin, Looking great! Love the e-stop button... Scott...

In Topic: Web Based Temperature Logger

02 December 2011 - 09:23 PM

Sweet! My younger brother is wanting to do exactly what you are doing. I'll let him know! Scott...

In Topic: Netduino+ WeatherStation / Environment Monitor / Webserver

02 December 2011 - 05:59 PM

Scanman, Super sorry about the reply delay. I totally missed your question. The weather station is pretty much done from a hardware perspective. I've attached 2 pictures, 1 of the disassembled final product, and one of the assembled weather monitor. What you are seeing is the monitoring hardware / home station. This consists of a circuit board that acts like a shield on the netduino. External to this box are an internal temp probe, an external box (outside) with Humidity, temp, Barometric pressure, and light level. There is also a weather station connection that provides wind speed, wind direction and rainfall. This monitor broadcasts packets to a dedicated windows server that tracks all of the weather statistics and provides a web based interface to the weather station. On the box is an LCD, LED and a Momentary switch. The LED blinks once for every revolution of wind, so I can visually see the wind speed from across the room. We routinely get 75mph winds where I live. The momentary pushbutton cycles through various LCD screens that give me instant access to all of the immediate weather stats. This was certainly a fun project. Probably pretty aggressive to take on as the 1st project with the netduino, but I had a great time doing it. Figured out how to create circuit boards on my CNC router which is a huge win for me! This will open up a whole new world of projects in the future. The DS1820 temp probes work well. I have no complaints about them at this point. You have to do some calibration between them, cause you will find that each one has slightly different temp readings, plus you have to make sure that you compensate for bad CRC values, and some bogus temp readings that you get from time to time. All in all, they are pretty easy to use with the 4.1.1 Alpha firmware. The one device that I am not happy with is the humidity sensor (Sparkfun). I've not found a super accurate way to read these things. The calculation requires a Zero humidity voltage reference value, and the only way you can get that is if you order it with the chip specific data sheet, and sparkfun does not supply that. Also, I get bogus reading from it all of the time. I think I can improve the logic to isolate the bogus readings, by ignoring huge second over second swings, but havent found a way to fix the reference problem. I'll keep hacking. Scott...

In Topic: Unable to deploy without disconnect\reconnect USB cable

07 November 2011 - 05:27 AM

Chris, Has there been any real progress on getting this bug fixed? This first report I see of this on Codeplex was way back in June and it doesn't look like any progress has been made towards resolution. Does the forum software have the ability to take a vote? Seems like it would be good to know how many people are affected by this bug. Scott...

In Topic: OneWire ALPHA

15 October 2011 - 02:21 AM

Ok, after a ton of research, and a ton of code tests I figured it out... The DS2450 returns the CRC with the bytes swapped, and it inverts the bits within each byte. i.e. 0xFF = 0x00. The following code results in a good CRC calculation... A little code cleanup and I'm golden! var response = new byte[10]; var status = _core.Read(response); var commandaddrdata = new byte[11]; // Array used to calculate the CRC16 commandaddrdata[0] = 0xAA; commandaddrdata[1] = 0; commandaddrdata[2] = 0; commandaddrdata[3] = response[0]; commandaddrdata[4] = response[1]; commandaddrdata[5] = response[2]; commandaddrdata[6] = response[3]; commandaddrdata[7] = response[4]; commandaddrdata[8] = response[5]; commandaddrdata[9] = response[6]; commandaddrdata[10] = response[7]; UInt32 _LowInt = (UInt32) ~response[8] & 0xFF; // CRC Bits are inverted. Take complement of bits. UInt32 _HighInt = (UInt32) ~response[9] & 0xFF; UInt32 DSCRC16 = (((UInt32)_HighInt << 8) | _LowInt); var crcwithcommand = OneWire.ComputeCRC16(commandaddrdata, count: 11); if (crcwithcommand == DSCRC16) { channelA = (((Int16)response[1] << 8) | response[0]) * ConversionFactor; channelB = (((Int16)response[3] << 8) | response[2]) * ConversionFactor; channelC = (((Int16)response[5] << 8) | response[4]) * ConversionFactor; channelD = (((Int16)response[7] << 8) | response[6]) * ConversionFactor; } else { if (errorProc != null) errorProc(0, "DS2450 CRC Error. Return:" + DSCRC16.ToString() + " Calc:" + crcwithcommand.ToString()); }

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.