Netduino home hardware projects downloads community

Jump to content


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

Chris Walker

Member Since 18 Jul 2010
Offline Last Active Private
****-

#1802 Compatible Shields and Accessories

Posted by Chris Walker on 05 September 2010 - 08:47 PM

This shield here seems to work as well:

http://www.seeedstud...tml?cPath=48_49

It lets you plug in 3 wire cables to do the LEDs, piezo, pot, title, etc sensors/switches.




#1795 Compatible Shields and Accessories

Posted by Chris Walker on 05 September 2010 - 08:42 PM

There are lots of Arduino-compatible shields. Many/most of them work with the Netduino. Some of them require C# drivers, some do not. A few community members have asked for a list of tested/compatible shields, components, etc. Let's make that list here. There are literally thousands of components out there, so this will serve as a very brief introductory list--but let's not worry about making it a really long introductory list :) A few notes: 1. Please link to the manufacturer's website where possible--for details on the accessory 2. If you've built a project, please link to it (or its post) showcasing your use of the accessory 3. If the accessory requires C# drivers, please link to them here... Chris


#1698 SD card sample

Posted by Chris Walker on 02 September 2010 - 08:56 PM

Hi Steven, Good point. It's an alpha (pre-beta) release; no exception handling has been implemented yet. We'll update the sample when the code is further along. I'll also update the sample to iterate through the directories instead of hardcoding "SD1" in there twice... Good feedback. Thanks! Chris


#1582 AnalogInput Read() LOCKS UP NetDuino

Posted by Chris Walker on 31 August 2010 - 07:19 PM

Hi Websteria, Are you running the updated firmware (v4.1.0.2)? There was a bug in the earlier AnalogInput code (sorry about that) which could cause this... http://forums.netdui...e-v410-patch-2/ Your Netduino is probably not dead; it probably just needs some good firmware upgrade medicine :) Chris


#1154 RC6 Decoder Class

Posted by Chris Walker on 23 August 2010 - 03:22 PM

Phil, that's pretty awesome. I believe that's the first Netduino projects using an InterruptPort to decode an incoming signal. Neat! Phase 2 sounds awesome as well. Chris


#1096 System.Text.StringBuilder class

Posted by Chris Walker on 22 August 2010 - 10:02 PM

Here is a very preliminary implementation of the .NET Framework's StringBuilder class, placed in the System.Text namespace for code compatibility with desktop/mobile C# applications.

This sample code uses an ArrayList and is not performance-optimized.

System.Text.StringBuilder.cs
using System;
using System.Collections;
using Microsoft.SPOT;

namespace System.Text
{
    class StringBuilder
    {
        ArrayList m_charArray = new ArrayList();

        public StringBuilder()
        {
        }

        public StringBuilder(string value) : base()
        {
            Append(value);
        }

        public void Append(string value)
        {
            Char[] charArray = value.ToCharArray();
            Append(charArray, 0, charArray.Length);
        }

        public void Append(char[] value, int startIndex, int charCount)
        {
            for (int index = startIndex; index < startIndex + charCount; index++)
                m_charArray.Add(value[index]);
        }

        public int Length
        {
            get
            {
                return m_charArray.Count;
            }
        }

        public override string ToString()
        {
            return new string((char[])m_charArray.ToArray(typeof(char)));
        }
    }
}

Attached Files




#1025 Analog Input Help Needed

Posted by Chris Walker on 22 August 2010 - 03:32 AM

Nope you are correct. What does the SetRange do? is it like the map method in arduino programming?
I'll contact rugged circuits' support and see if they can tell me what to do.


AnalogInput.SetRange maps the analog input values to a specified range of integres. If 0-1023 on your device maps linearly to 0-100, then AnalogInput.SetRange(0, 100) will cause the AnalogInput.Read() method to return those values instead.

You can also submit reverse values to SetRange, such as AnalogInput.SetRange(100, -100)--which would cause an analog reading of 0V to return 100 and an analog reading of 3.3V to read -100.

Chris


#1012 TMP36 Temperature Sensor/SB Protoshield

Posted by Chris Walker on 22 August 2010 - 12:41 AM

I also had a question about pull-up resistors. In wiring my I2C clock chip, I used external pull-up resistors. Is it possible to use the internal pull-up for this? I'm not really using the pins as input per-se, but if I plug in an I2C device, it likely needs pull-up resistors. Yes, I'm a hardware newbie... I'll bet it shows. :rolleyes:


You'll want to use external resistors. I2C will sometimes work with the internal pull-ups, but they're fairly weak.

If you search for I2C on the web, there are some general algorithms which help you figure out which resistors to use (2.2K and 1.8K are pretty typical with one device--but there are more exact ways to measure it).

Fun note for those new to I2C: with I2C, the Netduino only "pulls down" the current to 0V. This allows you to choose your I2C line voltage (5V or 3.3V) which is fed through the pull-up resistors. This also helps make Netduino compatible with the I2C capabilities of Arduino shields (which may use 5V or 3.3V for I2C).

Chris


#894 Linux/Mac Development Tools Vision

Posted by Chris Walker on 20 August 2010 - 06:00 AM

Hi folks. Here's the vision for supporting .NET Micro Framework development on Mac and Linux: * Use MonoDevelop (an established and impressive .NET development environment) for writing .NET MF code * Compilation using Mono C# compiler, MetaDataProcessor (post-processor) and deployment via MFDeployEngine * Compile/deploy process integrated into MonoDevelop "run program" feature Here are the chunks of work that we know of which will need to be done: * MonoDevelop --- Support for .NET Micro Framework assemblies, Intellisense, code completion, etc. <-- might be done already --- Integration of custom postprocessor and deployment into toolchain * Mono C# Compiler --- This is likely fine as-is, but we may need to work with the Mono team to ensure that dependencies to desktop assemblies are not added in. Microsoft's C# compiler can do this by compiling for the "compact framework". * Mono .NET-compatible Runtime --- There may be some glitches here (in particular with serial port support), but the Mono team has been very good about taking care of these so far. We should be in good hands here. * MetaDataProcessor --- Port this C++ command-line project to Linux/Mac * MFDeployEngine --- Make minor changes to enable compatibility with Mono runtime * MFDeploy --- Eventually, create native Mac and Linux GUIs; today, make minor changes to enable compatibility with Mono runtime * USB or USBHID code --- We'd like to implement support for Microsoft's custom USB device implementation on Linux/Mac so that we can debug/deploy to existing .NET Micro Framework devices without using a serial port --- We'd also like to create a driverless, standardized HID transport which sends/receives all data using HID reports. This would make cross-platform implementation easy and reduce the possibility of driver issues on computers simultaneously. I am _not_ opposed to going this HID route "only", but we'd need to start a project add it to the Netduino firmware. We can take care of the HID code on the PC side in managed code (we've actually written most of it already). Our focus will be on enabling the following two platforms: * Mac * Linux About MetaDataProcessor: * MetaDataProcessor is a program which takes standard compiled .NET assemblies and "compacts" them into .NET MF assemblies. * MetaDataProcessor appears to use parts of the .NET MF runtime to do its work (which makes sense from a code deduplication standpoint). About MFDeployEngine: * MFDeployEngine is the deploy and debug engine for reading/writing programs on .NET MF hardware and for communicating debug information from the programming IDE to the .NET MF device. * Our focus on the first release is on deployment only. In future releases, it would be cool to integrate Debug.Print (and other debug features if possible). * MFDeployEngine is used by Visual Studio to deploy and debug .NET MF applications. * MFDeployEngine does a "selective deployment." If assemblies are already present on a device (in the firmware image), it does not deploy those assemblies. About MFDeploy: * MFDeploy is a GUI front end for MFDeployEngine. It allows the user to do diagnostics on a device as well as upgrade the device's firmware. Compatibility with Netduino and other .NET MF products: * This project is open source and designed to provide support for all .NET MF platforms. We should not put any hooks into the software which restrict it to working only with the Netduino. Chris


#801 Temperature Sensor?

Posted by Chris Walker on 18 August 2010 - 09:30 PM

I don't know? I'm reminded of the scenes from sci-movies where the hero is trying to disarm the bomb. "Just cut the red wire!" "They are all red!"


:)


#615 Power and USB Question

Posted by Chris Walker on 16 August 2010 - 08:15 PM

There are plenty of things that use these DC wall converters From Airsoft gun battery chargers to variable one like the ones keyboards use. Just read the label and make sure the voltage is between 7.5V to 12V AND under 200mA. As far as battery power a 9V battery can do something like this: 9V Battery Clip to Plug


To follow up on what OZ said, you'll actually want an AC power adapter that provides MORE power than 200mA. I'd recommend 500-700mA. The Netduino will only draw what it needs and what is used via the 3V3/5V/GPIO pins. USB is good for projects which don't require much power, and for really high power apps you'll want to provide separate power to the connected components directly.

As far as USB, the USB port on the Netduino is "USB device." You can make the Netduino into a keyboard/mouse if you'd like, but to plug a keyboard/mouse into the Netduino you'll need "USB host." There are some shields out there which do this, and either we or a community member could write drivers to support USB host shields and various connected USB devices...

Chris


#605 Power... Math power!

Posted by Chris Walker on 16 August 2010 - 06:17 PM

Quick question: .NET Micro Framework has some great math functions built in, but they are designed for low-power MCUs (so some of them are not as high of precision as their desktop counterparts). There are .NET MF source code samples out there of high-precision functions. Would you all be interested in an open source high-precision math library. If so, any math experts want to volunteer to help with the implementation? The Netduino hardware can certainly support it. Chris


#390 Send Commands?

Posted by Chris Walker on 14 August 2010 - 12:23 AM

Could I make a regular windows form application that sends commands to the Netduino via USB?


Yes. If you switch to using the "serial deployment" firmware, you can turn your Netduino into an HID or other custom USB device--and deploy/debug your code using digital pins 0 and 1.

We're also working on some options for sending data over the USB connection in the standard configuration, but I'm not sure if/when that will happen. Right now, we're focused on enabling SD support in the upcoming v4.1.1 firmware.

Chris


#204 Libraries, Drivers and Shields

Posted by Chris Walker on 10 August 2010 - 09:07 PM

Chris, since you asked for types of tutorials, I (and I guess many others in a similar boat as me) would love a tutorial series for n00bs :). E.g. I have almost no idea what GPIO, I2C, SPI, PWM, etc. stand for and how they are used.


Kamal, thanks for posting!

As far as introductory tutoritals, we'll see what we can do :)

We have an AnalogInput (ADC) how-to video planned for next Monday. And then motor control, GPIOs, I2C/SPI accessories, etc. At that rate, hopefully we can get you up to speed on all the features by the end of September.


#171 LCD interface

Posted by Chris Walker on 09 August 2010 - 07:23 PM

It looks like a serial enabled LCD like this should be quite easy: Serial Enabled 16x2 LCD


That should work...but you'll want to get one of the 3.3V LCDs instead. SparkFun has about a dozen 3.3V options. As long as you just need to send it character data to get it up and running, you can hook it to either of the UARTs (D0/D1 or D2/D3) and GND and you should be be up and running!

Please let us know how this works out for you...so we can add it to the "supported accessories" list that we're working on. And in the unlikely case you have any troubles, let me know and we'll play with it as well.

Chris




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.