FREQUENCY COUNTER PIC16F628 FOR ANDROID
The PIC transmit the frequency in 5 bytes to the USB-UART adaptor, the Android device is connected to the USB-UART via OTG cable or adaptor.
The PIC16F628A generates an accurate 1 second time base for the
counter by timer1 and CCP. The counter measure the frequency for 0.1sec first, if the frequency is greater than 2MHz TMR0 prescaler divides by 4 to increase the input
frequency range to 20MHz with resolution of 4Hz, if the frequency below 2MHz TMR0 is set for no prescaling and the measurment is with resolution of 1Hz.
The app is in free program Basic for Android (B4A) https://www.b4x.com/.
OTG (On The Go) is the
cable that is used to connect USB devices (other than charger or PC)
to phones or tablets.
The app is an APK file, transfer to the
Android device and opening the file gives an option to install it.
The code is provided if you wish to modify the app, it is in a B4A
free program for PC.
USB-UART can be bought from eBay: https://www.ebay.co.uk/sch/i.html?_from=R40&_trksid=p3519243.m570.l1311&_nkw=usb+to+uart


TALKING FREQUENCY COUNTER / VOLTMETER FOR ANDROID
Frequency Counter:
The Arduino generates an accurate 1 second time base for the
counter by cascading timer0 and timer2. The link between digital
inputs 3 and 4 connects the output of timer2, 250 Hz, to input of
timer0. The software waits Frequency counter for Android using
Arduino Nano or Uno.for the output of timer0 to go positive to start
the count of frequency input to timer1. Timer1 is a 16 bits timer,
it overflows at the count of 2 power of 16, that in turn advances
over-flow register. At the end of the 1 second the 16 bit register
is recorded. The Arduino sends via OTG cable or
adaptor 3 bytes that contain the measured frequency. The specs
recommend input up to 6 MHz, I tested it at 2 MHz.
Voltmeter:
It's good to talk. Voltmeter app in B4A using Text To Speech. Arduino connected to Android via OTG cable.
Voltage input is at pin A0, max 5V. The talking voltmeter has an adjustable timer to set the talk intervals (5 to 105 sec) and a stop button.
Optional pushbutton at pin 2 of the Arduino triggers the talk.
OTG (On The Go) is the
cable that is used to connect USB devices (other than charger or PC)
to phones or tablets.
Speach is in the default language of the device.
The app is an APK file, transfer to the
Android device and opening the file gives an option to install it.
The code is provided if you wish to modify the app, it is in a B4A
free program for PC.

FREQUENCY COUNTER FOR ANDROID NIXIE DISPLAY
The Arduino generates an accurate 1 second time base for the
counter by cascading timer0 and timer2. The link between digital
inputs 3 and 4 connects the output of timer2, 250 Hz, to input of
timer0. The software waits Frequency counter for Android using
Arduino Nano or Uno.for the output of timer0 to go positive to start
the count of frequency input to timer1. Timer1 is a 16 bits timer,
it overflows at the count of 2 power of 16, that in turn advances
over-flow register. At the end of the 1 second the 16 bit register
is recorded. The Arduino sends via USB cable and OTG cable or
adaptor 3 bytes that contain the measured frequency. The specs
recommend input up to 6 MHz, I tested it at 2 MHz.The Android app
display 0 to 9 images of nixie tubes. OTG (On The Go) is the
cable that is used to connect USB devices (other than charger or PC)
to phones or tablets. The app is an APK file, transfer to the
Android device and opening the file gives an option to install it.
The library is needed if you wish to modify the app, it is in a B4A
free program for PC.

BLUETOOTH FREQUENCY COUNTER FOR ANDROID
The Android app is made using MIT App Inventor which is
an easy way to make Android apps.
http://appinventor.mit.edu/explore/ . The app has buttons to
connect and disconnect the Bluetooth to the phone and 2 displays of
voltage and frequency. The .apk file is the file that installs
manually the app to your phone. The .aia file can be imported after you
install the MIT App Inventor.
ARDUINO
The Arduino generates an accurate 1 second time base
for the counter by cascading timer0 and timer2. The link between digital
inputs 3 and 4 connects the output of timer2, 250 Hz, to input of
timer0. The software waits for the output of timer0 to go positive to
start the count of frequency input to timer1. Timer1 is a 16 bits timer,
it overflows at the count of 32768, that in turn advances overFlow
register. At the end of the 1 second the 16 bit register is recorded.
The Arduino then sends to the Bluetooth 5 bytes of data in serial UART
protocol.
HC-05 is pre-set to code 1234 and name HC-05. The module UART
is pre-set to 9600,n,8,1.
PIC16F690
This project is for the Android app and HC-05 as above.
The PIC counts the frequency over 1 second period generated by CCP1 and
Timer1. Input is counted by Timer0 that can count up to 4 MHz. After
each count period 2 bytes of ADC and 3 bytes of the counter are
transmitted to the HC-05 Bluetooth module.
You are free to use the circuit diagram and the software with no
limitations.
Circuit Description
See also Technical Tips
1K resistor is for reducing 5V to 3.3V input of the
Bluetooth module.
HC-05 module can be any make that is powered by 5V, from ebay. |