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.

bill.french's Content

There have been 260 items by bill.french (Search limited from 20-April 23)


By content type

See this member's


Sort by                Order  

#11580 Trenton Computer Festival this weekend!!!

Posted by bill.french on 02 April 2011 - 01:47 AM in General Discussion

Hi there, I haven't been hanging around the forum as much, but have been busy, busy, busy! With Netduino projects and other things.

Anyway, this weekend is the Trenton Computer Festival! (in Trenton, NJ) There's going to be an all-day "Arduino Workshop", which could be of particular interest, including an open hack time, which I'm hoping to bring my Netduino+ to.

Also, the flea market has traditionally had a wider variety of computer stuff, some older stuff, junk, etc. -- as compared to most computer flea markets.

Either way, everyone enjoy your weekend!



#9013 Pull Up/Down Resistors, and when to use them?

Posted by bill.french on 04 February 2011 - 09:53 PM in General Discussion

Thanks Bill! Thats exactly what I needed!



What about to drive a relay? If I were to go with a pull up resistor, wouldn't I have to switch from a NPN to a PNP? I'm thinking specifically about about the circuit at http://www.arduino.c...ning/relays.pdf

Or am I just over-engineering this, and the arduino relay circuit is fine?

Thank you for your help!


Sorry, not following you - I don't see where a pull up or pull down resistor would come into play. You do need a resistor to the base of the transistor, but that is not a "pull" in either direction. You *might* want to use a pull down to overcome the momentary pull up resistor during boot up.



#9004 Pull Up/Down Resistors, and when to use them?

Posted by bill.french on 04 February 2011 - 07:32 PM in General Discussion

I guess a basic guideline is if you need to read a 0 or 1 reliably, and your circuit has an "open" state, say the reed switch, then you'll want to use a pull up/down resistor, depending on the circumstances. The problem with an open state is that the input will be open to the environment, so any stray charges can make the input go to 0 or 1 unpredictably. In your case, knowing nothing else about your circuit, you can probably get away with a "pull up" resistor instead, which the netduinos have built in and available for activation via software. This will simplify your circuit.



#8922 Steps to restore an Erased Netduino

Posted by bill.french on 03 February 2011 - 01:21 AM in Netduino 2 (and Netduino 1)


3. (**WARNING.. no turning back after this point.) Using a jumper, Connect the 3V3 power header to the ERASE pin (gold pad directly underneath digital pin 0) for about 2-3 seconds. After doing this, disconnect the Netduino from your PC.

...

5. Run SAM-BA. Select the COM port that your device is connected to. In my case this was COM4. Select AT91SAM7X512-ex from the dropdown.

In case it's helpful:

for step 3, here's a pic of the erase pad on my netduino plus:
Posted Image
and for step 5, did not have AT91SAM7X512-ex, but a -ek, so I picked that and it seemed to work fine.



#8919 4Display Shields - Drivers

Posted by bill.french on 02 February 2011 - 11:26 PM in Project Showcase

Quiche31, is that "command complete" for SGC? Either way, awesome, the color constants alone are great!



#8907 Anybody interested in a cheap IMU?

Posted by bill.french on 02 February 2011 - 09:10 PM in General Discussion

wiki on IMUs: http://en.wikipedia....easurement_unit



#8890 4Display Shields - Drivers

Posted by bill.french on 02 February 2011 - 04:38 PM in Project Showcase

Hey, Omar, here's my uLCD-144 class, I haven't spent much time to round it out but it might have something useful for you. It still has a bunch of debug.print stuff. Also some links to my other threads in case it helps someone:
http://forums.netdui...ch__1#entry7992
http://forums.netdui...ch__1#entry7521


using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.NetduinoPlus;
using System.IO.Ports;

namespace uLCD_144_Test1
{

    class uLCD_144
    {
        private byte currentline;
        public static byte[] GetByteArray(string s)
        {
            return System.Text.Encoding.UTF8.GetBytes(s);
        }
        public SerialPort _COMPORT;
        public void TextHome()
        {
            currentline = 0;
        }
        public void init()
        {
            using (OutputPort d4 = new OutputPort(Pins.GPIO_PIN_A5, true))
            {
                d4.Write(false);
                d4.Write(true);
            }
            currentline = 0;
            Thread.Sleep(2000);
            _COMPORT.DiscardInBuffer();
            _COMPORT.DiscardOutBuffer();
            this.write(new byte[] { (byte)0x55 });
            WaitForACK();
            TextMode(false);
        }
        public void WaitForACK(string note = "")
        {
            while (_COMPORT.BytesToWrite > 0)
            {
            }
            while (_COMPORT.BytesToRead == 0)
            {
            }
            dumpbuffer(note);
        }

        public void CopyPaste(byte startx, byte starty, byte endx, byte endy, byte width, byte height)
        {
            write((byte)0x63);
            write(startx);
            write(starty);
            write(endx);
            write(endy);
            write(width);
            write(height);
            WaitForACK();
            dumpbuffer("CopyPaste");

        }
        public void TextMode(bool transparent = false)
        {
            if (transparent)
            {
                write((byte)0x4f);
                write((byte)0x00);

            }
            else
            {
                write((byte)0x4f);
                write((byte)0x01);
            }
            WaitForACK();
            dumpbuffer("TextMode");
        }

        public void Print(string s)
        {

            if (currentline > 15)
            {
                CopyPaste(0, 8, 0, 0, 128, 119);
                currentline = 15;
                //DrawASCIIString("                     ", (ushort)0xFFFF, (byte)0, (byte)0, (byte)currentline);
            }
            //DrawASCIIString("                    ", (ushort)0xFFFF, (byte)0, (byte)0, (byte)currentline);
            dumpbuffer("print-cl");
            DrawASCIIString(s, (ushort)0xFFFF, (byte)0, (byte)0, (byte)currentline);
            currentline += (byte)(s.Length / 21 + 1);

            dumpbuffer("print");
        }
        public void DrawASCIIString(string s, ushort color = (ushort)0xffff, byte font = 0, byte x = 0, byte y = 0)

        //2.3.6 Draw “String” of ASCII Text (text format) - 73hex
        //Command cmd, column, row, font, stringColour(msb:lsb), “string”, terminator
        {
            byte[] textba = GetByteArray(s);
            write((byte)0x73);
            write(x);
            write(y);
            write(font);
            write((byte)(color >> 8));
            write((byte)(color & 0x00FF));
            write(textba);
            write((byte)0x00);
            WaitForACK();
        }
        public void clear()
        {
            currentline = 0;
            write((byte)0x45);
            WaitForACK();
            dumpbuffer("Clear");

        }
        public void DrawPixel(byte x, byte y, ushort color = 0xFFFF)
        {
            this.write(0x50);
            this.write(x);
            this.write(y);
            this.write(color);
            WaitForACK("Draw Pixel");

        }
        public void drawbitmap(byte[] bmp)
        {
            //2.2.5 Draw Image-Icon - 49hex
            //Command cmd, x, y, width, height, colourMode, pixel1, .. pixelN
            byte[] cmd = new byte[] { (byte)0x49, (byte)0x00, (byte)0x2A, (byte)0x80, (byte)0x28, (byte)0x08 };
            this.write(cmd);
            this.write(bmp);
            WaitForACK();
        }
        public void write(byte B)
        {
            byte[] ba = new byte[1];
            ba[0] = b;
            this.write(ba);
        }
        public void write(byte[] ba)
        {
            if (this._COMPORT.IsOpen)
            {
                this._COMPORT.Write(ba, 0, ba.Length);
                //int sleeptime = (ba.Length / 7) + 1;  //(calculate transmission time, at 115200, it can send 14 bytes / mx
                //Debug.Print(sleeptime.ToString());
                //if (pause)
                //{
                ///Thread.Sleep(sleeptime);
                //}
            }
            else
            {

            }
        }
        public void write(ushort us)
        {
            write((byte)(us >> 8));
            write((byte)(us & 0x00FF));
        }
        public void dumpbuffer(string note = "")
        {
            //_COMPORT.
            Debug.Print("(" + note + ") In buffer: " + _COMPORT.BytesToRead.ToString());
            while (_COMPORT.BytesToRead > 0)
            {
                byte[] buffer = new byte[1];
                _COMPORT.Read(buffer, 0, 1);
                Debug.Print(buffer[0].ToString());
            }
        }
        public uLCD_144(string sp = SerialPorts.COM1)
        {
            this._COMPORT = new SerialPort(sp, 115200);
            this._COMPORT.Open();
            this.init();
        }
    }
}



#8806 Was: Netduino Firmware v4.1.0 (update 6) RC 1

Posted by bill.french on 01 February 2011 - 01:26 PM in Beta Firmware and Drivers

can you expand on this a bit: 6. Bugfixes: SerialPort.Read() timeout now implemented properly



#8750 2 Potentiometers = Freeze-ups

Posted by bill.french on 31 January 2011 - 01:37 PM in General Discussion

Post the code when you get a chance.



#8692 Switching AC

Posted by bill.french on 30 January 2011 - 02:33 PM in General Discussion

I'm using this for my sous vide controller: (i use a transistor to control it from the netduino)
http://powerswitchta...om/default.aspx

I had a 16hr steak and eggs for breakfast! :) What are you working on?

Posted Image



#8643 Coding style discussion

Posted by bill.french on 28 January 2011 - 11:39 PM in General Discussion

i vote Chris Walker deletes all posts in this thread (including this one) that do not contribute to (or at least encourage) the achievement of safe netmf quardoflight.



#8633 FreeRTOS

Posted by bill.french on 28 January 2011 - 07:56 PM in Netduino Plus 2 (and Netduino Plus 1)

Quick aside...should we make a "FreeRTOS and C/C++ programming" forum?

I thought something like what the original post said would be clever: "Netduino without a .Net"



#8599 Quad.Net Quadrocopter for .NETMF

Posted by bill.french on 28 January 2011 - 04:22 AM in Project Showcase

Great community we have here.


Is it kind of a weird collision between an incredibly sophisticated language (C#) and development environment (VS), used to build some of the most sophisticated, multi-national, billion-dollar systems in the world, and all the baggage that comes with that sort of thing...

... and trying to get a toy helicopter to fly!

PLEASE PLEASE PLEASE keep going! Make it fly!



#8572 netduino controlled toy car

Posted by bill.french on 27 January 2011 - 06:04 PM in Netduino 2 (and Netduino 1)

...but the second "p" in PPM is "position", right? You're not varying the position of the pulse within the frame to change the servo angle, just the width. I was trying to find a link to back my position, wiki says PWM: http://en.wikipedia....anism#RC_servos and PPM is something else: http://en.wikipedia....tion_modulation .. but there's lots of arduino stuff that says "PWM damages servos" ... but i imagine that's from using the wrong pulse/frame size.



#8570 netduino controlled toy car

Posted by bill.french on 27 January 2011 - 05:36 PM in Netduino 2 (and Netduino 1)

Servos also require PPM waves, you can use an ESC and a servo interchangeably.

@CW: Yes, I'd like support for PPM, although the wave is quite easy to generate. See: http://www.fezzer.co...1/servo-driver/


..but that example uses PWM? I thought servos were controlled by sending a 1-2ms pulse within something like a 25ms frame? I thought ppm was used for multiplexing on the radio side?



#8554 Analog Read

Posted by bill.french on 27 January 2011 - 01:39 PM in Netduino 2 (and Netduino 1)

Well I'm stumped. I don't think the netduino can measure current directly. You might need something like this that outputs varying voltage:

http://www.sparkfun.com/products/8883

Posted Image



#8552 netduino controlled toy car

Posted by bill.french on 27 January 2011 - 01:26 PM in Netduino 2 (and Netduino 1)

A real Hobby grade ESC will require a PPM wave.


...really? Do you have an example of that. My understanding was that ESCs were no different than servos, as old speed controllers used to be servos. And on gas/nitro vehicles, they still are, as throttle is still servo controlled.

Or am i missing something?



#8514 Analog Read

Posted by bill.french on 27 January 2011 - 03:19 AM in Netduino 2 (and Netduino 1)

Could you post a link to the specific sensor?



#8469 Noob Motor Shield questions

Posted by bill.french on 26 January 2011 - 04:22 PM in Netduino 2 (and Netduino 1)

hmmm, i have never used either. 1. I see no reason why that shield would not work wiht a netduino, it's just an h-bridge on a board, as far as I can tell. 2. That servo, though, is 4.8-6v, and the shield takes it's power from Vin, which I think requires 7V, so that might be an issue. ...BUT i don't think you need that shield (or an h-bridge) to drive that servo -- the servo should just take in PWM and power.



#8434 Basic Analog Input Circuit and Program

Posted by bill.french on 26 January 2011 - 04:36 AM in General Discussion

How did I miss seano's question? Sorry. The units are from 0-1023, because it's a 10bit adc, and 2^10 (minus 1) is 1024. Search the forums for "setrange" for interesting info.

@vaticanuk: yes you are right, but i thought using a voltage divider circuit would be slightly more useful (in my opinion) for the example because you can replace the potentiometer with something else, like a thermistor. In your circuit the potentiometer is the voltage divider.

Either way works for a potentiometer.



#8419 Help a wife buy a present

Posted by bill.french on 25 January 2011 - 09:44 PM in Netduino 2 (and Netduino 1)

we used google docs this year, so that edits (mostly additions!) could be made and she would always have the most up-to-date information.



#8321 2 arcane feature requests: dotfuscator and the extension method attribute

Posted by bill.french on 24 January 2011 - 07:24 PM in General Discussion

Disclaimer: I work for PreEmptive Solutiuons (the makers of Dotfuscator)

I have to know: how did you find this thread??



#8314 RS485 between two Netduinos

Posted by bill.french on 24 January 2011 - 06:41 PM in Netduino Plus 2 (and Netduino Plus 1)

You could also test it without events with something like this:

while(true)
{            
while (_COMPORT.BytesToRead > 0)
            {
                byte[] buffer = new byte[1];
                _COMPORT.Read(buffer, 0, 1);
                Debug.Print(buffer[0].ToString());
            }
}



#8312 RS485 between two Netduinos

Posted by bill.french on 24 January 2011 - 06:37 PM in Netduino Plus 2 (and Netduino Plus 1)

check this out: http://forums.netdui...ch__1#entry6890 might have to do with adding the event before the port is open?



#8210 Quick and dirty GPIO speed test - findings

Posted by bill.french on 23 January 2011 - 09:07 PM in General Discussion

Really? Why?

I imagine in real life you have a very strong personality. It comes across in your posts. Instead of hopes and wishes, you have expectations and demands. This has served you very well in life! I'd like to know and understand where in your life this comes from, as I try and find my own path in the world, as I'm sure besides helping you advance through life, it's even helped others around you achieve, if not in admiration of you, than out of fear of disappointing you. I bet you are a good leader. Some people might "get" you, and others might think you come across as a bit of a jerk sometimes, but both will work hard for you.

So, I get ruffled when I think you might be acting like a jerk to Chris and the state of the union here. But this is just me being oversensitive and trying to learn about life and technology. And Chris is his own successful person, with an awesome product, quoted in magazines, etc. and can fend for himself!

:)

I'd like to check out this: http://www.sump.org/...nalyzer/client/
or this: http://www.lxtreme.nl/ols/
using this: http://dangerousprot...-logic-sniffer/ -- which i just noticed is doing exactly what I was doing with decoding IR in this pic:
Posted Image




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.