Phi_prompt is upgrading to arduino 1.0
January 30, 2012 12 Comments
After some tireless work, my phi_prompt user interface library is upgraded to arduino 1.0 and takes full advantage of phi_interfaces library as physical layer to sense key presses. I was able to revamp my sample codes without much change at all. All call conventions are kept the same. Most change you will need as a project developer with phi_prompt is to include phi_interfaces library instead of the phi_buttons library, and set up keypads to pass to phi_prompt initialization call. An added perk is that in each sample code, I defined two input keypads, i.e. an actual keypad on arduino and a serial keypad either I can use a PC serial terminal or a bluetooth phone. I can operate the menu or any function on my arduino’s buttons, by typing in characters on my PC serial terminal, or with my bluetooth phone (adding a bluetooth shield to arduino of course). It’s super cool. You develop one interface, say a menu system, then you can interact with the menu with local buttons (on arduino), or remotely without any more coding.
Here is a depiction of what you could be doing with this new system:
Great work John!
Thank you! FYI, I am working on documentation so the library will not be available for download for another few days. Please be patient. The stuff on the google code is not this upgrade. It’s something half-cooked π
Hello =) !
I am trying to interface a bluetooth keyboard to an arduino via a bluetooth shield. However I am an absolute beginner. I tried looking at your libraries but I couldn’t find the bluetooth part and was wondering if you could help me out and point me to some resources that would help me write a code that would communicate with the keyboard, because at this point I have no idea where to even start establishing a connection between the two (since I have no way of “reading” the information on the keyboard side of the system)
Thank you =) !
fara,
Thanks for your message. The blue tooth keypad that I am talking about is a serial device that streams characters to arduino, on a blue tooth serial port physical layer. What you are talking about is probably a blue tooth HID layer device. Most arduino blue tooth shields or hardware probably can handle blue tooth HID device connections but none that I have seen has such library to do it. Most of these arduino blue tooth shields only have blue tooth serial port broken out to connect to arduino so you won’t be able to use your blue tooth keypad/keyboard on arduino, unless you find an arduino shield that can do it.
Hello,
Thank you for your quick response π . I’m a little bit confused thought. I have this shield (http://iteadstudio.com/store/images/produce/Shield/BTshieldv2.2/BTShieldV2.2_DS.pdf) which acts both as a master bluetooth device and a slave bluetooth device. and I’m trying to interface it with this ( http://www.thinkgeek.com/gadgets/cellphone/ea6d/?cpg=froogle) keyboard. I was under the impression that that would be possible and I don’t understand why it’s not the case?
Thank you so much!
p.s: I’m sorry if this comment shows up twice my internet has been crazy π
The keyboard is really cool! I don’t have an iphone but I could certainly use such a keyboard on my android phone. Too bad android phones come in all sizes. Too hard to make one size that fits all. The master shield actually says blue tooth serial shield. So yes it’s only for serial connection over blue tooth, not for HID over blue tooth.
Here is blue tooth serial:
http://en.wikipedia.org/wiki/Bluetooth_profile#Serial_Port_Profile_.28SPP.29
Here is blue tooth HID:
http://en.wikipedia.org/wiki/Bluetooth_profile#Human_Interface_Device_Profile_.28HID.29
They are different blue tooth profiles. Just because one device uses blue tooth doesn’t mean it has all profiles. If I find anything that can connect to blue tooth HID, I’ll post in a reply.
yes! the keyboard is really cool! which is why I really wanted to make it work =( !
Do you have any suggestions for how I could make that happen? or should I just give up on this project?
Thanks again for all your help =)
Have a great night!
fara,
If you google bluetooth HID arduino, there are lots of hits. I think, after reading through some hits, doing bluetooth HID on arduino is doable but a bit expensive. sparkfun.com may have a version of blueSmurf that does bluetooth HID π
Hello liudr,
Thank you so much for all your help π ! I will definitely try it out!
Have a great day!
Hi,
I’m having some hassles incorporating your library into a project, but finally getting somewhere. Storing the menu strings and the array of string pointers in progmem is generating “causes a section type conflict” errors. I can get rid of those by making the strings PROGMEM but the pointer arrays just in SRAM. I indicate it by adding a
#define phi_prompt_strings_in_SRAM 0x200
and checking for it in render_list().
I still have a problem with my analog keypad. Once that’s resolved I’ll be creating an input function for IP addresses. Down the track, support for a couple of IIC displays (one with incorporated keypad), if you don’t get to it first.
Your library has been a useful start.
Hi! Do you know if they make any plugins to safeguard against hackers?
I’m kinda paranoid about losing everything I’ve worked hard on.
Any recommendations?
Not sure what you are referring to by safegarding what against what hackers or just another polished spam post?! We’ll see.