This project is based on a probe logic states, capable
of measuring levels from TTL (5v) to state levels of
PLC's (24v). For this we have employed the use of the
PIC 12F683 microcontroller, which by its nature is
capable of operating at low voltages, in this case 3vcc,
besides having analog inputs and internal oscillator.
The circuit is supplemented by an input stage which will
adapt the signal to the levels between the
microprocessor is able to work and another output stage
that will visually show the state in which the point is
The input stage to include a voltage divider between R3
D5 and D1, their role is to establish a fixed value (/ -
2.80) for the input of the microcontroller which means
that is in a state of high impedance, ie without input
signal. When we apply the input signal DATA IN this will
vary the voltage drop at point H so that the reading as
we discriminate if this is higher or lower than the
The output stage is made up 3 LED (yellow = high
impedance, Green = Red = logic 1 and logic 0).
The program also has an internal timer to approximately
3 minutes between the microcontroller in sleep mode in
which consumption will be minimal, to save the battery.
And it will reactivate the program until you press the
button, starting over allowing timing and take readings
Focusing on the program of the microprocessor, this is
configured to work with internal oscillation 4Mhz and
configuring its pin so that analog reading take from
point H by the GP1 pin, which is defined for a
resolution of 10 bits, pin GP2 will also be defined as
input and will be connected through a resistor (PULL UP)
and a secondary switch to ground, which will be
responsible for collecting the press that forced the
interruption level change in GP2 While the interruption
occurs loads a value (2000) as a timer to make a loop
past work and this time will be placed the
microcontroller in sleep mode.
The program is also complimented inizialización a
function which shows the blinking leds, to argue that
this in active process and that at the end of this
sequence we can take appropriate measures.
The bulk of the program is effected by a loop of reading
and comparing the reading which collects and compares
GP1 activating the corresponding output.
In order to function alone is sufficient to connect the
ground wire to any metal part of the chassis or failing
the code is open and available to anyone who
want, just send an e-mail and ask.