Skip to main content

Posts

Showing posts with the label PIC Projects

PIC based Diode and BJT tester

If your digital multimeter does not have features for testing diodes and transistors, hold on, here's a project that describes how you can construct one by yourself. This project is based on a PIC16F688 microcontroller and uses the simple concept of unidirectional conduction of PN juction to find if the diode or transistor is good or bad. The test results are displayed on a character LCD. It also shows the type of the transistor (NPN or PNP) as well as which of the PN junctions are open or short in a faulty transistor.   Source: http://embedded-lab.com/blog/

PIC16F688 based Digital Voltmeter

Actually this is the another version of my older DVM project that was based on PIC12F683. The older version displays the measured voltage on a LCD that is driven serially by PIC12F683 using 3 I/O pins. The new one uses PIC16F688 microcontroller that doesn't require the serial driver as it has got enough pins to drive a LCD directly in 4-bit mode. The theory and math is just the same. You can read my PIC12F683 version of this project here . Circuit Diagram Circuit on breadboard

EnerJar: A Digital Energy Meter

This project won the grand prize of 2008 Green Gadgets Design competition. It measures the power consumption of an electrical gadget with high accuracy. The project uses PIC16F877A microcontroller to compute the power and shows the output on a 4-digit multiplexed seven segment display. The power consumed by an electrical appliance is simply the product of voltage across the appliance and the current drawn by it. Voltage measurement is pretty straight forward. Using a resistor divider network, 120 V can be converted down to below 5 V, and can be read through ADC port. However, PIC cannot measure the current directly, it must be converted to voltage first. This is done by a low shunt resistance. This voltage drop across the shunt resistance is too small and requires a precision instrumentation amplifier to boost it to appropriate level.

Digital Voltmeter using PIC12F683

This is a digital voltmeter project based on PIC12F683 microcontroller. It measures and displays input voltage from 0 to 20V with high accuracy. You cannot feed 20V directly to PIC port, so a simple resistor divider network is used for this purpose. A 5.1V zener diode is used to prevent any damage to PIC port in case the input voltage goes way above 20V. Since PIC12F683 does not have sufficient pins to drive a LCD, 3-wire serial discussed before is used to display the measured voltage.

My PIC Projects

Here's the list of all of my PIC Projects posted so far:

Centigrade and Fahrenheit Scale Digital Thermometer with LCD Display

Digital thermometers are cool devices as they show temperatures in human readable formats. This digital thermometer project is based on a PIC16F688 microcontroller and a DS1820 temperature sensor, and it displays temperature on a character LCD screen in both Celsius and Fahrenheit scales. I selected PIC16F688 for this project because it is cheap (I bought one for $1.50). DS1820 is a 3-pin digital temperature sensor from Dallas semiconductors (now Maxim) which is designed to measure temperatures ranging from -55 to +125 °C in 0.5 °C increments. The firmware I have written is able to read and display the entire temperature range of DS1820. In order to test for temperature measurements below 0°C, I put the sensor inside my freezer. While trying this, don’t put the whole unit inside the freezer as LCD display unit may stop working at the freezer temperature. Similarly, bringing a soldering iron tip close to the sensor can do testing for the higher range temperature values.

Neat LED Chaser for Hobbyists

Besides just turning ON and OFF, there are lot of other stuff that you can do with LEDs. In one of my experiments, I showed how to control the intensity of an LED using PWM. Here's a project that uses the similar concept to generate 8-channel PWM signals through PIC16F628A ports and drive 8 LEDs with 4 levels of intensity. A number of visual effects and chase sequences are programmed into the firmware. Enjoy watching this video! 

PIC16F628A + DS1820 + 4-Digit Seven Segment C/F Thermometer

Introduction This project describes how to read temperature from a DS1820 sensor with a PIC16F628A microcontroller and display the temperature value in a multiplexed 4-digit seven segment display. The temperature will be displayed in both Centigrade and Fahrenheit units switching back and forth. The temperature resolution is 1 degree in both the units. Out of 4-digits, the most significant three digits will display numeric temperature values from 00 to 125. The most significant digit will show '-' for negative temperatures, and the least significant digit will display C or F. On my PIC16F628A board, connect D1 to RA2, D2 to RA1, D3 to RA0, and D4 to RA3. DS1820 data will be read at RA4 port. The seven segments a-g will be driven by RB0-RB6. Software /* Project name:      Seven-segment display digital thermometer  * Copyright:      (c) Rajendra Bhatt, 2010.       MCU:             PIC...

Gear Clock Controlled by PIC16F628A

I was browsing internet for PIC16F628A related projects and I saw this. This guy came up with an amazing idea. He made some wooden gears, tied them up, and drove with a stepper motor from a floppy drive, and turn it into a Gear Clock. The stepper motor is controlled by a PIC16F628A Microchip that also keeps track of time. You can set time with the help of two switches that control clockwise and anti-clockwise motion of the minute gear. If both the switches are pressed, the stepper motor is de-energized and the minute gear is free to rotate by hand. Source:  http://alan-parekh.com/projects/gear-clock/

Digital Thermometer on a Nokia LCD Screen

If you have an old Nokia 3310 cell phone, don't throw it away. You can use its LCD screen for this cool project. This project describes the use of such a LCD to display temperature.  It uses PIC12F629 microchip as a brain that reads temperature measurement from a DS18B20 sensor, and displays it on a Nokia 3310 LCD screen. Source:  http://www.ivica-novakovic.from.hr/Nokia%20Lcd%20Termometar-eng.htm

PIC12F683 Development Board

I have recently made a new PIC development board for PIC12F683. It is an 8-pin microcontroller with a lot of good features including 10-bit ADC and PWM. The development board has following features: 1. A Regulated +5V power supply. 2. 3 Red LED outputs which can be connected to any GPIO pins using jumper wires. 3. An ON/OFF power supply switch. 4. A Green LED as a power ON indicator. 5. An 8-pin IC socket for PIC12F683 microcontroller. 6. Two potentiometers: one for providing Vref, and other for simulating analog input to ADC. 7. An ICSP header connector. 8. Two tactile switches for input operation. 9. A TTL to RS232 level shifter using a transistor circuit. 10. A piezo buzzer. 11. A DC motor with driving circuit. 12. Access to individual pins of PIC12F683 through female header pins.