We have seen parallel interface technique using Arduino library and we know that it requires 6 IO Lines, Now let’s see how we can reduce required IO’s using 74HC595. We know that we can reduce number IO required by using I2C based LCD interface circuit; It costs ten times more than 74HC595 Circuit.
7-segment displays are most popular in panel meters, It can show direct numerical value on display, It’s cost is low and display size bigger than LCD’s. Lets interface four digit display, most of the time four digits are enough to display data.
Problem Statement
We are making a Voltmeter using four digit 7-segment display, for this IC 74HC595 shift register is used instead of 7448 decoder, use of shift register gives few advantages such as you can display sign, few alphabets and control decimal point location. Continue reading Four Digit 7-Segment Display Interfacing with Arduino→
In some cases you need to display a static text with different colors, for this purpose you can use RGB LED Strips. In this tutorial we will learn how to interface RGB LED strip with arduino and drive it using ULN2003.
This is a basic tutorial for using Common Anode RGB LED Strip, PWM, and switch. By the end, you will have single switch to control colors of the LED strip. Connect the LED’s anode lead to +12V and connect the 3 RGB cathode leads to digital pins 9, 10, 11 through ULN2003 respectively.
RGB LED Strip Connections with Arduino
To drive complete RGB LED Strip we have used ULN2003 as a driver circuit, LED strip works at 12V. You can combine ULN2003 driver outputs to get more current.
Arduino Code for RGB LED Color Control
//=========================================================================
// RGB LED Color Control
// circuits4you.com
//=========================================================================
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 7; // the number of the pushbutton pin
const int BLUEledPin = 11; // LED pin
const int REDledPin = 10; // LED pin
const int GREENledPin = 9; // LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
int color=0;
//=========================================================================
// SETUP
//=========================================================================
void setup() {
// initialize the LED pin as an output:
pinMode(BLUEledPin, OUTPUT);
pinMode(REDledPin, OUTPUT);
pinMode(GREENledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin, HIGH); //Activate internal pull up for switch
}
//=========================================================================
// LOOP
//=========================================================================
void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == LOW) {
delay(300);
color++;
if(color>10)
{color=0;}
}
//Set different color values refer HTML Color codes
switch (color)
{
case 0:
SetColor(255,0,0);
break;
case 1:
SetColor(255,255,0);
break;
case 2:
SetColor(0,0,255);
break;
case 3:
SetColor(128,128,20);
break;
case 4:
SetColor(0,255,255);
break;
case 5:
SetColor(55,100,100);
break;
case 6:
SetColor(0x00,0xA8,0xA9);
break;
case 7:
SetColor(0xCC,0x66,0x66);
break;
case 8:
SetColor(0x12,0xA2,0x7E);
break;
case 9:
SetColor(0xF0,0x80,0x32);
break;
case 10:
SetColor(0x30,0xFF,0xFF);
break;
}
}
//=========================================================================
// Write Color Value
//=========================================================================
void SetColor(char R,char G,char B)
{
analogWrite(REDledPin,R);
analogWrite(GREENledPin,G);
analogWrite(BLUEledPin,B);
}
Results
Press switch and see that we have around ten different colors; You can change the color using SetColor(R,G,B). try different values of RGB.
In this arduino tutorial of HX711 Load Cell amplifier interface. We are interfacing 40Kg load cell to the arduino using HX711 Load cell amplifier module. HX711 is a precision 24-bit analogto-digital converter (ADC) designed for weigh scales and industrial control applications to interface directly with a bridge sensor. The input multiplexer selects either Channel A or B differential input to the low-noise programmable gain amplifier (PGA). Channel A can be programmed with a gain of 128 or 64, corresponding to a full-scale Continue reading HX711 Load Cell Amplifier Interface with Arduino→
The MAX7219 LED driver saves microcontroller pins and processing time. It uses only three IO pins of an Arduino. It is easy to connect multiple displays by connecting DIN and DOUT pins.
Using a single MAX7219 you can drive 64 LEDs while you only need 4 wires to interface it to a microcontroller. In addition you can daisy chain multiple MAX7219 chips for bigger displays. Continue reading Moving message display using arduino→