Tag Archives: PIC18F2550


Product review: iCP12 usbStick and SmartDAQ

In this blog post, I am reviewing iCircuit Technologies’ iCP12 usbStick development board and their freely downloadable SmartDAQ PC software. These two can be bundled together to construct a very basic 6-channel (analog) PC data logger.

iCP12: PIC18F2550 USB board

iCP12: PIC18F2550 USB board

The iCP12 usbStick is a PIC18F2550 based USB development board that comes preloaded with Microchip’s USB HID bootloader that allows users to upload an application firmware directly through a PC’s USB port without any external programmer. It provides access to its I/O pins through 0.1″ pitch headers. A slide switch is also provided on board to select the operation of the board in Bootloader or Normal mode. The iCP12 usbStick board is shipped with a preloaded data acquisition firmware (HEX file is also downloadable) that emulates as a virtual COM port to PC. Thereafter, the communication between the PC and usbStick is serial. The firmware also supports basic I/O control and data logging feature. They provide a PC application named SmartDAQ that is specially developed to communicate with the usbStick (data acquisition firmware must be loaded) and control its I/O pins, PWM outputs, and record ADC inputs. Read more

Using TC74 (Microchip) thermal sensor for temperature measurement

The TC74 chip is a serially accessible, digital temperature sensor from Microchip Technology that acquires and converts temperature information from its onboard solid-state sensor with a resolution of 1°C. The temperature is available as an 8-bit digital word stored in its internal temperature register, which is accessible through a 2-wire I2C compatible serial bus. This tutorial describes how to use the TC74 sensor with a PIC microcontroller to measure the surrounding temperature.

Using TC74 sensor for temperature measurement

Read more

LM386 based stereo audio amplifier with digital volume control

Due to its simplicity (requires minimum external components) and high availability, LM386 is very popular among hobbyists for use in low-voltage audio amplification applications. Most of the time a potentiometer is used at the input side of LM386 to provide a volume control in the output speaker. The potentiometer does not control the gain of the amplifier itself, but it creates a voltage divider network at the input, which in fact controls the fraction of the audio signal that is fed to the amplifier. This project is about a stereo audio amplifier using two LM386 ICs with digital volume control for both left and right speakers. So, how would you control the volume digitally? You are right, by replacing the traditional electro-mechanical form of potentiometers with digital potentiometer chips. This project uses MAXIM’s DS1868 dual digital potentiometer chip and a PIC microcontroller to control the volume of a stereo output from two LM386 ICs.

Stereo audio amplifier with digital volume control

Read more

Humidity and temperature measurements with Sensirion’s SHT1x/SHT7x sensors (Part 2)

In Part 1 of this tutorial, we discussed about Sensirion’s SHT1x and SHT7x series of humidity sensors, their interface specifications, the communication protocol used for transferring data in and out of the sensor, and the equations to convert their digital outputs to actual physical quantities. These sensors are capable of measuring temperature along with relative humidity and provide outputs in fully-calibrated digital words. We will now see how a PIC microcontroller can be programmed to communicate with these sensors, read the temperature and relative humidity data, and display the information on a character LCD.

Circuit setup on breadboard

Read more

Lab 15: Scrolling text message on an LED dot-matrix display

In Lab 12, we learned about the basic structure of a monochrome (single color) LED dot matrix and its interface with a microcontroller to display static characters and symbols. Today’s lab is its continuation, and we will be discussing on displaying a scrolling text message on a 16×8 LED dot matrix. The microcontroller used is again the same PIC18F2550 from StartUSB for PIC board. The 16 columns of the LED matrix are driven individually by two shift registers (74HC595), whereas the eight combined rows are driven by the decoded outputs from a decade counter (CD4017). In Lab 12, columns were scanned, but here we will be scanning across the rows and feed the column lines with appropriate logic levels. An analog input from a potentiometer is read by the microcontroller to determine the speed of the scrolling message. The technique will be demonstrated for right to left scroll, but can be easily implemented for scrolling in other directions. The program for PIC18F2550 is developed with mikroC Pro for PIC compiler.

Scrolling message display on 16x8 LED dot matrix

Read more

« Older Entries