Read analog values without an ADC using PIC12F675 microcontroller




Digital electronics and Analog electronics doesn’t mix easily. A Microcontroller can’t get analog values unless an Analog-to-Digital converter is used, however, you may find a little complicated the use of an ADC and it need lots of Input/Output ports.

 

Some Microcontrollers, like the small 8-pin Microchip PIC 12F675, do have an ADC integrated, but it is expensier than a PIC without ADC. A simple solution is to use a RC circuit to measure the resistance or capacitance.

 

Basically, a RC circuit is just a capacitor and a resistor. The circuit labeled A shows the most common RC circuit used. I like to use the B circuit, I get better results.

RC Circuit

You can replace the resistor and use a thermistor to measure temperature (PTC or NTC), also a photoresistor can be used to measure light. Any kind of resistive sensor can replace the resistor. If you are using a capacitive sensor, just replace the capacitor instead of the resistor.

 

How it works:

Just connect the RC circuit directly to an I/O pin of the microcontroller. You can use a 33pf capacitor and 1k resistor.

 

  • First, make the I/O pin as OUTPUT.
  • Second, make the pin POSITIVE (+) for one milisecond. (Using a PIC at 4mhz, a 255-cycles loop will be enough).
  • Third, Make the I/O pin as INPUT and measure how long stays as POSITIVE (+).An good application of this technique is my “One wire keypad”:

The PIC will measure the RC value of the I/O pin. If the time measured is too long, that means; there is no key pressed. Precision resistors and Mylar capacitor is required to get exact values.

You can see my ” Security Keypad ” uses a similar technique.

For more detail: Read analog values without an ADC using PIC12F675 microcontroller




Current Project / Post can also be found using:

  • 12f675 analog read
  • pic12f675 adc example in c
  • pic12f675 adc
  • pic12f675 аналог

Leave a Comment

*
= 4 + 6

Read previous post:
RGB color generator
Pic RGB color generator using PIC12F629

Description PIC RGB is a circuit that generates random RGB colors using a RGB LED and fades between them. The...

Close
Scroll to top