(→Circuit Schematic) |
(→C Source code) |
||
Line 20: | Line 20: | ||
/* | /* | ||
******************************************************************************* | ******************************************************************************* | ||
− | * | + | * picoBAT : an ultra simple ultrasonic bat detector |
******************************************************************************* | ******************************************************************************* | ||
* | * | ||
− | * Author : Bruno Gavand, | + | * Author : Bruno Gavand, February 2009 |
* see more details on http://www.micro-examples.com/ | * see more details on http://www.micro-examples.com/ | ||
* | * | ||
− | * source code for | + | * source code for mikro C compiler V8.2 |
* feel free to use this code at your own risks | * feel free to use this code at your own risks | ||
* | * | ||
− | * target : PIC12 | + | * target : PIC12 |
* | * | ||
* PIC PIN Assignemnt : | * PIC PIN Assignemnt : | ||
* | * | ||
− | * GP0 | + | * GP0 GP1 : piezo speaker |
− | + | * GP5 : ultrasonic transducer receiver | |
− | + | ||
− | + | ||
− | * | + | |
* | * | ||
******************************************************************************* | ******************************************************************************* | ||
*/ | */ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
void main() | void main() | ||
{ | { | ||
− | |||
− | |||
− | |||
/* | /* | ||
* configure GPIO as digital port | * configure GPIO as digital port | ||
Line 63: | Line 46: | ||
CMCON0 = 7 ; | CMCON0 = 7 ; | ||
ANSEL = 0 ; | ANSEL = 0 ; | ||
+ | |||
TRISIO = 0 ; | TRISIO = 0 ; | ||
− | GPIO = | + | GPIO = 0b01 ; |
− | + | for(;;) | |
− | + | ||
− | + | ||
− | + | ||
{ | { | ||
/* | /* | ||
− | * | + | * toggles speaker outputs |
*/ | */ | ||
− | + | GPIO ^= 0b11 ; | |
− | + | ||
} | } | ||
+ | } | ||
− | + | </pre> | |
− | + | ||
− | + | ||
− | + | ||
− | + | No, there is no mistake, full source code is above ! | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Download project== | ==Download project== | ||
Download picoDetector_project.ZIP file for mikroC : [[File:PicoDetector-project.zip]] | Download picoDetector_project.ZIP file for mikroC : [[File:PicoDetector-project.zip]] |
An ultrasonic bat detector with only 3 components !
Contents |
Let me introduce PicoBat to you with this short video clip :
The idea of this circuit is to hack PIC oscillator circuit, by replacing the crystal by a piezo sensor : the frequency of the oscillator will depend on presence ultrasonic waves.
Oscillator frequency is then divided and pushed to a piezo speaker.
It shares the same idea as PicoDetector, the metal detector.
/* ******************************************************************************* * 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 picoDetector_project.ZIP file for mikroC : File:PicoDetector-project.zip
Includes :