8051 keil example application circuit LCD Display Digital Clock using DS1302 RTC 8051 Digital Clock Schematic 8051 Digital Clock Circuit keil source code and proteus isis simulation schematic files: FILE DOWNLOAD LINK LIST (in TXT format): LINKS-4652.zip author: @Aytan… Electronics Projects, DS1302 RTC 8051 Digital Clock Circuit (LCD Display) “8051 example, avr project, keil example, microcontroller projects,
8051 keil example application circuit LCD Display Digital Clock using DS1302 RTC
8051 DIGITAL CLOCK SCHEMATIC
8051 Digital Clock Circuit keil source code and proteus isis simulation schematic files:
301 LED Analog Clock Project Schema Files of PCB and C51 Compiler Source Code has been prepared by the C-in hex The clock circuit is made of 301 LEDs with a diameter of 3mm forming fi = dial (the… Electronics Projects, Analog LED Clock Circuit AT89C2051P “avr project, led projects, microcontroller projects,
301 LED Analog Clock Project Schema Files of PCB and C51 Compiler Source Code has been prepared by the C-in hex
The clock circuit is made of 301 LEDs with a diameter of 3mm forming fi = dial (the most one LED is in the middle), and 12 LEDs Stroke hours. The LEDs are arranged in seven zones. The three most outer rings comprise 60 LEDs each, and four inner circles each comprise 30 LEDs each. It was dictated by the size of the clock, which size is similar to the size of a CD, which shows the photograph above. Just the size of the clock made the four inner circles not accommodate the full amount of 60 LEDs. However, I used a trick here: namely, control LEDs is done in such a way that the diodes in the inner circles light up alternately with the movement direction. The final result is more than satisfactory.
ANALOG LED CLOCK PROJECT
Source: tobajer.w.interia.pl Analog LED Clock schematic pcb AT89C2051 source code files alternative link:
speed alarm circuit PIC16F84A microcontroller used in the project’s source code, schematics and PCB files are there. It’s also just as easy to drive as before. As shown, the front panel carries a 3-digit LED display, a LED indicator… Electronics Projects, Car Speed Alarm Circuit Display Indicator PIC16F84A “microchip projects, microcontroller projects, pic assembly example, pic16f84 projects,
speed alarm circuit PIC16F84A microcontroller used in the project’s source code, schematics and PCB files are there.
It’s also just as easy to drive as before. As shown, the front panel carries a 3-digit LED display, a LED indicator and three pushbutton switches. Two of these pushbuttons let you set the alarm speed in 5km increments between 0km/h and 155km/h (one switch increases the speed; the other reduces it). As soon as you exceed the preset speed, the indicator LED lights and an internal piezo alarm briefly sounds at 10-second intervals to provide a warning
The timer circuit buzzer with voice warning unit and timing after the control relay outputs for there supply voltage of 12 volts DC. PIC16F84A 7805 Regulator Integrated supplied through the second and minute settings can be made probably the … Electronics Projects, PIC16F84A Programmable Dual Timer Circuit ” microchip projects, microcontroller projects, pic16f84 projects,
The timer circuit buzzer with voice warning unit and timing after the control relay outputs for there supply voltage of 12 volts DC. PIC16F84A 7805 Regulator Integrated supplied through the second and minute settings can be made probably the specified period asm code changed through time for a timer b selection can be made.
MQ7-CO Sensor detection using that carbon monoxide alarm circuit PIC16F88 microcontroller based on the operating voltage 12v dc carbon monoxide detection whether by level in circuit 12v relay attracts the relay is connected to whatever (sounder, lamp, etc. ..)… Electronics Projects, MQ-7 Carbon Monoxide Alarm Circuit PIC16F88 “microchip projects, microcontroller projects, pic assembly example, pic16f88 projects,
MQ7-CO Sensor detection using that carbon monoxide alarm circuit PIC16F88 microcontroller based on the operating voltage 12v dc carbon monoxide detection whether by level in circuit 12v relay attracts the relay is connected to whatever (sounder, lamp, etc. ..) is working
MQ-7-CO While carbon dioxide (CO2) is not poisonous as such (in fact the air we breathe naturally contains around 0.03% carbon dioxide), in sufficient quantity it can displace oxygen in the air and therefore cause suffocation.
Pic belongs to the timer circuit and printed circuit board circuit diagram drawing software is available. If your car’s turbocharger has just been running, it is vital to allow the engine to idle for a few minutes before switching … Electronics Projects, Timer relay with PIC16F88 ” microchip projects, microcontroller projects, pic16f88 projects,
Pic belongs to the timer circuit and printed circuit board circuit diagram drawing software is available.
If your car’s turbocharger has just been running, it is vital to allow the engine to idle for a few minutes before switching off. This Adaptive Turbo Timer will do the job automatically. It only operates when necessary and sets the idle time according to how hard you’ve driving.
Analog Clock GLCD We use 128×64 pixel graphical LCD having “HY-12864K” is. This adds the file extension of the LCD connections are provided in PDF. 128 × 64 graphic LCD s have the same general structure. Differences spending power… Electronics Projects, AT89C51 Microcontroller Analog Clock for Graphic LCD “8051 example, avr project, keil example, microcontroller projects,
Analog Clock GLCD We use 128×64 pixel graphical LCD having “HY-12864K” is. This adds the file extension of the LCD connections are provided in PDF. 128 × 64 graphic LCD s have the same general structure. Differences spending power connection types and LED colors. Graphic LCDs are managed as two frames (64 × 64) and consists of three parts. Rows, columns and pages. Page 8 of 128 × 64 graphic display as standard and has 64 columns.
Digital group of plugs when using pic18f2320 microcontroller (DS1302) becomes set if getil (Relay control with 4 channels) socket on the LCD display shows the time, the remaining time can be adjusted with the buttons visible. Devices connected to… Electronics Projects, PIC18F2320 Timer Digital Group Socket “microchip projects, microcontroller projects,
Digital group of plugs when using pic18f2320 microcontroller (DS1302) becomes set if getil (Relay control with 4 channels) socket on the LCD display shows the time, the remaining time can be adjusted with the buttons visible. Devices connected to the outlet can be closed automatically. Software PCBs with C language prepared by the project, the source code files are schema.
This little tiny connection a timer clock. The idea arose then when I should have inserted the 3. switch-clock into an one extending because it is necessary to join the lighting already, filter and possibly the heater.
The soul of this connection originally a pic 16F870-es mikrocontroller was. It turned out meanwhile though that little are a sweet RAM and ROM-ja. I exchanged it then an with him onto the compatible bigger sibling of pin assignment, PIC18F2320. For this the mikrovezérlonek 8192 bytenyi* the memory of a program and 512 bytes data* he has a memory. This already more than enough.
His other important part the DS1302-es RTC produced by Maxim. This a clever real-time clock, because can be found in him an element (ill. backup battery) charger electronics.
source hobbielektronika.huPIC18F2320 Timer Digital Group Socket schematic pcb pic hex alternative link:
Now quite a popular topic with Cell Phone Control with Microchip pic series for those who want to do these types of projects that could give clues will limp a few projects, including projects located in Atmella in 1… Electronics Projects, Microcontroller GSM Alarm and Control Circuits “avr project, microcontroller projects,
Now quite a popular topic with Cell Phone Control with Microchip pic series for those who want to do these types of projects that could give clues will limp a few projects, including projects located in Atmella in 1
Pcb circuit connected pc with AT90S2313 asm hex file and available software
Emergency equipment is often equipped are various signs of tampering. The easiest is to run the audible signal or optical, the more advanced can given its status over the Internet or telephone. Presented in this article to your amateur alarm, which can send information on the attached by short text messages, so-called SMS. For model needs the company I used GSM modem Wavecom, but you can use any phone phone. Perhaps its use will require a solution to the problem of power and how encoding text messages, but it is possible and feasible in terms of electronics workshop – amateur.
The whole program has been constructed and compiled by AVR STUDIO 4. This is a complete environment for writing and applications for the AVR microcontrollers. The line RESET, MISO, MOSI and SCK przylutowałem microcontroller interface and programmer using ISP program and tested layout. This is a very comfortable not only for the amateur electronics, method. Allows you to run applications in real – its operating environment. The program occupies 128 bytes of EEPROM memory in the variables defined by the user. Their list can be found in Table takes 1,019 words double-byte, 2038 is 2048 bytes of program memory AT90S2313. Unfortunately, there is already too much space to implement the new functions or more messages. You can only be done cost of removing or optimizing existing ones.
It is a device that will include / exclude consumers when he sent the SMS. I did. The device consists of a PIC microcontroller, one ULN2803A (order transistor) power relays, and 6 relays. Of course, a few resistors and capacitors, three prekidačića, crystal and two LE diodice. The device was tested on Siemens phones, S25 and C35i. You should work with the other, and with all other GSM device which can be attached to the serial communication. Such devices are, for example.: All-Ericsson, and only with them I have not yet tested.
GSM Call Alarm is a device that uses a number of target position Siemens or Ericsson Mobile Phone (19200 bauds RS232) and sensory input is 1 and one entry – the state. If state = 0V then the device is “active” and follow the state senzorskog inputs. The device is “disabled” otpajanjem on / off (the state) with the mass of inputs (0V), or connect to the + half of power. Sensory input also respond to 0V.
SMS Alarm is a very simple device. To send a message uses a Siemens phone has 5 inputs – is sending 5 different messages. For each sensor uprogramiramo appropriate message you wish to receive the mobile when it is activated. Programming is done via the PC’s corresponding program which is attached in the archive.
Microcontroller GSM Alarm and Control Circuits:
FILE DOWNLOAD LINK LIST (in TXT format):LINKS-117.zip
Made with clock and thermometer 16F628 PIC-7 Circuit Friends, I have realized various clock and thermometer with PIC16F628A circuit I explain below. The temperature sensor used in each of the projects is DS18B20. Clock Thermometer Circuit-1: In this circuit,… Electronics Projects, Clock Thermometer Circuits with PIC16F628 PICBasic Pro “microchip projects, microcontroller projects, pic16f628 projects, picbasic pro examples,
Made with clock and thermometer 16F628 PIC-7 Circuit Friends, I have realized various clock and thermometer with PIC16F628A circuit I explain below. The temperature sensor used in each of the projects is DS18B20.
Clock Thermometer Circuit-1: In this circuit, the clock signal with cutting method I created. I use the LCD screen as a benchmark. I’ve used as the temperature sensor DS18B20 sensor.
Clock Thermometer Circuit-2: In this circuit, the hour and minute indicator I use 7-segment display. I created again with the clock signal cutting method.
Clock Thermometer Circuit-4: This circuit Hours-Minutes-Seconds and 7-segment display with indicators has been created. The clock signal from clock pulses of the clock through an exterior wall or table was prepared. Very true working hours.
Clock Thermometer Circuit-5: This program works with 7 segment LED display. Time information (RTC) DS1302 gets its. Shows seconds. Less shows the temperature.
Clock Thermometer Circuit-6: This program works with 7 segment LED display. Time information is received from the DS1302. Shows seconds. Less shows the temperature. Led blinks with medium cutting method.
Clock Thermometer Circuit-7: This program works with 7 segment LED display. Time information is received from the DS1302. Shows seconds. Less shows the temperature. Led blinks with medium cutting method. HISTORY shows.
Made with clock and thermometer circuit PIC16F628 7 All source files to the project. Proteus isis simulations PicBasic Pro code:
FILE DOWNLOAD LINK LIST (in TXT format):LINKS-90.zip
Now quite a popular topic with Cell Phone Control with Microchip pic series for those who want to do these types of projects that could give clues will limp a few projects, including projects located in Atmella in 1…Electronics Projects, Microcontroller GSM Alarm and Control Circuits“avr project, microcontroller projects,
Now quite a popular topic with Cell Phone Control with Microchip pic series for those who want to do these types of projects that could give clues will limp a few projects, including projects located in Atmella in 1
Pcb circuit connected pc with AT90S2313 asm hex file and available software
Emergency equipment is often equipped are various signs of tampering. The easiest is to run the audible signal or optical, the more advanced can given its status over the Internet or telephone. Presented in this article to your amateur alarm, which can send information on the attached by short text messages, so-called SMS. For model needs the company I used GSM modem Wavecom, but you can use any phone phone. Perhaps its use will require a solution to the problem of power and how encoding text messages, but it is possible and feasible in terms of electronics workshop – amateur.
The whole program has been constructed and compiled by AVR STUDIO 4. This is a complete environment for writing and applications for the AVR microcontrollers. The line RESET, MISO, MOSI and SCK przylutowałem microcontroller interface and programmer using ISP program and tested layout. This is a very comfortable not only for the amateur electronics, method. Allows you to run applications in real – its operating environment. The program occupies 128 bytes of EEPROM memory in the variables defined by the user. Their list can be found in Table takes 1,019 words double-byte, 2038 is 2048 bytes of program memory AT90S2313. Unfortunately, there is already too much space to implement the new functions or more messages. You can only be done cost of removing or optimizing existing ones.
It is a device that will include / exclude consumers when he sent the SMS. I did. The device consists of a PIC microcontroller, one ULN2803A (order transistor) power relays, and 6 relays. Of course, a few resistors and capacitors, three prekidačića, crystal and two LE diodice. The device was tested on Siemens phones, S25 and C35i. You should work with the other, and with all other GSM device which can be attached to the serial communication. Such devices are, for example.: All-Ericsson, and only with them I have not yet tested.
GSM Call Alarm is a device that uses a number of target position Siemens or Ericsson Mobile Phone (19200 bauds RS232) and sensory input is 1 and one entry – the state. If state = 0V then the device is “active” and follow the state senzorskog inputs. The device is “disabled” otpajanjem on / off (the state) with the mass of inputs (0V), or connect to the + half of power. Sensory input also respond to 0V.
SMS Alarm is a very simple device. To send a message uses a Siemens phone has 5 inputs – is sending 5 different messages. For each sensor uprogramiramo appropriate message you wish to receive the mobile when it is activated. Programming is done via the PC’s corresponding program which is attached in the archive.
The reason for making this clock was because my original IKEA clock did not work anymore and I really liked the housing of this clock. I found it a waste to throw the clock away and decided to re-use it for an analog / digital clock.
I could have made a standard clock but I decided to make something different. Like any other clock it shows the time but not in a standard way. Using 60 bi-color red/green LEDs the clock shows the time. The red LEDs are used to show the hours and the green LEDs show the minutes. The seconds are indicated by a walking yellow (red + green) LED and by a blinking yellow LED in the center of the clock.
It requires some practice to know how to read the clock. Since the LEDs are used to show both the hours and the minutes it needs a special way of presenting the time. The time is shown as a bar of LEDs where the longest bar shows either the hours or the minutes. If the longest bar is presented by the hours then the shorter bar presents the minutes in green and the remaining part shows the hours in red. In order to make the clock more readable in cases the bars are short, I added an hour indicator using the red LED. If the minutes become larger than the hours, the bars swap, that is all previous green minutes become red to show the hours and the remaining part will show the minutes so in fact almost all green becomes red and the other way around.
It is somewhat difficult to explain how it works so please watch the video. Due to the multiplexing of the LEDs it looks as if the LEDs are blinking in the video. This is only captured by the camera, not by the human eye.
As always I built this project around my favorite micro controller the PIC, using the JAL programming language but you can also use an Arduino.
Step 1: The Designs
In total I made three different versions of the clock before I was satisfied. These versions were designed as follows:
Using a standard 20 MHz crystal for the PIC. With this design the clock was out of sync 1 second after one day of operation. This was too much. Next to that the time was lost when you switched off the clock since there was no back-up battery in the design.
Using a DS1302 clock module. The nice thing about this module is that it has a back-up battery so the time is not lost when you switch off the clock. When I tested the clock with this module the clock was out of sync 7 seconds! after one day. I think this is caused by either the wrong crystal or a bad PCB design.
Using a DS3231 clock module. This module also has a backup battery and it is more accurate than the DS1302. The clock worked fine with this module so I used this for the final design. Because of that, the PIC did no longer need a crystal.
The complete design is drawn-up in three schematic diagrams:
Clock Controller using the PIC
Led driver using shift registers
60 Bi-color LEDs
Step 2: Required Components
You need tohave the following components for this project:
A piece of breadboard
PIC microcontroller 16F1823
3 shift register 74HC595
1 Darlington Transistor Array ULN2803A
IC sockets: 1 * 14-pin, 3 * 16-pin, 1 * 18-pin
Clock module DS3231
2 push-button switches
Resistors: 2 * 33k, 8 * 100 Ohm, 8 * 47 Ohm
1 electrolytic capacitor 100 uF/16V
4 capacitors 100 nF
LEDs: 60 2 mm bi-color (red/green), 1 5 mm yellow
Jack plug 3 mm
5 Volt adapter, for example the one that is used for charging a Smartphone. Make sure it is a true 5 Volt power supply.
Optional: Headers for connecting the external parts to the breadboard
Kynar wire & wire stripper
A housing for your clock.
See the schematic diagrams on how to connect the components. It requires quite some soldering, especially for connecting the 60 LEDs. Schematic diagrams are included in the zip file.
Have a look at the pictures on how I build the clock. I started by removing the internals of the original clock after which I drilled 60 holes of 2 mm for the bi-color LEDs in the front plate. Then I painted the front plate black and added a piece of plastic to cover the hole where the original hands of the clock where positioned. Now a yellow LED is located at that position.
Then I mounted all 60 LEDs, used some hot glue to keep them at their location and connected them with Kynar wire to each other. Last but not least I assembled the breadboard with all components.
On the back cover I mounted the two push-buttons and the power Jack. Forget about the extra plate I glued on the back as show in the picture. I added that because in my first design the push-buttons were located there but I needed to move them because I had to add the DS3231 module and I could only find a spot where those buttons were when I made my first design.
Step 4: The Software
As already mentioned, the software is written for a PIC16F1823 using the JAL programming language. The PIC runs on an internal clock of 32 MHz. As mentioned earlier, the clock timing is done by the DS3231 clock module.
The software performs the following main tasks:
Initializing the DS3231 module using an I2C interface. The module will generate a 1 second signal which is connected to the interrupt pin of the PIC. The PIC uses this 1 second interrupt to read the time from the DS3231 module.
Driving the 60 bi-color LEDs via the shift registers. In the schematic diagram it can be seen that the LEDs are connected in a 16 by 8 matrix. This reduces the number of wires that are needed to connect all LEDs. This matrix design requires that the PIC needs to multiplex the LEDs as to be able to light them up individually. Multiplexing the LEDs is done on an interrupt basis where the refresh frequency is 70 Hz so invisible to the human eye.
Handling the push-buttons. These are used to set the time, one for setting the hours and one for setting the minutes. Both buttons need to be pressed to activate the time-setting mode. When the time setting mode is selected the yellow led will be continuously on. After 5 seconds of not using the push-buttons the clock returns to the normal time operation and the yellow LED will start to blink.
See the second video on how to set the time.
The JAL source file and the Intel Hex file for programming the PIC are attached in the zip-file. If you are interested in using the PIC microcontroller with JAL – a Pascal like programming language – visit the JAL website.
Have fun building your own project and looking forward to your reactions.
Here is the driver circuit of the vibration motor. This is actually a real time digital clock that can be adjusted to alarm on a specific time of the day.
The circuit is so simple and straight forward.
Here are the required components:
1 PIC 16F84A Microcontroller
Amazon US, Amazon DE, Amazon FR, Amazon UK, Amazon CA, Amazon ES, Amazon IT,
I must admit it. I’ve been working with my brother on this project from a long time ago. Documentation is not of high quality that I barely remember how we wrote it.
But I still can remember some concepts. So I’ll try to get you to the point.
We’ve tried to make the assembly software run in exactly equal time-consuming branches in all conditions and on all displays.
We’ve managed to make all the 7 Segment Displays have the same brightness by making them illuminated by equal time through the program for the best user visual experience and it actually worked.
The Microcontroller worked as the main time keeper. It sends the BCD codes to the BCD Driver IC then it sends codes to the Seven Segment Displays.
The Microcontroller also controls the relay through a transistor to control the vibration motor to vibrate when the alarm rings.
In one of the rooms upstairs in my house I have an Infra Red panel. When I am in that room and I switch on this panel I sometimes forget to switch it off, which is a waste of valuable energy. In order to prevent this, I built this Infra Red Panel Timer. Of course you can use this circuit for switching off other devices after a certain timeout.
The operation of this timer is simple. When you press a push button once, one LED is turned on, the Infra-Red panel is switched on and a timer of 30 minutes is started. Pressing the push button again will increase the timer value with an additional 30 minutes and a second LED will turn on. Since 4 LEDs are present, the maximum timer value is 2 hours. When counting down, the LEDs will indicate how much time is left so when only 1 hour is remaining, 2 LEDs will light up. If the time is passed, all LEDs are off and the Infra-Red panel is switched off.
During operation, the timer value can be increased with 30 minutes– if not yet at the maximum value of 2 hours – by pressing the push button once. If you want to switch off the timer before the timeout has passed, you have to keep the push button pressed for one second.
As always I built this project around my favorite micro controller the PIC but you can also use an Arduino.
Note that the project is switching the mains power of 230 Volts so be careful!
Step 1: Required Components
You need to have the following components for this project with some references where you can get them:
See the schematic diagram on how to connect the components.
Step 2: The Power Supply
Something need to be said about the power supply is used. You can use any 5 Volt power supply that can provide a current of around 200 mA. In this project I used an old iPhone charger from which I removed the housing and the USB connector and placed it on the breadboard with some wires with a solid core.
The USB connector on this power supply is also used to connect two parts of the PCB of the power supply so make sure to make this connection with a wire. On the picture – sorry for the poor picture quality – you can see this wire which is on the location where the USB connector used to be. The iPhone charger can provide the required power easily.
Step 3: Building the Electronics
You can build the circuit on a breadboard but be very careful with the Fuse and the Relays that switch the mains power for the Infra-Red Panel. Do not touch the mains power in any way!
In the picture you can see the circuit as I built it on the breadboard including the temporary set-up for testing if it all works. As mentioned earlier, I connected the iPhone charger with some wires with a solid core a bit above the breadboard. It all fits in a standard plastic housing.
When all LEDs and the Relays are on the circuit draws about 130 mA from the 5 Volt power supply.
Step 4:
As already mentioned, the software is written for a PIC12F615. It was written in JAL. Since I did not use any specific libraries the total code size is only 252 bytes which fits easily in the 1k program flash memory this specific controller has.
In this project the PIC runs on an internal clock frequency of 4 MHz, where Timer 1 is used to decrease the timeout value, control the Relays and the LEDs. Timer 1 ticks every 262 ms. The main loop scans the push button and increases the timeout when the push button is pressed or it resets the timeout when the push button is pressed for 1 second or longer.
The JAL source file and the Intel Hex file are attached.
The video shows the operation of the Infra-Red Panel Timer. In this video the timeout is set to 5 seconds per LED instead of 30 minutes as to be able to show how the timer works. The green LED shows that the power is on and the red LED indicates that the Infra-Red panel is switched on. In the video I used a lamp to demonstrate the operation.
Apparently I filmed it upside down so when increasing the timeout value more LEDs on the left will turn on instead of to the right what you normally would expect.
The video shows the following:
When the push button is pressed, the first LED turns on and the lamp is switched on
Pressing the push button again, will increase the time and more LEDs will be turned on until all LEDs are on
During count down, more and more LEDs will turn off until the timeout is passed which switches off the lamp
Pressing the push button during operation will increase the timeout in this video with 5 seconds
Pressing the push button for 1 second resets the timeout and switches the lamp off.
Have fun building your own project and looking forward to your reactions.
Many, many years ago – when I was young – I visited the Evoluon in Eindhoven, The Netherlands. At that time it had all kind of technical stuff you could see and you could play with. Nowadays it does no longer exists in that form since the Evoluon has changed into a conference center.
One of the items you could play with at the Evoluon was a reaction speed timer which was built with discrete components using Nixie Tubes to show your reaction speed. In order to start this timer you had to press a button and after a random time the display showed a running counter. When the counter started running you had to release the button as soon as possible. The counting then stopped and the display showed your reaction speed.
Nowadays we can make the same thing more easily using a microcontroller which I did for this Instructable. In this case the Nixie Tubes are replaced by 7-segment LED displays. The original reaction timer in the Evoluon showed the timer running when the random timeout had passed – and you had to release the push button – but due to the fact that it takes too much CPU cycles to continuously update the display with the actual timer value, I decided to only show ‘H’ on the middle display to indicate that the random timeout has passed. The actual reaction time is then shown after the push button is released.
The operation is as follows:
One push button is used to start and stop the reaction speed timer
When the push button is pressed, the display shows ‘-‘ on all displays
After a random time, the middle display will show ‘H’ after which the push button has to be released as fast as possible
After releasing the push button, the display will show your reaction time
If the push button is pressed for too long, all displays will show ‘H’ after releasing the push button
As always I used a PIC microcontroller and created all software without using any specific libraries. Arduino fans can use of course do the same.
Step 1: Required Components and Building the Circuit
You need to have the following components for this project:
PIC microcontroller 16F1823
74HC595 shift register
5 * 7-Segment LED Display, command cathode
5 * BC548 transistor
1 * 33k, 8 * 220 Ohm, 5 * 1k resistors
100 nF capacitor
1 push button
See the schematic diagram on how to connect the components. I only built this Instructable on a prototype board but is can easily be made on a breadboard.
Step 2: The Software and Operation
As already mentioned, the software is written for a PIC16F1823. It was written in JAL. Since I did not use any specific libraries the total code size is 587 bytes which fits easily in the 2k program flash memory this specific controller has.
The software performs the following main tasks:
Start measuring the reaction time after a random timeout when pressing the push button. For this it uses an internal timer that runs at a frequency of about 15 kHz
Show the reaction time on the 7-segment LED displays. These displays are multiplexed in software and are controlled via the 74HC595 shift register since there were insufficient pins remaining on the controller to control the 7-segments directly from the IO pins of the PIC. In order to control the shift register, the SPI interface of the PIC is used. This interface can be programmed in such a way that it directly controls the clock and data input of the shift register. The multiplexing frequency of the display is about 100 Hz
The PIC controller runs on an internal clock with a frequency of 500 kHz. A low internal clock was chosen as to prevent that the timer that measures the reaction time would overflow too quickly. The Intel Hex file of this program is attached.
The video shows the reaction timer in action where the push button is pressed and released 3 times after which it shows the reaction time. This also shows the random start time. The fourth time the push button pressed to long which results in showing 5 times ‘H’ on the display. This indicates that the push button was not released before an overflow of the timer which happens after about 4,3 seconds.
Have fun building your own project and looking forward to your reactions and the person with the lowest reaction time.
Where I live, the cold months seem to go on forever so I have to find some way to exercise that keeps me indoors. I could afford to go to a gym but it takes too much time, I’d have to show off my old body in public, and I wouldn’t be able to watch re-runs of Charlie’s Angels on a big screen TV. Fortunately, our condo has a partially finished basement which gives us room for a treadmill, a manually operated stationary bike, and that big screen TV. I’ve had a pretty set routine for awhile but I recently read in an AARP bulletin that it’s ok for “seniors” to engage in some forms of High Intensity Interval Training (HIIT). After doing some research I found that one of those techniques could be perfectly adapted for use with my stationary bike. I tried it, survived, and decided that I would try it again but decided that it was a hassle counting seconds for my high/low intervals. Not to worry because I have a shoe box full of PIC micro-controller chips and a lot of free time on my hands.
Step 1: HIIT
For the uninitiated, HIIT basically involves a warm up time followed by sequences of high intensity activity then low intensity activity. In my case, the recommendation I found has 5 minutes of casual bike pedaling followed by 20 seconds of fast pedaling followed by 90 seconds of casual pedaling. The only thing that varies with the high/low intensity sequences is how many you do. For me the range is generally 4-6 sequences and then a few minutes of cool down. The other thing I found was that HIIT should only be done 2-3 times a week, interspersed with other types of activity. I figured that I could do the HIIT and then the next day do my regular treadmill routine. That works for me but I’m no health expert so don’t take this as advice.
Step 2: Hardware
The schematic for the timer is pretty boring because it just involves several LED’s connected to the PIC outputs. I built it into a small plastic project box that I fastened to my bike frame with Velcro. I run it on two alkaline AAA batteries with an on/off switch. The LED’s are different colors with green being the one for the low intensity intervals (including the warm up time) and red being the one for the high intensity intervals. The other six LED’s keep a count of the number of intervals completed. Given that the maximum number recommended was six, that’s what I used. It also was a convenient number because it made the software simple when turning on subsequent LED’s (no need for a counter). I couldn’t decide if I should use yellow or blue LED’s so I alternated them.
Step 3: Software
The software is written in PIC assembly language and is also pretty boring because it basically just runs a one second timer and counts seconds for each phase of the exercise. There are defines for the length of the intervals so that is easy to change if you need different values. Timing isn’t critical so I chose to use the 250-kHz internal oscillator to help conserve power.
To get the one second interval I used Timer1 and preset it so it would overflow after the desired count. The desired count for one second is the oscillator frequency divided by 4 (62,500). The overflow generates an interrupt and all of the logic is contained in the interrupt handler. The specific routines are assigned based on which portion of the sequence we are in – warm up, high intensity, or low intensity. The only “fancy” part is that I wanted a warning of when the next high intensity interval was coming. To do that I simply determined if there was less than 10 seconds left for the low intensity interval and then turned the green LED on/off every other second. The sequence count LED’s are all assigned to PORT C so a simple shift of a “1” bit will light the next one while keeping the previous ones lit. The high/low intervals don’t stop after all of the LED’s are lit so if you want more sequences you can easily add code to reset the LED’s and start lighting them again. That’s it for this simple project. Check out my other projects at: www.boomerrules.wordpress.com
Most high-end modern vehicles come with keyless car Alarm or PKE: as the name says in the key less car you do not have to use any key to unlock/lock the doors neither start the car engine.
to unlock or lock the doors the driver just presses on the small black button mounted at the door handle, and pressing the engine start button while pressing on the brake pedal will start the engine. briefly the system works by using 2 bands for communication the LF band (usualy 125khz) and RF band (300 ~ 400+ Mhz). when the driver presses on the door handle key the car will transmit a code at the LF band, if the remote is within the range of the coverage which is not more that 5 meters the the remote recevie the signal and demodulated signal code matches between the car and the remote then the remote will reply a signal at the RF band and again if the code signal is valid the car will unlock and give access to start and drive. you can search on google and read more about pke alarms.
In this project I’m going to build PKE alarm system for my car
Step 1: The Car Alarm
I chosed the pic16f877a uc for the car alarm but you can arduino , avr or any other uc
the car wires that connects to the alarm systme are as following :
+12 v ground 2 wires to lock and unlock doors
2 wires for signal light
horn or siren wire (optional)
door switch (active low)
hand brake (active low)
brake pedel (active high)
fuel pump (active high to check is the engine running or not)
IGN
ACC
Start
so generally there are about 12 I/O needed
since it is keyless there are two buttons one is the door handle button and the other one is engine start button and 1 PWM output for the (125khz antenna )
instead of using the black pushbutton on the door handle to lock/unlock the doors, I used a piezo mounted on the front windshield so instead of pushing the button I have to knock the windshield then the alarm will wake up and send a 125khz signal
Step 2: The Car Remote
the remote is powered by 3v cr2032 battery I used the premo antenna tuned at 125khz
the ams As3933 can detect LF frequency at as levels as low as few uVrms then it amplify the signal and demodulate it. I used this library on github to program the as3933:
There are two modes which are either frequency detect only, in this mode the as3933 will output high on the wake pin whenever it detects signal at the specific programmed frequency.
the other mode is pattern mode either single or double pattern in this mode the as3933 will compare the received pattern with the one which is preprogrammed in the chip if it matches it will output High on the wake pin.
also I chose the HT12E as an encoder which wasn’t good choice because of the low security of the device however it was pretty simple to implement and use.
it has 4 digital inputs so I connected 3 of them to 3 pushbuttons and the other one to the wake signal from the as3933
Step 3: The Installation
as mentioned earlier about the main wires for any car system I connected these wires to the car alarm. also I installed a push button in the key place. but before that I cut the car key and placed it in the key place to keep the steering wheel unlocked all the times.
here is the video of the project:
that’s it I hope you find this project useful , if you have any quetions feel free to comment below
Welcome to you . Here i am designed a Real Time Clock using PIC18F452 microcontroller.I will explain how to design Real Time Clock using PIC microcontroller.RTC Using PIC18F452
PIC is advance microcontroller series. In PIC microcontroller I2C(Inter-Integrated Circuit) Bus is available on board. RTC used in this project is DS1307 which needed I2C interface to read and write data from and to RTC. Because I2C bus is on board in PIC microcontroller Interfacing becomes easy. There will no need to write separate code for I2C bus.
The circuit is designed in two separate parts. Fig. 1 Shows the RTC DS 1307 IC connection. This connection is done by using zero PCB. The connection is same as shown in Fig. 3.
I used PIC18F452 Development Board which i designed few months ago using Screen print technique for pcb design. The SCL pin of RTC is connected to pin 18 and SDA pin is connected to pin 23 of PIC microcontroller. LCD 16×2 is interfaced in following way.
PIN OF LCD PIN OF PIC18F452
D7 – RD7
D6 – RD6
D5 – RD5
D4 – RD4
RS – RB5
RW – RB4
E – RB3
Step 2: Working Video
Step 3: Code
The code is written in MPLAB IDE and C18 compiler is used to to compiler the code. PICKIT 2 is used to burn the code on PIC18F452 IC. Please read the README file which available in the attachment before proceed.
Let’s take a look at the simple beginner’s project of the minute timer. The heart of the project is the 8-bit PIC16F88 MCU. The time is shown on the 7-segment display and the timer is operated using 6 buttons. The device is powered by the 9 volt battery.
The time range is from 1 to 99 minutes. The two digits number mode is indicated by the additional green LED that is located on the right side of the display just next to the decimal point sign. The five buttons in a row represent numbers one to five. The sixth button has two functions – to reset the device and to change the current digit that is being entered.
The timer device works the following way. After the main switch is on, a zero digit is displayed and the device is waiting for the buttons to be pressed. There are 3 possibilities:
1) To enter 1 to 5 minutes period just press one of the five buttons. The countdown starts in a few moments.
2) To enter 6 to 9 minutes period press any of the five buttons and right after that repeatedly press the 6th button to achieve the desired value. After each press the value is incremented by 1.
3) To enter 10 to 99 minutes period enter the first digit using the instructions in the previous step. Then press any of the five buttons. The decimal point and the additional green LED turns on indicating that the second digit of the value is being entered. Now press the 6th button repeatedly to adjust the second digit value.
While the countdown is in progress the remaining time is being displayed and the decimal point is periodically blinking. In the case of the two digit number both digits periodicaly appear on the display with the second digit being marked by the decimal point. As long as the remaining count of minutes is a two digit number the additional LED is on.
When the remaining time reaches zero value the sound alarm will be triggered. The device then can be reset by the 6th button to be ready for the next task.
Step 1: Parts Needed
PIC16F88
7- segment display
6 buttons
1K resistor – 6 pieces
470 resistor – 9 pieces
7805 voltage regulator
0.33 uF capacitor
0.1 uF capacitor
a piezo speaker
a battery holder
a switch
Step 2: The Circuit of the Timer
Step 3: The Source Code
The code written in C using MPLAB X IDE and XC8 compiler is available for download:
I could not find a good name for this project. You could also call it an ‘enough sleep timer’. The idea for this project came up during a vacation in winter. We were in a vacation home where there was no alarm clock in the bed room. I normally need 8 hours of sleep but not more than that so when I wake up and I have slept for 8 hours, it is time for me to get out of bed. Unfortunately if you have no alarm clock and it is still dark outside, you need to use your watch or your smart phone – but the latter is not something I keep in my bedroom – to see if you have slept long enough. In order not to have to look at my watch each time I wake up during the night – and need my glasses to read the display – this project was born.
I needed a device that could indicate if I had slept at least 8 hours without the need to be woken up by an alarm clock exactly after 8 hours. The device is a battery powered timer that does the simple thing to blink a LED 8 hours after the device is switched on. So when I wake up I can get out of bed if the LED is blinking and I should catch some extra sleep as long as it doesn’t.
But this is not the only application. If you have small children that cannot yet tell the time yet, you can use this device to let them know they can get out of their bed as soon as the LED starts blinking.
Note that when the LED starts blinking it does not stop until you switch off the device.
As always I built this project around my favorite micro controller the PIC, using the JAL programming language but you can also use an Arduino.
Step 1: Required Components
You need to have the following components for this project:
A piece of breadboard
PIC microcontroller 12F615
8-pin IC socket
Watch crystal of 32.768 Hz
Ceramic capacitors: 2 * 22pF, 1 * 100nF
Resistors: ! * 220k, 1 * 33k, 1 * 4k7
Green LED
On/Off switch
Battery holder for 3 AA or 3 AAA batteries + batteries
A plastic housing
See the schematic diagram on how to connect the components.
Step 2: Designing and Building the Electronics
The operating voltage range of the PIC is between 2 Volt and 5.5 Volt which makes it suitable using 3 AA or AAA batteries as power supply. These can be normal batteries (total supply voltage equals 4.5 Volt) or rechargeable batteries (total supply voltage equals 3.6 Volt).
All timing is done in software by the PIC12F615. The main requirement for the design was that the device should be portable and so battery powered. Since the PIC runs at a very low clock frequency of 32 kHz, it consumes around 23 uA at 3.6 V/ 29 uA at 4.5 V when switched on and when the LED is off. This will guarantee a long battery lifetime. Since the LED does not have to be bright, a low current flows through it due to the 4k7 resistor which also contributes to a longer battery lifetime.
In the pictures you can see the circuit as I built it on the breadboard including the final result when put in a plastic housing.
Step 3: The Software
As already mentioned, the software is written for a PIC12F615 using the JAL programming language. The software performs a simple task. Using a timer of the PIC, the clock crystal clock of 32.768 Hz is divided by 32.768, resulting in an internal signal of 1 second. The PIC then uses a counter to count from 0 until 60 seconds * 60 minutes * 8 hours = 28.800.
When the device is powered on, the LED will blink 3 times, after which the 8 hour timer starts. Blinking at power on is done to show that there is still sufficient power in the batteries. After 8 hours the LED will start blinking again but will only stop blinking when the device is switched off.
There is one additional feature in the device. Rechargeable batteries should not be discharged completely. To prevent that, the device will check the battery voltage once when switched on. If the battery voltage is below 3.0 Volt, the device will not blink the LED and will go into sleep mode. The device needs to be switched off and the batteries need to be replaced after which it will function normally after it is switched on again.
The JAL source file and the Intel Hex file for programming the PIC are attached. If you are interested in using the PIC microcontroller with JAL – a Pascal like programming language – visit the JAL website at
Have fun building your own project and looking forward to your reactions and alternative applications.