Tag Archives: LCD

DIY Home Energy Meter

A new tutorial by The DIY Life is for building a home energy meter that provides information about power consumption and cost estimates for the month.

Using Arduino and some other components you can build your own energy meter that measure the supply current to your home through a CT (current transformer), current, power, maximum power and kilowatt hours consumed. The cost of electricity used to date can be added and displayed easily.

arduino-energy-meter-high-consumption

Electronics you need to build this project:

  • Arduino Uno
  • LCD Shield / LCD Screen
  • CT – Talema AC1030
  • 56Ω Burden Resistor
  • 10µF Capacitor
  • 2 x 100K Divider Resistors

If you are not familiar with Arduino or LCDs you can check these articles by The DIY Life to learn more: getting started with Arduino, connect an LCD screen

First you have to build the current sensor by connecting the CT to the Arduino and setting a right voltage reference due to the Arduino 0-5V input range. As shown below, this is the way you should connect the CT to the Arduino.

energy-meter-wiring-diagram

This code should be uploaded to your Arduino to run the project. It already has a scaling factor that can be adjusted due to the components you choose in your circuit.If you don’t want to use or don’t have an LCD screen, you can also modify the sketch to output to the Arduino IDE’s serial window as described in this code.

For more information on how to choose different components, how to calibrate them, and to learn more details about wiring and coding, you should check this tutorial out.

The first number displayed is the instantaneous current followed by the instantaneous power. On the bottom line, the kilowatt hours used since reset and then the maximum recorded power since reset. Check the meter in action:

2.8″ TFT LCD Touch Screen ILI9325 with Arduino Uno and Mega

educ8s.tv uploaded a new video. This is a 2.8” Arduino Touch Screen Tutorial with the ILI9325 driver. Nick writes:

Hey guys, I am Nick and welcome to educ8s.tv a channel that is all about DIY electronics projects with Arduino, Raspberry Pi, ESP8266 and other popular boards. Today we are going to take a look at this 2.8” touch screen designed for Arduino. As you can see, I have loaded a demo program that displays a button on the screen. When I press the button with my finger, the program displays a message. As demonstrated the touch screen is working fine! Finally we can start building projects with a touch screen which are much more interesting and easier to use.

2.8″ TFT LCD Touch Screen ILI9325 with Arduino Uno and Mega [Link]

Web Controlled IoT Notice Board Using Raspberry Pi 3

The concept of web controlled notice board is getting more popular day by day for its wide range of applications in the practical field. As an IoT project, simple web controlled notice board can be made using a Raspberry Pi. Saddam at CircuitDigest designed the project where you can send the notice message through web browsers and it will be displayed on a 16×2 LCD display connected to the Pi.

In this Web Controlled Notice Board, we have created a local web server for demonstration, this can be a global server over the internet. At the Raspberry Pi, we have used 16×2 LCD to display message and Flask for receiving the message over the network. Whenever Raspberry receives any wireless message from a Web browser, it displays on the LCD.

Web Controlled IoT Notice Board : How It Works
Web Controlled IoT Notice Board : How It Works

Parts List:

  1. Raspberry Pi 3 (any model)
  2. Wi-Fi USB adapter (if you’re not using Raspberry Pi 3)
  3. 16×2 LCD
  4. Bread Board
  5. Power cable for Raspberry Pi
  6. Jumper wires
  7. 10K Pot

Circuit Diagram:

The circuit is very easy to make and uses Raspberry Pi as the brain. Few external components are used. You just need to connect the display to Raspberry Pi as per following instructions:

RS, RW and EN pins of LCD are directly connected to pin 18, GND and 23. Data pins of LCD D4, D5, D6, D7 are directly connected to Raspberry Pi’s GPIO 24, 16, 20, 21. A 10K pot is used to control the brightness of LCD.

Circuit Diagram of Web Controlled Notice Board Using Raspberry Pi 3
Circuit Diagram of Web Controlled IoT Notice Board Using Raspberry Pi 3

NOTE: If you are not using Raspberry Pi 3, you must use a USB to Wi-Fi adapter for lower versions of Raspberry Pi as they don’t have inbuilt Wi-Fi like Raspberry Pi 3.

The Coding Part:

Coding is the most important part of this project. Here you need only two codes:

  1. One is an HTML code to create the web page.
  2. Another one is a Python script, that uses Flask as mentioned earlier.

In the HTML code, a simple text box and a submit button are created so that you can enter a Notice Message in TextBox and then submit it to the server by clicking on Submit button.

The Python script is used to send data to the server (Raspberry Pi) and show the data i.e Notice Message on the LCD display. One thing to keep in mind, you should install Flask first using the command:

$ pip install Flask

Now install required libraries for Flask, and define display ports:

from flask import Flask
from flask import render_template, request
import RPi.GPIO as gpio
import os, time

app = Flask(__name__)

RS =18
EN =23
D4 =24
D5 =16
D6 =20
D7 =21
... ......
..... ......

NOTE: You need to copy-paste the HTML code in some text editor and save the file with .HTML extension. Then put this HTML file in the same folder where you have put your interpreted Python Code file.

So this is how you can send a message from your computer or smartphone to the Raspberry Pi LCD and make an IoT-based Wireless Notice Board controlled over The Web.

12$ 30MHz signal generator using Arduino

A signal generator is an electronic device that generates electronic signals and waveforms. These electronic signals are either repeating or non-repeating as per the requirements and field of applications. It is generally used in designing, testing, troubleshooting and repairing electronic devices. A signal generator can generate various kinds of waveforms. Most common are the sine wave, square wave, sawtooth wave and triangular wave.

This instructable shows a full guide on how to make a 30 MHz signal generator for 12$, using an Arduino and an AD9850 DDS synthesizer module. The circuit is pretty simple and small enough to fit in your pocket. Kedar Nimbalkar, the author of the instructable, says:

A precession signal generator is very easy and affordable to make using an Arduino and DDS synthesizer (ad9850) . It’s World’s first smallest portable signal generator.

You can make decent 0 -30 MHZ frequency Signal generator only in 12$ .

30 MHz signal generator using Arduino
30 MHz signal generator using Arduino

Parts List:

1. Arduino Pro mini
2.AD9850 (DDS Synthesizer)
3.16×2 LCD Display ( Hitachi HD 44780 )
4.Rotary Encoder
5. CP2102 (or any USB to serial converter)

I think you are familiar with all of the above items except the AD9850 (DDS Synthesizer). First of all, you need to know what does DDS stand for.

Direct Digital Synthesizer Block Diagram
Direct Digital Synthesizer Block Diagram

 

Direct digital synthesizer (DDS) is a type of frequency synthesizer used for creating arbitrary waveforms from a single, fixed-frequency reference clock. A basic Direct Digital Synthesizer consists of a frequency reference, a numerically controlled oscillator (NCO) and a digital-to-analog converter (DAC).

 

AD9850 (DDS Synthesizer):

The AD9850 is a highly integrated device that uses advanced DDS technology coupled with an internal high-speed, high-performance D/A converter and comparator to form a digitally programmable frequency synthesizer and clock generator function. When referenced to an accurate clock source, the AD9850 generates a spectrally pure, analog output sine wave. In a nutshell, AD9850 works on DDS (direct digital synthesis ) which can generate analog waveforms with digital input.
Read the datasheet to learn more.
The AD9850 DDS Module signal generator
The AD9850 DDS Module

Circuit Diagram of Signal Generator:

The circuit diagram is very simple. You can make it on a breadboard, or just solder components end to end to make it more compact.

Signal Generator Circuit Diagram
Arduino Based Signal Generator Circuit Diagram

The Arduino sends digital signals to AD9850 and the module generates analog output Sine wave. The display, which is connected to Arduino, shows output frequency and step increment/decrement value. The rotary encoder is for changing frequency. Though the AD9850 module can generate up to 40 MHz frequency, but after 30 MHz the output frequency becomes unstable. So in this circuit, the maximum frequency is limited to 30 MHz.

You can make a decent 0-30 MHz frequency signal generator for only 12$ . If you are pro “overclocker”, then 40 MHz in same price .

The signal generator runs on 5 Volt power supply and current should not exceed 270mA.

Arduino Sketch:

The Arduino code is HERE.

Output:

Output Response of Arduino Based Signal Generator
Output Response of Arduino Based Signal Generator

Watch the video which demonstrates the 12$ signal generator.

PIC16F 28-pin Development Board with LCD

pic16f-28-pin-pic-development-board-with-lcd-img2

This development board offers various important add-ons which we considered are important to a developer of Microcontroller based project from Microchip.

Features

  • This board can be used with any of the 16F / 28 Pin PIC ICs compatible with 16F73 MCU. This kit is supplied with a PIC 16F73 MCU for development purposes.
  • The Clock frequency to the MCU is a 4 Mhz Crystal
  • This Development Board offers a ICSP connector for easy download of your code onto the MCU. Resistor R1 and Diode D1 Offer protection of Programming voltage interfering with the Supply voltage.
  • A 16×2 Backlight LCD helps as a displays of data in your project. PR1 controls the Contrast of the LCD.

PIC16F 28-pin Development Board with LCD – [Link]

CO2, temperature and humidity monitor

pic-front-panel3-600

An open source CO2 monitoring project from Roving Dynamics:

The project described below uses a MH-Z16 or MH-Z19 CO2 sensor and a DHT-22 (or DHT-11 if less accuracy is required) to measure the Temperature and Humidity. It has a 4 line by 20 character LCD Display to show the current readings and status, a warning alarm and two relays which can be triggered on a low CO2 (Generally above 1000 ppm) normally to switch on an extractor fan and a high level (4000 ppm) which will trigger a warning device such as an external alarm. There are two models I used the 0 to 5000 ppm device here but the code will be the same for the 0 to 10000 ppm model

CO2, temperature and humidity monitor – [Link]

Arduino Geiger–Müller counter with LCD display

IMG_2569

Bob tipped us with his latest project. It’s a custom Arduino shield able to communicate with a Geiger-Muller counter and display data on a LCD display. The data are displayed in two layouts: bar graph of the pulses in one minute interval and histogram of the gathered data.

In the previous posts I’ve described a simple Geiger–Müller counter and various experiments with this device. Today I would like to present Arduino project to communicate with a Geiger-Muller counter, gather data and present it to the user. The device is based on Arduino Uno, Nokia 5110 LCD and homemade shield.

Arduino Geiger–Müller counter with LCD display – [Link]

CameraShutter – Control your DSLR camera

Control your DSLR to take a picture every x seconds for x minutes, fully configurable via LCD menus.

CameraShutter – Control your DSLR camera – [Link]

 

An Atmega library for multiple HD44780 LCDs

LCD_PCF8574_I2C_multiple_library

Davide Gironi has posted an I2C multiple HD44780 AVR Atmega library:

This library implements a driver for HD44780 lcd connected through PCF8574 port expander.
Data is transmitted using only 2 wire over i2c with the PCF8574.
This library can drive up to 8 LCD concurrently.
Lcd driver is based upon Peter Fleury’s lcd driver
HD44780 to i2c library its based upon this library

An Atmega library for multiple HD44780 LCDs – [Link]