Show Posts
Pages: [1]
1  Using Arduino / Displays / Re: LCD on tractor mounted sprayer intermittently showing strange characters on: June 20, 2013, 10:31:35 am
Welcome to the real world.

Thanks for welcoming me!  smiley

Now I would like to find a real world solution smiley

Actually, I don't think it is an electrical noise issue any more. When I took the screws off the enclosure cover recently, I grabbed the handiest tool, which was a small cordless impact driver. When the driver impacted on a screw I was removing, the display all of a sudden threw some bad characters. I then cleared it and tapped the side of it which threw some more bad characters.

Here is the LCD normally

Here it is after a little thump on the side of the enclosure

Are LCD displays usually this sensitive to jarring or vibration or is their probably a poor connection somewhere on the shield?

Thanks for all the help!

2  Using Arduino / Displays / Re: LCD on tractor mounted sprayer intermittently showing strange characters on: June 17, 2013, 07:11:05 am
Thanks for the reply Larry.

Do you have an idea what the root cause of the bad characters is, or is it normal to have to put in a lcd.clear() function as you have shown?

Thanks again!
3  Using Arduino / Displays / LCD on tractor mounted sprayer intermittently showing strange characters on: June 15, 2013, 02:55:46 pm

I have a Arduino Uno R3 with a 16*2 Linksprite LCD display shield that is hooked up to a flow meter to read pulses and totalize flow. This is mounted on a farm sprayer that is pulled behind a tractor.

Initially I had the Arduino hooked directly up to the DC battery power on the tractor. While I knew I was pushing the limits with the Arduino voltage regulator only rated for 15 volts and the alternator on the tractor outputting 13-14 volts, the power draw was very low so I thought it might be OK. Initially it appeared that the display worked fine, but I noticed that sometimes I would get strange characters showing up on various parts of the display. Sometimes the data I was displaying would show up in a different part of the display in addition to where it was suppose to be. If I would push the reset button, (which executes a lcd.clear function) the display reads correctly and the extra characters go away.

I then tried to power the project with it still hooked up to the tractor, but the tractor not running. I left it powered on this way for a day with no problems. I figured there must be some type of electrical noise or spike in the power that was causing my problems, so I hooked up a small DC to DC converter out of an old cell phone car charger. The converter is a switching type based on this IC It is set up to output 8 volts. After powereing thru this converter I still have the same problem, not only when the tractor is running, but all the time.

I don't believe the issue is in the sketch, but I will post it below. 

 In looking around the forum a little I picked up that repeatedly using the lcd.print function may not be a good idea if what it is printing doesn't change. I also saw delays being added in another post. Because it worked fine with the tractor shut off and powered directly from the battery, I am still thinking it is a power issue, but I don't know for sure. If anyone would know what is causing this problem and how to rectify it, I would appreciate the help.


#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

const int pulseIn2 = 2; // interupt number 0
const int kFactor = 1358; // calibration constant with two implied decimals
const int resetButton = 3;
volatile int pulses;
unsigned int gallons;

void setup()
    attachInterrupt(0, countPulse, FALLING);
    pinMode(10, OUTPUT); // backlight
    digitalWrite(10, HIGH);
    pinMode(pulseIn2, INPUT);
    digitalWrite(pulseIn2, HIGH);
    pinMode(resetButton, INPUT);
    digitalWrite(resetButton, HIGH);
    lcd.begin(16, 2);
    lcd.setCursor(4, 0);
    lcd.print("DNS Farms");
    lcd.setCursor(2, 1);
    lcd.print("flow totalizer");
void loop()
    uint8_t oldSREG = SREG; // save current interupt status
    cli(); // disable interupts (can also use noInterrupt())
    if(pulses >= kFactor)
      pulses = (pulses - kFactor);
    SREG = oldSREG; // restore old interupt status
    lcd.setCursor(5, 0);
    lcd.setCursor(3, 1);
    if(digitalRead(resetButton) != HIGH)
        lcd.setCursor(3, 0);
        gallons = 0;
        uint8_t oldSREG = SREG;
        pulses = 0;
        SREG = oldSREG;
void countPulse()
    pulses = (pulses + 100);
4  Using Arduino / Project Guidance / Re: newbie would like advice on remote control on: January 31, 2013, 08:53:26 am
I ended up ordering a RF reciever and transmitter to try out. It is here
Thank you for the advice.
5  Using Arduino / Project Guidance / newbie would like advice on remote control on: January 25, 2013, 09:03:36 am

I have a very simple remote control project I would like to put together and would like to know the best hardware to use. I want to control a single relay remotely from a distance of up to 300'. The only out of the ordinary requirement is that if communication is lost from the transmitter to the receiver, I need the relay to shut off. I only need a single input on the transmitter to signal the receiver to turn on the relay. I would also like to know if such a transmitter is available with low power requirements as it will be battery operated and I would also like to keep it relatively small.

I have just begun with Arduino's and do not know if I would even need one on either the transmitter or receiver end or if the right radio would already have inputs and outputs built in.

Any suggestions or ideas would be greatly appreciated.

Pages: [1]