dorathoto - Viewing Profile: Posts - Netduino Forums
   
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.

dorathoto

Member Since 24 Mar 2014
Offline Last Active May 21 2015 08:30 PM
-----

Posts I've Made

In Topic: Simple design 20x4 LCD I2c -from beginning to end - for beginners:

04 July 2014 - 07:28 PM

I'm still having problems, I started tinkering in Netduino.

My Netduino is 4.3.1.0
Can I downgrade if necessary, but it works for other applications.

When trying to use the Toolbox + uLiquidCrystal
I am encountering this problem while compiling
Resolving.

Link failure: some assembly references can not be resolved!
Assembly: display20x4_test (1.0.0.0) needs assembly 'Cet.HW.GDI_MF42' (1.0.0.0)
Assembly: display20x4_test (1.0.0.0) needs assembly 'Cet.HW.Drivers.BoostHD44780_MF42' (1.0.0.0)
Assembly: display20x4_test (1.0.0.0) needs assembly 'Microsoft.SPOT.Hardware' (4.2.0.0)
Assembly: Cet.HW.Drivers.BoostHD44780_MF42 (1.0.0.0) needs assembly 'mscorlib' (4.2.0.0)
Assembly: Cet.HW.Drivers.BoostHD44780_MF42 (1.0.0.0) needs assembly 'Cet.HW.GDI_MF42' (1.0.0.0)
Assembly: Cet.HW.Drivers.BoostHD44780_MF42 (1.0.0.0) needs assembly 'Microsoft.SPOT.Hardware' (4.2.0.0)
Assembly: Cet.HW.Drivers.BoostHD44780_MF42 (1.0.0.0) needs assembly 'SecretLabs.NETMF.Hardware.Netduino' (4.2.1.0)
Assembly: Cet.HW.Drivers.BoostHD44780_MF42 (1.0.0.0) needs assembly 'Microsoft.SPOT.Native' (4.2.0.0)
Assembly: Cet.HW.GDI_MF42 (1.0.0.0) needs assembly 'mscorlib' (4.2.0.0)
Error: a3000000
Waiting for debug commands ...
The program '[5] Micro Framework application: Managed' has exited with code 0 (0x0).


I believe the problem seje because I'm on 4.3.1?


In Topic: Simple design 20x4 LCD I2c -from beginning to end - for beginners:

29 March 2014 - 01:12 PM

Can not be that hard as well make a run on the Netduino display, 
tangle is a link in the forums to try to find something that can help. 
And honestly this is practically a CTRL + C, CTRL + V code and testing the blind. Not much information because of the things. : (
This is very sad , for those familiar with this knowledge, which always encotramos in Microsoft msdn
I know it is a project independent counsel, but I think I got used poorly, with the amount of items that we always find at Microsoft.

In Topic: Simple design 20x4 LCD I2c -from beginning to end - for beginners:

29 March 2014 - 12:18 PM

ShVerni good day, thank you for your patience and help. 
 
The first code you posted, I got 2 questions, did not work, but as you yourself said, I need to make some adjustments. 
 
private static power OutputPort = new OutputPort (Pins.GPIO_PIN_D0, false); 
why? I'm calling the power at 5V, digital port transmits many volts? this line is optional? 
 
Another question: 
my display is: device address 0x27 
in your code was 0x3F I put 0x27F?? 
 
You said I should change 
shifter.RS = ShifterPin.GP0; 
             shifter.RW = ShifterPin.GP1; 
             shifter.Enable = ShifterPin.GP2; 
             shifter.BL = ShifterPin.GP3; 
             shifter.D4 = ShifterPin.GP4; 
             shifter.D5 = ShifterPin.GP5; 
             shifter.D6 = ShifterPin.GP6; 
             shifter.D7 = ShifterPin.GP7; 
 
however, but with 8 possible choices of over 16 million combinations!. lol 
if I get Datashet easier? 
 
Sorry my english, I'm still learning.

In Topic: Servo class in 4.3.1

27 March 2014 - 09:51 PM

follows my current class, for those who need!

 

missing codes: 
. Start () and minor modifications to work in the new 4.3.1
Netduino 2 plus - servo generic hobby king
using System;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;


namespace Servo_API
{
    public class Servo : IDisposable
    {
        /// <summary>
        /// PWM handle
        /// </summary>
        private PWM servo;


        /// <summary>
        /// Timings range
        /// </summary>
        private int[] range = new int[2];


        /// <summary>
        /// Set servo inversion
        /// </summary>
        public bool inverted = false;


        /// <summary>
        /// Create the PWM Channel, set it low and configure timings
        /// </summary>
        /// <param name="pin"></param>
        public Servo(Cpu.PWMChannel channelPin)
        {
            // Init the PWM pin
           // servo = new PWM((Cpu.PWMChannel)channelPin, 20000, 1500, PWM.ScaleFactor.Microseconds, false);
            servo = new PWM(PWMChannels.PWM_PIN_D5, 20000, 1500, Microsoft.SPOT.Hardware.PWM.ScaleFactor.Microseconds, false);
            servo.Period = 20000;
     
            // Typical settings
            range[0] = 1000;
            range[1] = 2000;
        }


        public void Dispose()
        {
            disengage();
            servo.Dispose();
        }


        /// <summary>
        /// Allow the user to set cutom timings
        /// </summary>
        /// <param name="fullLeft"></param>
        /// <param name="fullRight"></param>
        public void setRange(int fullLeft, int fullRight)
        {
            range[1] = fullLeft;
            range[0] = fullRight;
        }


        /// <summary>
        /// Disengage the servo. 
        /// The servo motor will stop trying to maintain an angle
        /// </summary>
        public void disengage()
        {
            // See what the Netduino team say about this... 
            servo.DutyCycle = 0; //SetDutyCycle(0);
        }


        /// <summary>
        /// Set the servo degree
        /// </summary>
        public double Degree
        {
            set
            {
                /// Range checks
                if (value > 180)
                    value = 180;


                if (value < 0)
                    value = 0;


                // Are we inverted?
                if (inverted)
                    value = 180 - value;


                // Set the pulse
                //servo.SetPulse(20000, (uint)map((long)value, 0, 180, range[0], range[1]));
                servo.Duration = (uint)map((long)value, 0, 180, range[0], range[1]);
                servo.Start();
            }
        }


    
        private long map(long x, long in_min, long in_max, long out_min, long out_max)
        {
            return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
        }
    }
}

i call

  Servo tt = new Servo(Cpu.PWMChannel.PWM_5);
            tt.Degree = 30;
            tt.setRange(1000, 2000);
            tt.Dispose();
 
other method, no class
   
PWM servo = new PWM(PWMChannels.PWM_PIN_D5, 20000, 1500, PWM.ScaleFactor.Microseconds, false);
            uint firstPosition = 1000; //Minimum pulse width of 1msD:\mydocuments\C#_Leap_Netduino\Servo_API\Servo_API\Program.cs            
            uint lastPosition = 2500;  //Maximum pulse width of 2 ms            // move through the full range of positions            
            for (uint currentPosition = firstPosition;
                currentPosition <= lastPosition;
                currentPosition += 10)
            {                // move the servo to the new position.                
                servo.Duration = currentPosition;
                servo.Period = 20000;
                servo.Start();
                Thread.Sleep(20); //refresh the pulse every 20 milliseconds. This can be servo dependant           
            }            // return to first position and wait a half second.  


            servo.DutyCycle = 1;
            servo.Duration = firstPosition; // duração do pulso
            servo.Period = 20000;  //periodo do pulso
            servo.Start();     

In Topic: Simple design 20x4 LCD I2c -from beginning to end - for beginners:

27 March 2014 - 06:52 PM

ShVerni My display is exactly the same, I calmly read your post.

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.