This MP3 Player FM transmitter can be used to listen to your own music throughout your home. The transmitter circuit use no coils that have to be wound. When this FM transmitter used in the car, there is no need for a separate input to the car stereo to play back the music files from your MP3 player.
This FM transmitter use a chip made by Maxim Integrated Products, the MAX2606. The VCO (Voltage Controlled Oscillator) in this IC uses a Colpitts oscillator circuit. The variable-capacitance (varicap) diode and feedback capacitors for the tuning have also been integrated on this chip, so that you only need an external inductor to fix the central oscillator frequency.
The supply voltage to the IC should be between 2.7 and 5.5 V, the current consumption is between 2 and 4 mA. With values like these it seemed a good idea to supply the circuit with power from a USB port. A common-mode choke is connected in series with the USB connections in order to avoid interference between the circuit and the PC supply.
The stereo signal connected to K1 is combined via R1 and R2 and is then passed via volume control P1 to the Tune input of IC1, where it causes the carrier wave to be frequency modulated. Filter R6/C7 is used to restrict the bandwidth of the audio signal. The setting of the frequency (across the whole VHF FM broadcast band) is done with P2, which is connected to the 5 V supply voltage.
The transmitter PCB designed uses resistors and capacitors with 0805 SMD packaging. The size of the board is only 41.2 x 17.9 mm, which is practically dongle-sized. For the aerial an almost straight copper track has been placed at the edge of the board. In practice we achieved a range of about 6 metres (18 feet) with this. There is also room for a 5-way SIL header on the board. Here we find the inputs to the 3.5 mm jack plug, the input to P1 and the supply voltage. The latter permits the circuit to be powered independently from the mains supply, via for example three AA batteries or a Lithium button cell. Inductor L1 in the prototype is a type made by Murata that has a fairly high Q factor: minimum 60 at 100 MHz.
Take care when you solder filter choke L2, since the connections on both sides are very close together. The supply voltage is connected to this, so make sure that you don’t short out the USB supply! Use a resistance meter to check that there is no short between the two supply connectors before connecting the circuit to a USB port on a computer or to the batteries.
P1 has the opposite effect to what you would expect (clockwise reduces the volume), because this made the board layout much easier. The deviation and audio bandwidth varies with the setting of P1. The maximum sensitivity of the audio input is fairly large. With P1 set to its maximum level, a stereo input of 10 mVrms is sufficient for the sound on the radio to remain clear. This also depends on the setting of the VCO. With a higher tuning voltage the input signal may be almost twice as large (see VCO tuning curve in the data sheet). Above that level some audible distortion becomes apparent. If the attenuation can’t be easily set by P1, you can increase the values of R1 and R2 without any problems.
Measurements with an RF analyzer showed that the third harmonic had a strong presence in the transmitted spectrum (about 10 dB below the fundamental frequency). This should really have been much lower. With a low-impedance source connected to both inputs the bandwidth varies from 13.1 kHz (P1 at maximum) to 57 kHz (with the wiper of P1 set to 1/10).
In this circuit the pre-emphasis of the input is missing. Radios in Europe have a built-in de-emphasis network of 50 μs (75 μs in the US). The sound from the radio will therefore sound noticeably muffled. To correct this, and also to stop a stereo receiver from mistakenly reacting to a 19 kHz component in the audio signal, an enhancement circuit is published elsewhere in this issue (Pre-emphasis for FM Transmitter, also with a PCB). Author: Mathieu Coustans, Elektor Magazine, 2009
MP3 FM Transmitter Parts List
Resistors (all SMD 0805)
R1,R2 = 22kΩ
R3 = 4kΩ7
R4,R5 = 1kΩ
R6 = 270Ω
P1 = 10kΩ preset, SMD (TS53YJ103MR10 Vishay Sfernice, Farnell # 1557933)
P2 = 100kΩ preset, SMD(TS53YJ104MR10 Vishay Sfernice, Farnell # 1557934)
Capacitors (all SMD 0805)
C1,C2,C5 = 4μF7 10V
C3,C8 = 100nF
C4,C7 = 2nF2
C6 = 470nF
Inductors
L1 = 390nF, SMD 1206 (LQH31HNR39K03L Murata, Farnell # 1515418)
L2 = 2200Ω @ 100MHz, SMD, common-mode choke, 1206 type(DLW31SN222SQ2L Murata, Farnell #1515599)
Semiconductors
IC1 = MAX2606EUT+, SMD SOT23-6 (Maxim Integrated Products)
Miscellaneous
K1 = 3.5mm stereo audio jack SMD (SJ1-3513-SMT
CUI Inc, DIGI-Key # CP1-3513SJCT-ND)
K2 = 5-pin header (only required in combination with 090305-I pre-emphasis circuit)
K3 = USB connector type A, SMD (2410 07 Lumberg, Farnell # 1308875)
Notice. The use of a VHF FM transmitter, even a low power device like the one described here, is subject to radio regulations and may not be legal in all countries.
search
Monday, August 23, 2010
Automatic solar tracking system
AUTOMATIC SOLAR TRACKER starts following the SUN right from dawn, throughout the day, till evening, and starts all over again from dawn next day. On cloudy weathers, it remains still and catches the SUN again as it slips out of clouds. It does all this automatically, employs cheap and inexpensive components, and is very accurate.Let us see how it does all this.
There are three Electronic Modules to be explained. First one is the HORIZONTAL SENSOR MODULE. It employs the timer 555 in the MONOSTABLE MODE. PIN 2(Trigger Pin of 555) is hooked up with a VOLTAGE DIVIDER NETWORK(PLEASE see FIGURE 2). PIN 4(Reset) is hooked up with ANOTHER VOLTAGE DIVIDER NETWORK.
Now placed with the Horizontal Sensor LDR 1 is another similar LDR 2 which receives the sunlight as and when does LDR 1. SEE FIGURE 3. So now, as LDR B(THE 1st horizontal one) receives sunlight, so does Horizontal LDR 2(SEE FIGURE 1, THESE 2 LDRs are placed together with same alignment properties and separated by an optically insulated coating(from each other).Thus when Motor 1 comes to rest, and as the second horizontal LDR (SAY LDR D),is same way coupled to the second timer’s(of Vertical Module) Reset pin as was the ALWAYS ILLUMINATED LDR A, it brings the second timer out of its Reset mode) by the previously discussed VOLTAGE RELATIONSHIP). EYE SENSOR LDR(SAY LDR E) of the tracker receives sunlight by an Anti-Reflection Coated, small Rectangular Slit, so reacts only when SUN directly points at it. The second 555’s PIN 2 is same way connected to this LDR as was the first 555’s to Horizontal LDR 1. So now that it still not receives sunlight (resistance high, so Vout low) and pin 4 is no more Reset, the second CD 4017 MAKES THE SECOND STEPPER MOTOR 2 Rotate(Coupled so as to only rotate VERTICAL SENSING BLOCK/EYE BLOCK ). This movement continues till the SUN directly points at the EYE of our TRACKER. Then the TRACKER STOPS, pointing very accurately at the SUN.FIG 2 and FIG 3 follows.
NOTE:
There are three Electronic Modules to be explained. First one is the HORIZONTAL SENSOR MODULE. It employs the timer 555 in the MONOSTABLE MODE. PIN 2(Trigger Pin of 555) is hooked up with a VOLTAGE DIVIDER NETWORK(PLEASE see FIGURE 2). PIN 4(Reset) is hooked up with ANOTHER VOLTAGE DIVIDER NETWORK.
Fig 1: Block diagram of the tracker following the sun all through
Fig 2: Horizontal sensor electronic circuit
The LDR(SAY LDR A) which is always illuminated by light through FRESNEL LENS ARRAY, has Low Resistance(in presence of light resistance of LDR decreases and vice-versa). We know V(OUT)=V(IN)*[R(bottom)]/[R(bottom)+R(top)], where R stands For Resitance. So in SUNLIGHT, when LDR A’s resistance Decreases, VOLTAGE AT PIN 4 Increases. TIMER is no more RESET. PIN 2 is now lower than 1/3 rd Vcc(as the horizontal LDR 1, say LDR B does not initially receive light through its rectangular slit, so its resistance is high(Rtop=8 K ohms), consequently V(OUT) is low). This triggers the timer which gives a pulse to Decade Counter’s Clock(14) PIN and triggers it. The Decade Counter CD 4017 gives a NORMAL STEP DRIVE pulse to the Horizontal Unipolar Stepper Motor 1(coupled to the tracker unit) to rotate the tracker position so as to receive sunlight(STEP ANGLE of 2 DEGREES). This goes on till the horizontal LDR 1 is fully in SUNLIGHT(resistance low, so PIN 2’S VOLTAGE HIGH). Thus the tracker has followed the SUN Horizontally. Fig 3: Horizontal Sensor electronic circuit
We will come to the Vertical Sensor Module, but first let us see what the DAWN LDR(SAY LDR C) does. At night the horizontal Module timer 555 remains Reset(as LDR A is in darkness so its resistance is high, thus pin 4 voltage is low, and the TRACKER points at WEST(where SUN has set). Next day when SUN rises again in the EAST, the DAWN LDR which is located at the back of the TRACKER, points at EAST. So when it receives sunlight its Resistance goes low, thus Voltage at pin 4 is high and the timer triggers the Decade Counter which in turn switches the Motor on, thus the TRACKER again moves towards the EAST. Then the TRACKER functions as previously. Now placed with the Horizontal Sensor LDR 1 is another similar LDR 2 which receives the sunlight as and when does LDR 1. SEE FIGURE 3. So now, as LDR B(THE 1st horizontal one) receives sunlight, so does Horizontal LDR 2(SEE FIGURE 1, THESE 2 LDRs are placed together with same alignment properties and separated by an optically insulated coating(from each other).Thus when Motor 1 comes to rest, and as the second horizontal LDR (SAY LDR D),is same way coupled to the second timer’s(of Vertical Module) Reset pin as was the ALWAYS ILLUMINATED LDR A, it brings the second timer out of its Reset mode) by the previously discussed VOLTAGE RELATIONSHIP). EYE SENSOR LDR(SAY LDR E) of the tracker receives sunlight by an Anti-Reflection Coated, small Rectangular Slit, so reacts only when SUN directly points at it. The second 555’s PIN 2 is same way connected to this LDR as was the first 555’s to Horizontal LDR 1. So now that it still not receives sunlight (resistance high, so Vout low) and pin 4 is no more Reset, the second CD 4017 MAKES THE SECOND STEPPER MOTOR 2 Rotate(Coupled so as to only rotate VERTICAL SENSING BLOCK/EYE BLOCK ). This movement continues till the SUN directly points at the EYE of our TRACKER. Then the TRACKER STOPS, pointing very accurately at the SUN.FIG 2 and FIG 3 follows.
fig 4: Stepper motor control board
In figure 4 I have only shown the Horizontal Motor Control Circuit. The Vertical One uses a similar Decade Counter, NPN Transistors, Diodes(to encounter BACK EMF of Power Transistors due to Fast Switching). I chose for a Step Angle of 2 Degrees for the Unipolar Steppers. They are driven in a Normal 4 Step Sequence, first coil A is energised simultaneously with coil B ,then coil C with coil D. Thus the Motors rotate by 2 degrees each time. The Charging Interval(how long pin 3 of 555’s remains high) is almost in synchronism with the steps/second speed of the motors(here 600 steps/sec.), to avoid FALSE TRIGGERING. NOTE:
- For 555 in MONOSTABLE MODE, T=1.1*R*C.
- For the FRESNEL LENS ARRAY , the standard FL 40(Focal Length=0.4 inches) Or FL 65(Focal Length=0.65 inches) FRESNEL LENSES could be used (with the Grooves facing the LDRs).
- For the ANTI-REFLECTION COATING, MULTI-LAYER COATING could be used to minimize loss due to REFLECTION. By using alternating layers of a Low-Index material like SILICA and a Higher-Index material, it is possible to obtain Reflectivities as low as 0.1% at Single Wavelength
Embedded Projects list
1.Biometric authentication using VAS
2.Autonomous Directional Rotary Artificial Intelligent system
3.Autonomous Parallel Parking RC Car
4.GPS GSM based Vehicle tracking system
5.CARACA
6.The design and implementation of an autonomous campus patrol robot
7.Design and Implementation of Internet Based Healthcare Robot System
8.Remote-controlled Home Robot Server with Zigbee Sensor Network
9.Implementation of an Automatic Fingerprint Identification System
10.Development of Zigbee based Street Light Control System
11.Speech Recognition Board and Microphone
12.Secure and Fast Fingerprint Authentication on Smart Card
13.Fingerprint Matching: Data Acquisition and Performance Evaluation
14.Firebot: Design of an Autonomous Fire Fighting Robot
15.Parking Space Inventory control: An Artificial Intelligence Approach
16.Easy move Wireless Accelerometer
17.File transfer using Bluetooth
18.Travel time prediction under heterogeneous traffic conditions using global
19.positioning system data from buses
20.The integrated unit for MEMS based Pressure measurement
21.Environmental identification based on changes in sensory information
22.Research on Embedded Data Display unit based on CAN Bus
23.RFID based People Management System
24.Sensor Networks for Industrial Applications
25.Sensor Networks for Industrial Applications
26.Sensor Networks for Industrial Applications
27.A Low Cost GSM/GPRS based Wireless Home Security System
28.An integrated Zigbee automation system
29.A Low-Cost Intelligent Gas Sensing Device for Military Applications
30.A wireless escape system for industrial accidents using Xbee
31.A wireless escape system for industrial accidents using
32.Electronic Medical Record for Effective Patient Monitoring Database
33.Efficient Cost-Based Tracking of Scheduled Vehicle Journeys
34.Driving Guidance System Based on Wireless Sensor Network
35.Fingerprint Authentication System using a Low-Priced Webcam
36.Forest Fire Detection System based on a Zigbee Wireless Sensor Network
37.GSM based Secured ATM Banking
38.GSM-based Notification Speed Detection for Monitoring Purpose
39.Implementation Of a CAN-Based Multi Controller Digital Driving System for a Vehicle
40.Implementation of Obstacle Avoidance and ZigBee Control Functions for Omni Directional Mobile Robot
41.Indoor Autonomous Navigation of Blind Persons
42.Measuring and Transmitting Vital Body Signs using MEMS Sensor
43.Theft Detection using GSM & GPS Technology
Elderly People Monitoring
44.Networked Wireless Meter Reading System based on Zigbee Technology
45.Patient Monitoring using GSM & Zigbee for Hospitals & Old age Homes
46.Real-Time, Automatic Animal Tracking
47.Bluetooth communication system for control of a mobile robot
48.Remote Controlling of Home Appliances using Mobile Telephony
49.RFID application strategy and Deployment in Bike Renting system
50.Secured room accessing system(Server unlocking concept)
51.BI directional visitor counter
52.Smart card based parking accessing system
53.Mobile phone operated Wireless Rover
54.ELECTRODERMAL ACTIVITY METER
55.Fingerprint authentication door accessing system
56.Foot Acceleration Sensor(FAS)
57.GREENBEE
58.HARDWARE MANAGER
59.HYDRATION LEVEL PROMPTER
60.INDUSTRIAL DISASTER MANGEMENT USING XBEE PROTOCOL
61.Intelligent Metro Train Engines
62.Artificially intelligent Ambulance System
63.INTELLIGENT WIRELESS PEDOMETER
64.ITEM MANAGER
65.LEGO VEHICLE
66.Line Following Van
67.On Board Diagnostics reader
68.Patient Compliance
69.Robodog
70.Robotic Car Traction Control
71.Shark Tag Microcontroller Platform
72.Solar Tracker
73.SOUND GENERATOR MODULE FOR AUTOMOBILE
74.MP3 player
75.SWINGBOT
76.Automated pet feeder
77.Temperature and Pressure Control
78.The Audio Homing Robot
79.The Autonomous Tennis Ball picker
80.Ultrasonic Haptic Vision System
81.Vehicle Monitoring and Security System
82.Whack-A-Cap
83.Wiimote crane
84.WIRELESS ELECTRONIC VOTING MACHINE
85.Xbee based baby monitoring system
86.Cooler-bot
87.Handheld Ultrasonic Rangefinder
88.The Intellibot
89.Accelerometer Controlled RC car
90.DDS
91.Digital Receipts System
92.INDUSTRIAL DISASTER MANGEMENT USING XBEE
93.AUTO SPEED CONTROLLED ROBOTIC VEHICLE
94.Home Security System
95.IR Based Distance Finder
96.Ultrasonic distance monitoring system
97.Multichannel IR control
98.Rover Wireless
99.Car parking management system
100.Ultrasonic Movement Detector
101.Wireless Home Automation
102.Fastest Finger First with Quiz management System
103.Wireless Door Lock
104.AVR Based Path Finder
105.Mazobot
106.Heartbeat Monitor
107.AVR based water level indicator with auto control of motors
108.CAN (Controller Area Network)
109.Help Quit Watch
110.Hand held ultrasonic range finder
111.Hydration level Prompter
112.I2C Driver Code
113.Data acquisition system
114.Data logger using AVR
115.Cooler-Bot
116.Intellibot
117.Green buds Agro farm lighting system
118.Digital Receipts system
119.Ultra sonic haptic vision
120.Porche 911 RC car
121.Robotic car traction control
122.Solar Tracker
123.Intelligent wireless Pedometer
124.Mini Area Network
125.The Audio Homing Robot
126.Autonomous Tennis ball picker
127.Whack a cap
128.Vehicle Monitoring and Security
129.GPS and GSM based Baby monitoring System
130.Blind Safety guard system
131.Accelerometer based auto gear shifting system
132.Speed limiter and auto breaking system for automobiles
133.Frequency meter
134.Wireless Door Locking system
135.Automatic Flushing system
136.Tachometer
137.Auto Fish food feeder
138.Noise pollution monitoring System
139.Conductivity meter
140.PH meter
141.Carbon dioxide detector
142.Automatic Railway Gate Control and track switching
143.AVR based pressure guage
144.Gas leakage monitoring system with GSM
145.Hygrometer/Humidity sensor
146.Voice activated electronic device System
147.Paintball Timer
148.Blue tooth Accelerometer
149.Intelligent Ambulance which control the traffic light
150.AVR based tachometer for automobiles with controlling
151.Multilevel car parking system
152.Xbee based wireless home automation
153.Machine control using GSM
154.AVR based path finder
155.Data Logger using ARM
156.Auto bar Xbee
157.Acceleration logger
158.Accuplus oven controller
159.Cam controller
160.Bootloader
161.Ipod remote control
162.Machine control using GSM
163.NGM
164.RF ID TX RX
165.Temperature regulator
166.Text message display
167.UPS controller
168.Vibration sensor
169.Wireless temperature sensor using Xbee protocol
170.Prepaid Car Parking System
171.A Novel Vehicle Safety Model: Vehicle Speed Controller under Driver Fatigue
172.Bus Detection Device for the Blind using Xbee Application
173.Car Park System: A Review of Smart Parking System and its Technology
174.Research of Traffic Signal Light Intelligent Control System
175.Boarding School Students Monitoring Systems
176.Intelligent Transportation System
177.Multisensor Strategies to Assist Blind People: A Clear-Path Indicator
178.A single-camera feature-based vision system for autonomous animal capturing
179.A Smart Car Control Model for Brake Comfort Based on Car Following
180.Intelligent Fire Detector with GSM
181.Design & Development of a GSM Based Vehicle Theft Control System
182.Design and Assessment of an Online Passenger Information System for Integrated
183.Multimodal Trip Planning
184.Design and Implementation of Real Time Vehicle Tracking System
185.Application of Zigbee for Pollution Monitoring Caused by Automobile Exhaust Gases
186.A Path Following Control of an Unmanned Autonomous Forklift
187.A multi-robot coordination system based on Xbee technology
188.An Internet-Based Interactive Embedded Data-Acquisition System for Real-Time
189.Applications
190.Bluetooth Data Acquisition System
191.Cost Effective GPS-GPRS based Object Tracking System
192.Design and Realization of Wireless Sensor Network Gateway Based on ZigBee and
193.GPRS
194.Wireless communications in networked robotics
195.Vehicle Number Tracking and Traffic Monitoring
196.Robust and Efficient Password-Authenticated Key Agreement using Smart Cards
197.Transport Security using GPS and GSM technology
198.Walking Hexapod Robot in Disaster Recovery
199.Web based Personal Health Systems
200.Wireless Healthcare Monitoring System for Home
201.Zigbee for Intelligent Transport system applications
202.Zigbee Wireless Vehicular Identification and Authentication System
203.Zigbee-based Alarm System
204.An Infant Monitoring System
205.Develop a Multiple Interface Based Fire Fighting Robot
206.Development of Autonomous Robotic Wheelchair Controller Using Embedded
207.Using AC Motors in Robotics
208.The design and implementation of an autonomous campus patrol robot
209.Design and Implementation of Internet Based Healthcare Robot System
210.Remote-controlled Home Robot Server with Zigbee Sensor Network
211.Implementation of an Automatic Fingerprint Identification System
212.Development of Zigbee based Street Light Control System
213.Speech Recognition Board and Microphone
214.Secure and Fast Fingerprint Authentication on Smart Card
215.Fingerprint Matching: Data Acquisition and Performance Evaluation
216.Firebot: Design of an Autonomous Fire Fighting Robot
217.Parking Space Inventory control: An Artificial Intelligence Approach
218.Self-Trained Automated Parking System
2.Autonomous Directional Rotary Artificial Intelligent system
3.Autonomous Parallel Parking RC Car
4.GPS GSM based Vehicle tracking system
5.CARACA
6.The design and implementation of an autonomous campus patrol robot
7.Design and Implementation of Internet Based Healthcare Robot System
8.Remote-controlled Home Robot Server with Zigbee Sensor Network
9.Implementation of an Automatic Fingerprint Identification System
10.Development of Zigbee based Street Light Control System
11.Speech Recognition Board and Microphone
12.Secure and Fast Fingerprint Authentication on Smart Card
13.Fingerprint Matching: Data Acquisition and Performance Evaluation
14.Firebot: Design of an Autonomous Fire Fighting Robot
15.Parking Space Inventory control: An Artificial Intelligence Approach
16.Easy move Wireless Accelerometer
17.File transfer using Bluetooth
18.Travel time prediction under heterogeneous traffic conditions using global
19.positioning system data from buses
20.The integrated unit for MEMS based Pressure measurement
21.Environmental identification based on changes in sensory information
22.Research on Embedded Data Display unit based on CAN Bus
23.RFID based People Management System
24.Sensor Networks for Industrial Applications
25.Sensor Networks for Industrial Applications
26.Sensor Networks for Industrial Applications
27.A Low Cost GSM/GPRS based Wireless Home Security System
28.An integrated Zigbee automation system
29.A Low-Cost Intelligent Gas Sensing Device for Military Applications
30.A wireless escape system for industrial accidents using Xbee
31.A wireless escape system for industrial accidents using
32.Electronic Medical Record for Effective Patient Monitoring Database
33.Efficient Cost-Based Tracking of Scheduled Vehicle Journeys
34.Driving Guidance System Based on Wireless Sensor Network
35.Fingerprint Authentication System using a Low-Priced Webcam
36.Forest Fire Detection System based on a Zigbee Wireless Sensor Network
37.GSM based Secured ATM Banking
38.GSM-based Notification Speed Detection for Monitoring Purpose
39.Implementation Of a CAN-Based Multi Controller Digital Driving System for a Vehicle
40.Implementation of Obstacle Avoidance and ZigBee Control Functions for Omni Directional Mobile Robot
41.Indoor Autonomous Navigation of Blind Persons
42.Measuring and Transmitting Vital Body Signs using MEMS Sensor
43.Theft Detection using GSM & GPS Technology
Elderly People Monitoring
44.Networked Wireless Meter Reading System based on Zigbee Technology
45.Patient Monitoring using GSM & Zigbee for Hospitals & Old age Homes
46.Real-Time, Automatic Animal Tracking
47.Bluetooth communication system for control of a mobile robot
48.Remote Controlling of Home Appliances using Mobile Telephony
49.RFID application strategy and Deployment in Bike Renting system
50.Secured room accessing system(Server unlocking concept)
51.BI directional visitor counter
52.Smart card based parking accessing system
53.Mobile phone operated Wireless Rover
54.ELECTRODERMAL ACTIVITY METER
55.Fingerprint authentication door accessing system
56.Foot Acceleration Sensor(FAS)
57.GREENBEE
58.HARDWARE MANAGER
59.HYDRATION LEVEL PROMPTER
60.INDUSTRIAL DISASTER MANGEMENT USING XBEE PROTOCOL
61.Intelligent Metro Train Engines
62.Artificially intelligent Ambulance System
63.INTELLIGENT WIRELESS PEDOMETER
64.ITEM MANAGER
65.LEGO VEHICLE
66.Line Following Van
67.On Board Diagnostics reader
68.Patient Compliance
69.Robodog
70.Robotic Car Traction Control
71.Shark Tag Microcontroller Platform
72.Solar Tracker
73.SOUND GENERATOR MODULE FOR AUTOMOBILE
74.MP3 player
75.SWINGBOT
76.Automated pet feeder
77.Temperature and Pressure Control
78.The Audio Homing Robot
79.The Autonomous Tennis Ball picker
80.Ultrasonic Haptic Vision System
81.Vehicle Monitoring and Security System
82.Whack-A-Cap
83.Wiimote crane
84.WIRELESS ELECTRONIC VOTING MACHINE
85.Xbee based baby monitoring system
86.Cooler-bot
87.Handheld Ultrasonic Rangefinder
88.The Intellibot
89.Accelerometer Controlled RC car
90.DDS
91.Digital Receipts System
92.INDUSTRIAL DISASTER MANGEMENT USING XBEE
93.AUTO SPEED CONTROLLED ROBOTIC VEHICLE
94.Home Security System
95.IR Based Distance Finder
96.Ultrasonic distance monitoring system
97.Multichannel IR control
98.Rover Wireless
99.Car parking management system
100.Ultrasonic Movement Detector
101.Wireless Home Automation
102.Fastest Finger First with Quiz management System
103.Wireless Door Lock
104.AVR Based Path Finder
105.Mazobot
106.Heartbeat Monitor
107.AVR based water level indicator with auto control of motors
108.CAN (Controller Area Network)
109.Help Quit Watch
110.Hand held ultrasonic range finder
111.Hydration level Prompter
112.I2C Driver Code
113.Data acquisition system
114.Data logger using AVR
115.Cooler-Bot
116.Intellibot
117.Green buds Agro farm lighting system
118.Digital Receipts system
119.Ultra sonic haptic vision
120.Porche 911 RC car
121.Robotic car traction control
122.Solar Tracker
123.Intelligent wireless Pedometer
124.Mini Area Network
125.The Audio Homing Robot
126.Autonomous Tennis ball picker
127.Whack a cap
128.Vehicle Monitoring and Security
129.GPS and GSM based Baby monitoring System
130.Blind Safety guard system
131.Accelerometer based auto gear shifting system
132.Speed limiter and auto breaking system for automobiles
133.Frequency meter
134.Wireless Door Locking system
135.Automatic Flushing system
136.Tachometer
137.Auto Fish food feeder
138.Noise pollution monitoring System
139.Conductivity meter
140.PH meter
141.Carbon dioxide detector
142.Automatic Railway Gate Control and track switching
143.AVR based pressure guage
144.Gas leakage monitoring system with GSM
145.Hygrometer/Humidity sensor
146.Voice activated electronic device System
147.Paintball Timer
148.Blue tooth Accelerometer
149.Intelligent Ambulance which control the traffic light
150.AVR based tachometer for automobiles with controlling
151.Multilevel car parking system
152.Xbee based wireless home automation
153.Machine control using GSM
154.AVR based path finder
155.Data Logger using ARM
156.Auto bar Xbee
157.Acceleration logger
158.Accuplus oven controller
159.Cam controller
160.Bootloader
161.Ipod remote control
162.Machine control using GSM
163.NGM
164.RF ID TX RX
165.Temperature regulator
166.Text message display
167.UPS controller
168.Vibration sensor
169.Wireless temperature sensor using Xbee protocol
170.Prepaid Car Parking System
171.A Novel Vehicle Safety Model: Vehicle Speed Controller under Driver Fatigue
172.Bus Detection Device for the Blind using Xbee Application
173.Car Park System: A Review of Smart Parking System and its Technology
174.Research of Traffic Signal Light Intelligent Control System
175.Boarding School Students Monitoring Systems
176.Intelligent Transportation System
177.Multisensor Strategies to Assist Blind People: A Clear-Path Indicator
178.A single-camera feature-based vision system for autonomous animal capturing
179.A Smart Car Control Model for Brake Comfort Based on Car Following
180.Intelligent Fire Detector with GSM
181.Design & Development of a GSM Based Vehicle Theft Control System
182.Design and Assessment of an Online Passenger Information System for Integrated
183.Multimodal Trip Planning
184.Design and Implementation of Real Time Vehicle Tracking System
185.Application of Zigbee for Pollution Monitoring Caused by Automobile Exhaust Gases
186.A Path Following Control of an Unmanned Autonomous Forklift
187.A multi-robot coordination system based on Xbee technology
188.An Internet-Based Interactive Embedded Data-Acquisition System for Real-Time
189.Applications
190.Bluetooth Data Acquisition System
191.Cost Effective GPS-GPRS based Object Tracking System
192.Design and Realization of Wireless Sensor Network Gateway Based on ZigBee and
193.GPRS
194.Wireless communications in networked robotics
195.Vehicle Number Tracking and Traffic Monitoring
196.Robust and Efficient Password-Authenticated Key Agreement using Smart Cards
197.Transport Security using GPS and GSM technology
198.Walking Hexapod Robot in Disaster Recovery
199.Web based Personal Health Systems
200.Wireless Healthcare Monitoring System for Home
201.Zigbee for Intelligent Transport system applications
202.Zigbee Wireless Vehicular Identification and Authentication System
203.Zigbee-based Alarm System
204.An Infant Monitoring System
205.Develop a Multiple Interface Based Fire Fighting Robot
206.Development of Autonomous Robotic Wheelchair Controller Using Embedded
207.Using AC Motors in Robotics
208.The design and implementation of an autonomous campus patrol robot
209.Design and Implementation of Internet Based Healthcare Robot System
210.Remote-controlled Home Robot Server with Zigbee Sensor Network
211.Implementation of an Automatic Fingerprint Identification System
212.Development of Zigbee based Street Light Control System
213.Speech Recognition Board and Microphone
214.Secure and Fast Fingerprint Authentication on Smart Card
215.Fingerprint Matching: Data Acquisition and Performance Evaluation
216.Firebot: Design of an Autonomous Fire Fighting Robot
217.Parking Space Inventory control: An Artificial Intelligence Approach
218.Self-Trained Automated Parking System
Saturday, August 21, 2010
8051 Based Electronic Eye
8051 Based Electronic Eye
This project is based on high sensitive IR Transmitter & Receiver having range of more than 15 feet. When you are away for your house any if anyone tries to enter the house by any means the device shouts CHOR-CHOR-CHOR-PAKDO-PAKDO-PAKDO Continuously more than 40 seconds, that is enough to chase the thief, he will run away so your house is protected. The device not only shouts but also dials out previously stored telephone number ( which you have stored) and gives you the message CHOR- CHOR- CHOR. So that you understand that something is wrong at your house, you can immediately call up your neighbor to look after your house.
1. Keep the transmitter & receiver aligned in a straight position facing each other about a distance more than 2 meter but not less than that.
2. Connect the two 1.5v cells inside the bobbin of transmitter module properly.
3. Connect the telephone line to telephone line input of the circuit.
4. Connect the mains cord to 230v AC of your supply & switch on the supply.
5. When you switch on the supply if the circuit initially plays any alarming message only press the reset switch to make the message off.
6. The message will reset only after completing the total message when you have pressed the reset switch SW1.
7. If the message is continuously playing after the reset switch has been pressed means that the transmitter (TX) & receiver (RX) is not properly aligned or it is being obstructed.
8. Switch on the power supply if no message is played first step is to store the telephone number of the concerned person.
9. To store the telephone number press the off hook switch SW2. Dial the telephone number by the keypad.
10. By doing that the green LED on the PCB will be glowing showing that the telephone number has been dialed.
11. Wait for 5 to 6 seconds after dialing out the telephone number then take off the hand from the off hook switch means that your number has been stored.
12. After that obstruct the beam created between infrared receiver (RX) & transmitter (TX) immediately after that you hear the alarming message (chor chor ….) through the speaker.
13. At the same time it will dial out the telephone number which has been stored.
14. You can hear the same alarming message through telephone line for 30 seconds.
15. The message will be stopped for 30 seconds & again after 30 seconds you can hear the same message through telephone line till no one is resetting the circuit.
Sms Controlled Multipurpose Isolated I/O board 8 output / 4 input
Sms Controlled Multipurpose Isolated I/O board 8 output / 4 input
With the advancement in technologies in wireless communication many products are available in the market to make the human life more comfortable. One of my friend asked me to design a project for him .His only requirement was to switch ON/OFF his irrigation pump ,which is two km away from his house. I could not find the radio module which could cover this distance So I decided to design sms controlled project. I used sim300 gsm module which is readily available in the electronic market. His only requirement was to switch ON/OFF single pump, and feedback via sms whether the pump has actually switched ON or not.
I designed a relay circuit using 89c51 microcontroller Which could be switched on by single mis call to the device and can also be switched off by another miscall. It saves my talktime and money. I used to get the sms from the moter starter contactor panel when it actullay becomes on, that gives me confirmation that the motor is on.
Then it gave me a thought to design the present project which could be used in various application areas depends upon the individual requirement in the field of agriculture ,lighting,security,telecommunication,access and safety both industrial,commercial and in residential area.
Designed for control and sensing applications, this project provides 8 relay outputs and 4 optically isolated inputs. It can be used in various applications including load contact closure and external voltage sensing. Connection to the isolated inputs and relay outputs is via “pluggable type” screw terminal blocks The project presented here is based on world’s most powerful intel’s mcs-51 family of microcontroller atmel at89c51.In this project we are using AT 89C2051 microcontroller,since this controller has two ports are more than enough for our project
Application area: the project can be used for various application wherever you require control using pc.
1 hotel power management
2.street light management
3.home automation
4.load shedding
5. High voltage grid control
6. Industrial automation
7.electro,hydrolic and pneumatic valve control
8. Robotic control and many more All the above operation are possile from the any mobile phone by sms
The circuit is connected to gsm modem through rs232 cable to Dshall 9 pin connectror connected on both sides. ic max 232 is a level conver ter ic to convert ttl level data to +12v and –12v level for complete details on this ic, refer to manufacturer’s data sheet
Port 3.0 is rxd pin to receive data serially and port3.1 is to transmit data serially
Circuit is driven by 9v 1 AMP transformer connected to pcon1
Diode d1-d4 forms bridge circuit c1 ,c2,c3 and c4 are filter capacitors
Ic1 7805 is 5v regulator ic to give stablised supply to microcontrollerLD1 LED is a power indication led. Crystal gives the necessary clock to micro-controller.
diodes d1 to d4 are power recifire diodes connected in bridge circuit c1 is a filter capacitor .input to the bridge rectifire is 9v 1 ampere transformer. Out put of the bridge rectifire and capacitor is 12v dc. All our relays are operated by 12v dc. Relay output can be connected to any 250v 7 ampere load.please donot cross this limit other wise you will damage the relay circuit.
Ic2 is atmel at 89c2051 microcontroller. It has two ports port1 pin number 12 to 19 and port 3 pin number 2,3,6,7,8,9 and 11. This controller has inbuilt uart(universal synchronous,asynchronous receiver transmitter, and pin no 2 is rx pin and pin number 3 is tx pin of the uart. Through these two pins micro-controller is able to communicate with the ibm pc comport. Communication boud rate is 9600 bits per second.
Port 1 controlls all our relays.out put of this port is pulled high through pullup resistors
sil arrays(single in line resistor array) hense the outout of pin no 12 to 19 are by default high( at 5v logic) ALL relays stays off on power up. All the relay driver circuits are similar I will explain one of then here .
Q1 to q16 all are npn general purpose transisters. Npn transister will become on when base is high. If you refer circuit diagram q1 base is driven by r3 connected to pin no 12 of the ic2 as this pin is at logic high , q1 is on(conducting) and it’s collector remains at low logic(transister acts as switch,very low resistance between emitter and collector),resulting base of the transister is low and transister q2 is in off state(non-conducting). To switch on Q2, we have to switch off q1. To switch off the q1 the program inside the micro-controller must bring the logic at pin number 12 to low logic. q1 will become off and q2 base will get high logic through r4 and will become ON. relay coil of rl1 will get energised as the current will pass through coil , q2 transister collector and emitter to ground. Normally open contact will close the connection. Load should be connected to the out put of the contacts on CON1.diode d5 connected across the relay coil is to proctect the circuit from the induced emf generated by the relay coil during on/off operation.ld2 ic relay ON indication led r5 is a voltage dropping resistor.
All the relay circuit works in the same manner.
Ic3 max 232 ic is a level converter ic. IBM pc com port is designed for telephone network which works on 12v dc where as our controller logic is at 5v we need to convert this data to +12 &-12 logic before it is sent to pc this ic has transreceiver level converter. Transmitter
part convert the TTL logic to com port logic and receiver part convert the signals coming from pc to TTL level before it is given to micro-controller.
All the components connected around this ic is as per the application notes given in the datasheet by the manufacturer..
Capacitor c5 and r1 gives the required reset pulse to microcontroller.Crystal x1 along with capacitor c6 and c7 gives the required clock pulse to microcontroller.
Resistances connected to indication leds are current limiting resistors.
Four isolated inputs are connected through opto couplers ic4 to ic7. output of the opto-coupter are connected to p3.2,p3.3,p3.4 and p3.7 respectively. In1 to in4 are connected to the normally open contact of the device(sensor controller) you want to monitor . when ever contact is made led inside the opto coupler will glow and collector inside will pull the microcontroller pin to logic low, this is the active state of the device. You can test this by shorting in1 to in4 pins by a piece of wire and give command from your computer you will get the proper response as mentioned in the command section.
OPERATION
To switch on devices, You can send sms to the device as ON1,ON2,ON3 and so on .T0 switch off devices send sms as OFF1,OFF2,OFF3 and so on . to get the response from the actuating device if connected to the input terminals you will receive sms on your mobile phone like ‘device1 is on’ or ‘device2 is off ’ etc.
Commnication between SIM300 modem and microcontroller takes place via serial port Using Sim300 AT command set. Which can be downloaded from the official SIMCOM site.
Some are given here ,can be tried on pc using hyperterminal.
SIM300 AT Command Set
SMS commands
Demonstration Syntax Expect Result
Set SMS system into text mode, as
opposed to PDU mode.
AT+CMGF=1 OK
Send an SMS to myself.
AT+CMGS=”+861391
818xxxx”
>This is a test
+CMGS:34
OK
Unsolicited notification of the SMS
arriving
+CMTI:”SM”,1
Read SMS message that has just arrived.
Note: the number should be the same as
that given in the +CMTI notification.
AT+CMGR=1 +CMGR: “REC UNREAD”,
“+8613918186089”, ,”02
/01/30,20:40:31+00”
This is a test
OK
Reading the message again changes the
status to “READ” from ”UNREAD”
AT+CMGR=1 +CMGR: “REC READ”,
“+8613918186089”, ,
“02/01/30,20:40:31+00”
This is a test
OK
Send another SMS to myself. AT+CMGS=”+861391
818xxxx”
>Test again
+CMGS:35
OK
Unsolicited notification of the SMS
arriving
+CMTI:”SM”,2
Listing all SMS messages.
Note:”ALL” must be in uppercase.
AT+CMGL=”ALL” +CMGL: 1,”REC
READ”,”+8613918186089”,
, “02/01/30,20:40:31+00”
This is a test
+CMGL: 2,”REC
UNREAD”,” ”,”+861391818
6089”,
, “02/01/30,20:45:12+00”
Test again
OK
Delete an SMS message. AT+CMGD=1 OK
List all SMS messages to show message
has been deleted.
AT+CMGL=”ALL” +CMGL: 2,”REC READ”,
“+8613918186
089”,”02/01/30,20:45:12+00
”
Test again
OK
LED clock
LED clock
The LED clock consists of 60 LEDs which are placed circular around a common analog clock. The LEDs are used to display the seconds. Essential part of this circuit is the LED driver MAX7219 from Maxim. A datasheet is available on Maxim's homepage. The clock is controlled by the microcontroller AT89C2051 from Atmel. This microcontroller is clocked at a frequency of 12 MHz from which results a time base of 1 microsecond. Via software dividers one clock impulse per second is generated which is used for updating the LED display.
Two different display modes can be adjusted by a jumper:
1. The LEDs are switched on one by one every second until all LEDs are on after one minute. After that they are switched off one by one every second. This sequence is repeated.
2. The LEDs are switched on one by one every second until all LEDs are on after one minute. After that it starts from the beginning by switching on the first LED.
1. The LEDs are switched on one by one every second until all LEDs are on after one minute. After that they are switched off one by one every second. This sequence is repeated.
2. The LEDs are switched on one by one every second until all LEDs are on after one minute. After that it starts from the beginning by switching on the first LED.
The schematic and the software can be downloaded here:
Project files for hardware and software in ZIP format:
LED clock V1.0
LED clock V1.0
For the hardware the freeware version of Eagle 3.55 is required. It is available for free from CadSoft.
Schematic in GIF format:
Schematic of LED clock
Programmed microcontroller:Schematic of LED clock
If you are interested in a programmed microcontroller, please send an email including the project name
Control circuit for Nokia TV tuner 5827
Control circuit for Nokia TV tuner 5827
From Pollin Electronic there was a complete TV tuner available (Sonderliste Nr. 1/2000, page 83). The tuner is programmable via I²C-Bus and provides a FBAS signal at its output. There is also the homepage of Georg Acher containing information about this tuner. I have developed a control circuit for this tuner which uses the AT89C2051 from Atmel. Operating is done via three keys: key C/P switches between the program number and the channel number, with keys + and - you can switch up or down. The adjusted channels are stored in an EEPROM. The program or channel number is displayed on a four digit LC- or LED-Display which is controlled via I²C-Bus.
The schematic and the software can be downloaded here:
Project files for hardware and software in ZIP format:
TV-Tuner V1.0
TV-Tuner V1.0
For the hardware the freeware version of Eagle 3.55 is required. It is available for free from CadSoft.
Schematics in GIF format:
Schematic of TV tuner
Schematic of LCD display for TV tuner
Schematic of LED display for TV tuner
Schematic of TV tuner
Schematic of LCD display for TV tuner
Schematic of LED display for TV tuner
Programmed microcontroller:
If you are interested in a programmed microcontroller, please send an email including the project name.
If you are interested in a programmed microcontroller, please send an email including the project name.
LED moving
LED moving font
The LED moving font is built up of separate modules consisting of 64 LEDs each (8x8 matrix). The modules can be cascaced according to the desired size of the font. Each module is controlled by the LED display driver MAX7219 (or MAX7221) which can drive 64 LEDs. The display data is transferred serially to this display driver via the pins DIN, CLK and LOAD. The pin DOUT can be connected to the input DIN of the following display driver, all CLK and all LOAD pins are connected together. The datasheet is available on Maxim's homepage.
The modules are controlled by an 8051-compatible microcontroller AT89C51 (LED moving font controller variant 1) or AT89C2051 (LED moving font controller variant 2) from Atmel which provide 4 kB or 2kB flash memory on-chip. The LED display driver MAX 7219 CNG is available from Reichelt or Segor, a free sample can be ordered on the homepage of Maxim. The LED display driver is mounted together with a LED module (8x8 matrix) on the LED module PCB.
The display text is stored in a EEPROM. The text can be downloaded via a serial RS232 connection from a PC. From the PC a text file containing the text is sent. The baudrate can also be set to 600 Baud (via additional jumper), because some PCs have problems with hardware handshaking, which would be necessary at 1200 or 9600 Baud download speed. Dependent on the storage size of the EEPROM up to 2045 characters can be stored. It is also possible to store the text in the flash ROM of the microcontroller. But then it is necessary to reassemble the program code if the text is changed and to reprogram the flash ROM. If an EEPROM is used, changes of the text can be done easily via serial downloading. A maximum of 11 LED modules (each module consisting of 8x8 LEDs) can be used. The moving font is already working with 1 module.
Adjusting moving speed: in EEPROM-Mode, 255 speed values can be set. The selected value can be transmitted via serial interface and will be stored in a byte in EEPROM.
Adjusting moving speed: in EEPROM-Mode, 255 speed values can be set. The selected value can be transmitted via serial interface and will be stored in a byte in EEPROM.
The schematic and the software can be downloaded here:
Project files for hardware and software in ZIP format:
LED moving font V2.3
LED moving font V2.3
For the hardware the freeware version of Eagle 3.55 is required. It is available for free from CadSoft.
Schematic and component placement in GIF format:
LED moving font controller variant 1 (for AT89C51):
Schematic of LED moving font controller variant 1
Component placement of LED moving font controller variant 1
LED moving font controller variant 2(for AT89C2051):
Schematic of LED moving font controller variant 2
Component placement of LED moving font controller variant 2
LED module:
Schematic LED module
Component placement of LED module
LED moving font controller variant 1 (for AT89C51):
Schematic of LED moving font controller variant 1
Component placement of LED moving font controller variant 1
LED moving font controller variant 2(for AT89C2051):
Schematic of LED moving font controller variant 2
Component placement of LED moving font controller variant 2
LED module:
Schematic LED module
Component placement of LED module
Printed circuit board:
There are professionally manufactured unpopulated printed circuit boards available for this project, named:
MAT_CON1.BRD (LED moving font controller variant 1 for AT89C51)
MAT_CON2.BRD (LED moving font controller variant 2 for AT89C2051)
LEDMODUL.BRD (PCB for 1 LED module TC23-11EWA)
More information is available here: Printed circuit boards for WOE projects
There are professionally manufactured unpopulated printed circuit boards available for this project, named:
MAT_CON1.BRD (LED moving font controller variant 1 for AT89C51)
MAT_CON2.BRD (LED moving font controller variant 2 for AT89C2051)
LEDMODUL.BRD (PCB for 1 LED module TC23-11EWA)
More information is available here: Printed circuit boards for WOE projects
Programmed microcontroller:
If you are interested in a programmed microcontroller, please send an email including the project name.
If you are interested in a programmed microcontroller, please send an email including the project name.
Did you like this project?
So feel free to support WOE with a small donation. You will support the development of further free projects on this site. Thank you.
So feel free to support WOE with a small donation. You will support the development of further free projects on this site. Thank you.
Suitable 8x8 LED dot matrix displays for the LED moving font:
For each LED module a 8x8 LED dot matrix display is required with common cathode columns and common anode rows. You can build the dot matrix displays with seperate LEDs on a universal PCB or you can use 8x8 LED dot matrix panels. A suitable type is the display TC23-11EWA manufactured by Kingbright, a suitable unpopulated PCB is available, look ahead. The color of this LED dot matrix display is red, but it is also available in different colors.
For each LED module a 8x8 LED dot matrix display is required with common cathode columns and common anode rows. You can build the dot matrix displays with seperate LEDs on a universal PCB or you can use 8x8 LED dot matrix panels. A suitable type is the display TC23-11EWA manufactured by Kingbright, a suitable unpopulated PCB is available, look ahead. The color of this LED dot matrix display is red, but it is also available in different colors.
Sources of supply for 8x8 LED dot matrix displays TC23-11EWA:
8x8 LED dot matrix displays TC23-11EWA (Manufacturer: Kingbright, color: red, technical data) are available via the distributors of Kingbright, e.g. menges electronic.
8x8 LED dot matrix displays TC23-11EWA (Manufacturer: Kingbright, color: red, technical data) are available via the distributors of Kingbright, e.g. menges electronic.
Tuesday, August 17, 2010
Saturday, August 14, 2010
8051 serial port
The only one communication hardware present in atmel 89S52 version of 8051 microcontroller is the serial port. The serial port or UART transfers data bit by bit. In mode 1, 8 bits can be sent with one start and stop bit in a frame.
Communicating with the PC:
We can communicate with PC by using the serial port available in 8051. In order to communicate with the PC, we need a level converter because the serial port of the pc uses RS232 voltage levels which is much higher voltage than the TTL logic used by the microcontroller (+12v for logic 0 and -12v for logic 1). A dedicated IC from MAXIM i.e. Max232 is readily available in the market. It converts the TTL signals from the microcontroller to RS232 level and the other way round. Max232 contains 2 channels, works with single 5V supply and uses the principle of charge pump to convert the voltage levels.
The schematic :
Configuring HyperTerminal:
HyperTerminal is the tool usually used to test and communicate with the PC’s serial port. To set up HyperTerminal follow the steps given below.
1. Open HyperTerminal.
Start > All programs > Accessories > Communications > Hyper Terminal
2.Specify a name for the connection
Click OK
3.Configure the connection parameters
Select the port of your PC i.e.COM1, COM2 etc., click OK
Set baud rate as required, and change Flow control to none
The connected in the bottom shows the status of the connection.
Now your HyperTerminal is ready to communicate. You can disconnect or connect the connection by clicking on the icons shown in the image.
HyperTerminal displays only the character or data received, not the one you typed to send.
Testing the Level converter:
You are ready with level converter hardware and HyperTerminal, now its time for testing your level converter hardware. For testing purpose, just interconnect the Tx and Rx pins of the level converter, and type something in the HyperTerminal, you will see the echo.
Programming the 8051:
8051 USART uses dedicated buffer register SBUF, the mode and other settings of the serial port such as number of stop bits etc. is determined by the contents of SCON register. Timer 1 should be initialized to 8-bit auto reload, and its content determines the Baud rate of the 8051 serial port. Read datasheet to know more about different modes of UART.
Connecting the Microcontroller:
Connect the Tx and Rx pins of the 8051 (pin no. 10 and 11 i.e. P3.0 and P3.1 in 89S52)microcontroller to the level converter. Provide power for the 8051 microcontroller target board.
;*************************************************
;
;Program: UART_test_1
;Author: Srikanth
;Website: http://shree-electronics.com/
;Description: Prints the next char of the typed
; character on the hyperterminal window
;
;************************************************* org 0000h
ljmp main
main:
mov tmod,#20h ;Timer 1 configured to 8 bit
;auto reload
mov th1,#-6 ;Baud rate set to 9600
mov scon,#50h ;UART configure as 8 data bits
setb tr1 ;with 1 start and stop bit
up:
acall recieve ;First recieve the char typed on
;hyperterminal
cjne a,#’z',next ;If typed char is not Z, then
mov a,#’a'-1 ;send next char of the typed one
next:
inc a
acall transmit
sjmp up ;Loop
transmit: ;Transmit subroutine
mov sbuf,a ;Move the char to be transmitted
;into SBUF reg
jnb ti,$ ;Wait for transmission to be
;complete
clr ti ;clear transmit flag
ret
recieve: ;Recieve subroutine
jnb ri,$ ;wait for a char to be recieved
mov a,sbuf ;save the recieved char
clr ri ;clear recieve flag
ret
end
Communicating with the PC:
We can communicate with PC by using the serial port available in 8051. In order to communicate with the PC, we need a level converter because the serial port of the pc uses RS232 voltage levels which is much higher voltage than the TTL logic used by the microcontroller (+12v for logic 0 and -12v for logic 1). A dedicated IC from MAXIM i.e. Max232 is readily available in the market. It converts the TTL signals from the microcontroller to RS232 level and the other way round. Max232 contains 2 channels, works with single 5V supply and uses the principle of charge pump to convert the voltage levels.
The schematic :
Configuring HyperTerminal:
HyperTerminal is the tool usually used to test and communicate with the PC’s serial port. To set up HyperTerminal follow the steps given below.
1. Open HyperTerminal.
Start > All programs > Accessories > Communications > Hyper Terminal
2.Specify a name for the connection
Click OK
3.Configure the connection parameters
Select the port of your PC i.e.COM1, COM2 etc., click OK
Set baud rate as required, and change Flow control to none
The connected in the bottom shows the status of the connection.
Now your HyperTerminal is ready to communicate. You can disconnect or connect the connection by clicking on the icons shown in the image.
HyperTerminal displays only the character or data received, not the one you typed to send.
Testing the Level converter:
You are ready with level converter hardware and HyperTerminal, now its time for testing your level converter hardware. For testing purpose, just interconnect the Tx and Rx pins of the level converter, and type something in the HyperTerminal, you will see the echo.
Programming the 8051:
8051 USART uses dedicated buffer register SBUF, the mode and other settings of the serial port such as number of stop bits etc. is determined by the contents of SCON register. Timer 1 should be initialized to 8-bit auto reload, and its content determines the Baud rate of the 8051 serial port. Read datasheet to know more about different modes of UART.
Connecting the Microcontroller:
Connect the Tx and Rx pins of the 8051 (pin no. 10 and 11 i.e. P3.0 and P3.1 in 89S52)microcontroller to the level converter. Provide power for the 8051 microcontroller target board.
;*************************************************
;
;Program: UART_test_1
;Author: Srikanth
;Website: http://shree-electronics.com/
;Description: Prints the next char of the typed
; character on the hyperterminal window
;
;************************************************* org 0000h
ljmp main
main:
mov tmod,#20h ;Timer 1 configured to 8 bit
;auto reload
mov th1,#-6 ;Baud rate set to 9600
mov scon,#50h ;UART configure as 8 data bits
setb tr1 ;with 1 start and stop bit
up:
acall recieve ;First recieve the char typed on
;hyperterminal
cjne a,#’z',next ;If typed char is not Z, then
mov a,#’a'-1 ;send next char of the typed one
next:
inc a
acall transmit
sjmp up ;Loop
transmit: ;Transmit subroutine
mov sbuf,a ;Move the char to be transmitted
;into SBUF reg
jnb ti,$ ;Wait for transmission to be
;complete
clr ti ;clear transmit flag
ret
recieve: ;Recieve subroutine
jnb ri,$ ;wait for a char to be recieved
mov a,sbuf ;save the recieved char
clr ri ;clear recieve flag
ret
end
Interfacing Keybord With Microcontroller
Keyboard is a basic and essential element of an embedded or microcontroller system. For small and hobby projects a 4×4 (hex) matrix keyboard is sufficient. The keys in the matrix keyboard are arranged in a matrix arrangement in order to utilize the port pins of the microcontrollers efficiently. Here we can interface 16 keys by using just 8 pins of microcontroller. This is shown in the circuit diagram.
As shown in the circuit diagram, the rows are connected to 4 pins of a port, the columns are connected to other four pins, we configure rows as input and columns as output. By grounding one column and setting high all other columns, now by observing the status of the rows, we can come to know which button is pressed. For example, if we ground the first column and if the first row is low, then the first button is pressed. We know that microcontrollers are really fast, therefore they can detect the key press in microseconds, if we hold the switch for long time (for a microcontroller long time is in milliseconds), the microcontroller is triggered more than once, also there is a problem of switch debounce because of the spring action of the switch. To eliminate these problems we should introduce some amount of delay after every key press. The assembly source code for the circuit is given in the table below.
Circuit diagram for interfacing 4×4 keyboard to 8051(89s52):
My prototype for connecting to the main development board:
The assembly program for interfacing 4×4 keyboard:
;*************************************************
;Program: Blinking LED.
;Author: Srikanth
;Website: http://shree-electronics.com/
;Description: Displays the button pressed on the
;keyboard on a 7 segment display.
;
;keyboard format: 0 1 2 3
; 4 5 6 7
; 8 9 A B
; C D E F
;*************************************************
;Declarations
rw0 equ P2.0;
rw1 equ P2.1;
rw2 equ P2.2;
rw3 equ P2.3;
cl0 equ P2.4;
cl1 equ P2.5;
cl2 equ P2.6;
cl3 equ P2.7;
;*************************************************
;Main program org 00h
ljmp main
org 30h
main: mov P2,#0ffh ;Configure input
acall scan_key ;Scan for keypress
acall display ;display the key pressed
sjmp main ;Loop
;*************************************************
;Subroutine to scan keys
scan_key:mov P2,#0ffh
clr cl0
mov a, P2
anl a,#00001111b
cjne a,#00001111b,Row0
setb cl0
clr cl1
mov a, P2
anl a,#00001111b
cjne a,#00001111b,Row1
setb cl1
clr cl2
mov a, P2
anl a,#00001111b
cjne a,#00001111b,Row2
setb cl2
clr cl3
mov a, P2
anl a,#00001111b
cjne a,#00001111b,Row3
setb cl3
ret
row0: mov dptr,#led_data
mov r6,#04h
clr c
rww0: rrc a
jc next0
sjmp over
next0:inc dptr
djnz r6,rww0
sjmp scan_key
row1: mov dptr,#led_data+4h
mov r6,#04h
clr c
rww1: rrc a
jc next1
sjmp over
next1:inc dptr
djnz r6,rww1
sjmp scan_key
row2: mov dptr,#led_data+8h
mov r6,#04h
clr c
rww2: rrc a
jc next2
sjmp over
next2:inc dptr
djnz r6,rww2
sjmp scan_key
row3: mov dptr,#led_data+0ch
mov r6,#04h
clr c
rww3: rrc a
jc next3
sjmp over
next3:inc dptr
djnz r6,rww3
sjmp scan_key
over: ret
;*************************************************
;Display subroutine
display:clr a
movc a,@a+dptr
mov P0,a
ret
;*************************************************
;lookup table
led_data:db 0fch,066h,0feh,09dh; For row1:0 1 2 3
db 060h,0b6h,0f6h,0fdh; For row2:4 5 6 7
db 0dah,0beh,0efh,09fh; For row3:8 9 A B
db 0f2h,0e0h,0ffh,08fh; For row4:C D E F
;*************************************************
end;
Circuit diagram for interfacing 4×4 keyboard to 8051(89s52):
My prototype for connecting to the main development board:
The assembly program for interfacing 4×4 keyboard:
;*************************************************
;Program: Blinking LED.
;Author: Srikanth
;Website: http://shree-electronics.com/
;Description: Displays the button pressed on the
;keyboard on a 7 segment display.
;
;keyboard format: 0 1 2 3
; 4 5 6 7
; 8 9 A B
; C D E F
;*************************************************
;Declarations
rw0 equ P2.0;
rw1 equ P2.1;
rw2 equ P2.2;
rw3 equ P2.3;
cl0 equ P2.4;
cl1 equ P2.5;
cl2 equ P2.6;
cl3 equ P2.7;
;*************************************************
;Main program org 00h
ljmp main
org 30h
main: mov P2,#0ffh ;Configure input
acall scan_key ;Scan for keypress
acall display ;display the key pressed
sjmp main ;Loop
;*************************************************
;Subroutine to scan keys
scan_key:mov P2,#0ffh
clr cl0
mov a, P2
anl a,#00001111b
cjne a,#00001111b,Row0
setb cl0
clr cl1
mov a, P2
anl a,#00001111b
cjne a,#00001111b,Row1
setb cl1
clr cl2
mov a, P2
anl a,#00001111b
cjne a,#00001111b,Row2
setb cl2
clr cl3
mov a, P2
anl a,#00001111b
cjne a,#00001111b,Row3
setb cl3
ret
row0: mov dptr,#led_data
mov r6,#04h
clr c
rww0: rrc a
jc next0
sjmp over
next0:inc dptr
djnz r6,rww0
sjmp scan_key
row1: mov dptr,#led_data+4h
mov r6,#04h
clr c
rww1: rrc a
jc next1
sjmp over
next1:inc dptr
djnz r6,rww1
sjmp scan_key
row2: mov dptr,#led_data+8h
mov r6,#04h
clr c
rww2: rrc a
jc next2
sjmp over
next2:inc dptr
djnz r6,rww2
sjmp scan_key
row3: mov dptr,#led_data+0ch
mov r6,#04h
clr c
rww3: rrc a
jc next3
sjmp over
next3:inc dptr
djnz r6,rww3
sjmp scan_key
over: ret
;*************************************************
;Display subroutine
display:clr a
movc a,@a+dptr
mov P0,a
ret
;*************************************************
;lookup table
led_data:db 0fch,066h,0feh,09dh; For row1:0 1 2 3
db 060h,0b6h,0f6h,0fdh; For row2:4 5 6 7
db 0dah,0beh,0efh,09fh; For row3:8 9 A B
db 0f2h,0e0h,0ffh,08fh; For row4:C D E F
;*************************************************
end;
Driving multiple 7 segment displays.
In some cases we need more than one 7 segment display, But we will be having limited pins to interface, so we cannot use for example 3X8 port pins for 3 seven segment displays. Therefore the effective approach is multiplexing the displays. This method takes advantage of POV i.e. Persistence Of Vision of a human eye, that means a human eye cannot observe changes that occur rapidly within milliseconds or microseconds. So here is the secret, we will access LED displays one by one so fast that a human eye cannot recognize and it appears like we are driving all the displays simultaneously.
Figure below shows the circuit diagram for driving multiple 7 segment displays. Here all the display inputs are joined together and connected to a single port of the microcontroller, the display access is controlled by the transistors connected to the common anode terminals of the displays.
I have built a quickie circuit with only two displays on a breadboard (same as above circuit, just ignored dis3 and dis4) I have written the program for only two displays, you can easily modify the program for more than two displays.
The assembly language source code for this circuit is given below. The programs is self explanatory. The first program uses polling method therefore it cannot be used in actual projects since all the microcontrollers time is utilized for driving displays, whereas second one uses timer and interrupts, therefore microcontroller can perform the main required program and simultaneously drive the displays.
|
Using timer and interrupts:
;*************************************************
;
;Program: Driving multiple 7 segment
;Author: Srikanth
;Website: http://shree-electronics.com/
;Description: Displays 0-9 in one display
;and 9-0 in another
;
;*************************************************
;declarations
dis1 equ P1.0;
dis2 equ P1.1;
;*************************************************
;Main program
org 00h
ljmp main
org 0bh ; Timer ISR
ljmp disp
org 30h
main:mov P2,#00h
mov tmod,#01h ;Configure timer
mov TH1,#05h
mov TH0,#0ffh
mov IE,#82h ;Enable timer interrupts
setb TR0 ;start timer
up: mov r2,#11111100b ;'0'
mov r3,#11111100b ;'0'
acall delay
mov r2,#01100000b ;'1'
mov r3,#0F6h ;'9'
acall delay
mov r2,#0DAh ;'2'
mov r3,#0FEh ;'8'
acall delay
mov r2,#0F2h ;'3'
mov r3,#0E0h ;'7'
acall delay
mov r2,#066h ;'4'
mov r3,#0BEh ;'6'
acall delay
mov r2,#0B6h ;'5'
mov r3,#0B6h ;'5'
acall delay
mov r2,#0BEh ;'6'
mov r3,#066h ;'4'
acall delay
mov r2,#0E0h ;'7'
mov r3,#0F2h ;'3'
acall delay
mov r2,#0FEh ;'8'
mov r3,#0DAh ;'2'
acall delay
mov r2,#0F6h ;'9'
mov r3,#060h ;'1'
acall delay
sjmp up
;*************************************************
;display subroutine
disp:clr dis1
clr dis2
mov a,r2
cpl a
mov P2,a
setb dis1
mov r4,#0fh
djnz r4,$
clr dis1
mov a,r3
cpl a
mov P2,a
setb dis2
mov r4,#0fh
djnz r4,$
clr dis2
mov TH1,#05h
mov TH0,#0ffh
reti
;*************************************************
;delay subroutine
delay:mov r7,#0ffh
rep:mov r6,#0ffh
rep1:mov r5,#05h
djnz r5,$
djnz r6,rep1
djnz r7,rep
ret
;*************************************************
end
Microcontroller 7 Segment Interfacing
Seven segment display is a basic type of display which can display numbers from 0 to 9. The circuit for interfacing single 7 segment display is shown below.
Driving a 7 segment display is as simple as flashing LEDs, but here we are flashing 7+1 LEDs. The 7 segment display module has 8 LEDs (7 segments to display number and one segment for decimal point or dot) arranged in a particular manner as shown in image below.
By driving (in the sense controlling ON and OFF conditions) these LEDs in various combinations, we can display the numbers 0 to 9. There are basically two types of 7 segment displays, they are common cathode and common anode. In common cathode, the cathodes of all the LED segments are connected together, we should apply a logic 1 or high input to a segment pin to light up that particular segment, and in common cathode the case is opposite. Table below shows the combinations of inputs to be applied to 7 segment display for digits 0 to 9.
For common cathode displays | ||
Digit | binary input value | hexadecimal input value |
0 | 11111100 | FC |
1 | 01100000 | 60 |
2 | 11011010 | DA |
3 | 11110010 | F2 |
4 | 01100110 | 66 |
5 | 10110110 | B6 |
6 | 10111110 | BE |
7 | 11100000 | E0 |
8 | 11111110 | FE |
9 | 11110110 | F6 |
For common anode displays | ||
Digit | binary input value | hexadecimal input value |
0 | 00000011 | 03 |
1 | 10011111 | 9F |
2 | 00100101 | 25 |
3 | 00001101 | 0D |
4 | 10011001 | 99 |
5 | 01001001 | 49 |
6 | 01000001 | 41 |
7 | 00011111 | 1F |
8 | 00000001 | 01 |
9 | 00001001 | 09 |
;*************************************************
;
;Program: Driving seven segment display
;Author: Srikanth
;Website: http://shree-electronics.com/
;Description: Displays numbers 0 to 9 on
;the LED seven segment display continuously
;
;************************************************* ;Declarations
port equ P0
;*************************************************
;Main program
org 0000h
ljmp main
org 30h
main:mov r0,#08h
mov a,#00000001b ;test all segments of disp
up: rr a
mov port,a
acall delay
djnz r0,up
again:mov port,#11111100b ;’0′
acall delay
mov port,#01100000b ;’1′
acall delay
mov port,#11011010b ;’2′
acall delay
mov port,#11110010b ;’3′
acall delay
mov port,#01100110b ;’4′
acall delay
mov port,#10110110b ;’5′
acall delay
mov port,#10111110b ;’6′
acall delay
mov port,#11100000b ;’7′
acall delay
mov port,#11111110b ;’8′
acall delay
mov port,#11110110b ;’9′
acall delay
sjmp again
;*************************************************
delay:mov r2,#0ffh ;delay subroutine
up3: mov r4,#03fh
up2: mov r3,#0fh
up1: djnz r3,up1
djnz r4,up2
djnz r2,up3
ret
;*************************************************
end
Subscribe to:
Posts (Atom)