LCD is supplied more than required current

So, i am trying LCD 16x2 module for the first time and don’t how solve this problem. Actually, I know the current is more, also I’ve tried using Resistors, etc. but to no avail. Please suggest a solution. Also mention if any error in my code.



#include <Servo.h>. 
#include <LiquidCrystal.h> // includes the LiquidCrystal Library 
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7) 

// Defines Tirg and Echo pins of the Ultrasonic Sensor
const int trigPin = 10;
const int echoPin = 11;
const int buzzer = 9; //buzzer to arduino pin 9

// Variables for the duration and the distance
long duration;
int distance;

Servo myServo; // Creates a servo object for controlling the servo motor

void setup() {
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
  pinMode(echoPin, INPUT); // Sets the echoPin as an Input
  Serial.begin(9600);
  myServo.attach(12); // Defines on which pin is the servo motor attached
  pinMode(buzzer, OUTPUT); // Set buzzer - pin 9 as an output
  lcd.begin(16,2);
}
void loop() {
  // rotates the servo motor from 15 to 165 degrees
  for(int i=15;i<=165;i++){  
  myServo.write(i);
  delay(10);
  distance = calculateDistance();// Calls a function for calculating the distance measured by the Ultrasonic sensor for each degree
  
  Serial.print(i); // Sends the current degree into the Serial Port
  Serial.print(","); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing
  Serial.print(distance); // Sends the distance value into the Serial Port
  Serial.print("."); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing
  
  if (trigPin == HIGH)
  {
    lcd.print("Arduino");
  }
    
  if (distance<150) {
  tone(buzzer, 1000); // Send 1KHz sound signal...      // ...for 1 sec
        // ...for 1sec 
  }
  else{
    noTone(buzzer); 
    lcd.print("All Clear");
  }
}
  // Repeats the previous lines from 165 to 15 degrees
  for(int i=165;i>15;i--){  
  myServo.write(i);
  delay(2);
  distance = calculateDistance();
  Serial.print(i);
  Serial.print(",");
  Serial.print(distance);
  Serial.print(".");
  }
}
// Function for calculating the distance measured by the Ultrasonic sensor
int calculateDistance(){ 
  
  digitalWrite(trigPin, LOW); 
  delayMicroseconds(2);
  // Sets the trigPin on HIGH state for 10 micro seconds
  digitalWrite(trigPin, HIGH); 
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH); // Reads the echoPin, returns the sound wave travel time in microseconds
  distance= duration*0.034/2;
  return distance;
}

Your picture shows your display using over 22000 amps and the limit is 0.020 amps. Something is very wrong here. What is REALLY going on?

#include <Servo.h>. 
#include <LiquidCrystal.h> // includes the LiquidCrystal Library 
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7) 


  Serial.print(i); // Sends the current degree into the Serial Port

}

for starters you can’t use pin 1 for your LCD and Serial ! better use another map for that.

also not a good idea to run a servo off the arduino supply line !

Clearly your display is not drawing 22000A, if it were it would have vaporised, probably in a big fireball, burning down your house and most likely killing you.

As the current you have stated is obviously wrong I suggest the problem is not that that the display tales too much current but that you are measuring it incorrectly. Please provide a schematic showing how you are measuring the current. A photo clearly showing how you have it connected to whatever measuring device you are using and showing what is on the display would help a lot.

Thanks.


These are the pins…

Hey guys!

It isn't real. :sunglasses:

It's an emulator! :grinning:

Mutant101: So, i am trying LCD 16x2 module for the first time and don't how solve this problem. Actually, I know the current is more, also I've tried using Resistors, etc. but to no avail. Please suggest a solution. . . .

It's an emulator!

So the problem is that the emulator believes that it is emulating an LCD module that is not equipped with a current limiting resistor.

Try using a 100 ohm resistor in the red wire going from pin 2 to pin 15.

Don