Sitemize Hoşgeldiniz sitemizin kuruluş sebebi Eğitim Öğretim Bilgilendirme amaçlıdır Site içerik ve kaynalar Çeşitli Web Sitelerinden Derlenmişolup Teylif Hakları Çerçevesinde Korunuyor Olabilir Şayet bugibi durumlarda lütfen Site Yönetimiyle İrtibata geçiniz Saygılar Hikmet TURNA

Articles by "wireless"

MARG (Magnetic, Angular Rate, and Gravity) sensor array used for AHRS (Attitude and Heading Reference Systems).










Android OpenGL 3D display on Samsung Spica (i5700).








Sparkfun 9DOF sensor stick SEN-10389, later replaced by SEN-10321.





Using ATmega328P, operated at 3.3V supply and 8MHz crystal. At this speed, reading sensors' measurements and computing "AHRSupdate" take about 31ms to complete. Default compiler setting is used on WinAVR. With 25Hz sampling rate, this leaves mega328p extra 9ms to do other tasks. Bluetooth SPP (serial) communication is buffered and interrupt driven, so no processing time is wasted in reading and sending data to the android phone.










References:


(1) Sebastian Madgwick's Alternative AHRS (MARG) algorithm - Quaternion implementation of Mayhony's DCM filter incorporating magnetic distortion compensation.


(2) Fabio Varesano's FreeIMU. Also using Madgwick's implementation of the DCM filter on Arduino platform.


(3) Rotation convertions by Martin Baker. Very good discussion on quaternions and other 3D representation like Euler angles and transformation matrix.


(4) OpenGL Transformation Matrix by Song Ho Ahn


(5) Similar discusion on diydrones.com started by Harinath




Android project examples:


Android Bluetooth


Bluetooth Chat


Android OpenGL Projects


OpenGL ES tutorial


Android Bluetooth Oscilloscope




Special thanks to the generous guy who gave me these toys, Thank you very much!










*This application is tested only with Samsung Galaxy GT-i5700 Spica (rooted Android 2.1 OS, i570EXXJD1 Baseband version).

The transmitter circuit uses Microchip's dsPIC33FJ16GS504 for the analog-to-digital conversion of the input signals on two channels.
The processed data on the dsPIC are then transmitted to the phone (for waveform display) via the LMX9838 bluetooth SPP module.






































specs/ranges:


  • time per division: {5us, 10us, 20us, 50us, 100us, 200us, 500us, 1ms, 2ms, 5ms, 10ms, 20ms, 50ms }

  • volt per division: {10mV, 20mV, 50mV, 100mV, 200mV, 500mV, 1V, 2V, GND}

  • analog input (depends on external pre-amplifier configuration): {-8V to +8V }








The source codes for the bluetooth communication is based on Bluetooth Chat example from http://developer.android.com.
That example contains three java source files. And, I've completely copied the "DeviceListActivity.java", which is used for searching remote bluetooth devices.
Then I've modified the "BluetoothChatService.java" to use only the RFCOMM Client functions,
and used the well-known UUID "00001101-0000-1000-8000-00805F9B34FB" for the Bluetooth RFCOMM/SPP.

 

For the plotting of waveforms, I'm using SurfaceView object to draw on its canvas.
This tutorial found on www.helloandroid.com helps me a lot for this task:
"How to use canvas in your android".









The rest of the job mainly involves porting of my previous Python S60 script to JAVA language.
It was too painful on my side, because I had to convert a single script file to multiple java + xml source files!
Nonetheless, it was a good experience for me on learning the Android SDK (JAVA programming).



Project source codes for Android and dsPIC (with APK and HEX) :

AndroidBluetoothOscilloscope.zip



Electronicslab.ph forum link : Android Bluetooth Oscilloscope



Here are some interesting projects that are also based on the Bluetooth Chat example:

Bluetooth Controlled Model Car

SPRIME



Special thanks to:

Samdroid Forum  for the customized/rooted firmwares for our Spica.

Tipidcp Spica users for sharing their tips and experiences with this android phone.



----------------------------------------------------------------------

#edit (10-15-2010)

Here's now my circuit. Nothing special on it, all are based on existing circuits.







*The dsPIC I have used is most probably NOT the best choice for this project because of the many left unused peripherals (extra pins). But, this is the only part readily available in my bin and it has the fastest ADC (2 x 2MSps) among the chips I have.

*If you prefer to change the input range via the op-amp preamp, the computation is located on the "adc.xmcd" file.

*You can use other SPP bluetooth modules aside from LMX. (accdg to manufacturer, it's already obsolete)






Bluetooth Controlled Mobot using Z8F0823 and LMX9838.



It's supposed to be my entry for a friendly competitions of "sumobots". But, I wasn't able to make it "autonomous" on time for the event. It only have four sensors on each corner to detect "black" lines, but no sensor for detecting an opponent. And so that I can still test the hardware, I just made it manually controllable by using my phone's bluetooth. The bluetooth module is the same circuit I used in my BT minibot . I also used the same python S60 script for my N6120c (Symbian phone) controller.























forum link: Filipino Version of Robot Wars



MKRdezign

İletişim Formu

Ad

E-posta *

Mesaj *

Blogger tarafından desteklenmektedir.
Javascript DisablePlease Enable Javascript To See All Widget