www.micro-examples.com : PicoBat

Views
From www.micro-examples.com
(Difference between revisions)
Jump to: navigation, search
(Created page with "An ultrasonic bat detector with only 3 components !")
 
 
(13 intermediate revisions by one user not shown)
Line 1: Line 1:
An ultrasonic bat detector with only 3 components !
+
[[File:PicoBat.jpg|thumb|PicoBat running on a bread board]]
 +
An ultrasonic [[wikipedia:Bat detector|bat detector]] with only 3 components !
 +
 
 +
==PicoBat : a PIC-based simple and cheap ultrasonic detector==
 +
A short video clip is sometimes better than a long explanation :
 +
{{#ev:youtube|EjEkXlET0CM}}
 +
 
 +
The idea of this circuit is to hack the PIC oscillator circuit, by replacing the crystal by a piezo sensor : the frequency of the oscillator then depends on [[wikipedia:Ultrasound|ultrasounds]].
 +
 
 +
Oscillator frequency is then divided by 4 by the PIC, and pushed into a piezo speaker.
 +
 
 +
It shares the same idea as [[PicoDetector]], the metal detector.
 +
 
 +
==Circuit Schematic==
 +
[[File:PicoBat-circuit-schematic.png]]
 +
* The ultrasonic piezo receiver replaces resistor in PIC oscillator circuit
 +
* SP1 is any piezo speaker you have
 +
 
 +
==C Source code==
 +
<pre>
 +
/*
 +
*******************************************************************************
 +
* picoBAT : an ultra simple ultrasonic bat detector
 +
*******************************************************************************
 +
*
 +
* Author : Bruno Gavand, February 2009
 +
* see more details on http://www.micro-examples.com/
 +
*
 +
* source code for mikro C compiler V8.2
 +
* feel free to use this code at your own risks
 +
*
 +
* target : PIC12
 +
*
 +
* PIC PIN Assignemnt :
 +
*
 +
* GP0 GP1 : piezo speaker
 +
* GP5 : ultrasonic transducer receiver
 +
*
 +
*******************************************************************************
 +
*/
 +
 
 +
void    main()
 +
        {
 +
        /*
 +
        * configure GPIO as digital port
 +
        */
 +
        CMCON0 = 7 ;
 +
        ANSEL = 0 ;
 +
 
 +
        TRISIO = 0 ;
 +
        GPIO = 0b01 ;
 +
 
 +
        for(;;)
 +
                {
 +
                /*
 +
                * toggles speaker outputs
 +
                */
 +
                GPIO ^= 0b11 ;
 +
                }
 +
        }
 +
 
 +
</pre>
 +
 
 +
No, there is no mistake, full source code is above !
 +
 
 +
==Download project==
 +
Download PicoBat-project.zip file for mikroC : [[File:PicoBat-project.zip]]
 +
 
 +
Includes :
 +
 
 +
* [[mikroC PRO]] project files for [[PIC12F683]], should work also with most of PIC
 +
* picoBat C source code
 +
* picoBat .HEX files
 +
[[Category:Projects]]
 +
[[Category:PIC12]]
 +
 
 +
==Discussion and comments==
 +
{{#w4grb_rate:}}
 +
<discussion />

Latest revision as of 21:55, 12 February 2012

PicoBat running on a bread board

An ultrasonic bat detector with only 3 components !

Contents

PicoBat : a PIC-based simple and cheap ultrasonic detector

A short video clip is sometimes better than a long explanation :


The idea of this circuit is to hack the PIC oscillator circuit, by replacing the crystal by a piezo sensor : the frequency of the oscillator then depends on ultrasounds.

Oscillator frequency is then divided by 4 by the PIC, and pushed into a piezo speaker.

It shares the same idea as PicoDetector, the metal detector.

Circuit Schematic

PicoBat-circuit-schematic.png

  • The ultrasonic piezo receiver replaces resistor in PIC oscillator circuit
  • SP1 is any piezo speaker you have

C Source code

/*
 *******************************************************************************
 * picoBAT : an ultra simple ultrasonic bat detector
 *******************************************************************************
 *
 * Author : Bruno Gavand, February 2009
 * see more details on http://www.micro-examples.com/
 *
 * source code for mikro C compiler V8.2
 * feel free to use this code at your own risks
 *
 * target : PIC12
 *
 * PIC PIN Assignemnt :
 *
 * GP0 GP1 : piezo speaker
 * GP5 : ultrasonic transducer receiver
 *
 *******************************************************************************
 */

void    main()
        {
        /*
         * configure GPIO as digital port
         */
        CMCON0 = 7 ;
        ANSEL = 0 ;

        TRISIO = 0 ;
        GPIO = 0b01 ;

        for(;;)
                {
                /*
                 * toggles speaker outputs
                 */
                GPIO ^= 0b11 ;
                }
        }

No, there is no mistake, full source code is above !

Download project

Download PicoBat-project.zip file for mikroC : File:PicoBat-project.zip

Includes :

  • mikroC PRO project files for PIC12F683, should work also with most of PIC
  • picoBat C source code
  • picoBat .HEX files

Discussion and comments

Current user rating: 75/100 (60 votes)

 You need to enable JavaScript to vote

You need JavaScript enabled for viewing comments

Navigation
Others
Donation
You can help :
with Paypal
Share
Personal tools
www.micro-examples.com Electronic circuits with micro-controllers, projects with source code examples