Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How do you choose which micocontroller/processor to use?

Status
Not open for further replies.

GreenAce92

Member level 4
Member level 4
Joined
May 6, 2010
Messages
70
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Buffalo, NY
Visit site
Activity points
2,032
I'm trying to build this 10 point interface for Virtual reality, basically tracking all ten of your fingers in real time to be translated by an application into virtual reality.

I have looked at a 3D accelerometer without a gyroscope (although I am told that I may need one) and I've also looked at a BLEMicro for the communication aspect.

The accelerometer uses I2C and the BLEMicro uses AT Command or "Transparent Transportation" and I'm not exactly sure what this means but to sum up the general process of the device:

Has to "echo-link" to each other to determine which finger is which.
Has to transmit in real time to the phone (in this case) the location of each finger.

I'm not sure about bluetooth transmission limitation eg. if I can only transmit to the phone by one BLEMicro and then the other 9 communicate to the primary BLEMicro (I saw somewhere about one to many).

Anyway, base on what I have mentioned along with an induction based charging / battery management...

How do I decide on what microcontroller to use. What keywords do I look for?
 

To what sensors will the micro-controllers be connected to ??

How about Cypress ARM based micro-controllers, their PSOC software is easily one of the best for ARM devices (my opinion entirely). Their prototype board having an on-board bootloader/programmer costs only 10 USD, they have more than enough I/Os required for your project. The system is fully configurable virtually any pin can be connected to any of the modules in the micro-controller.

You could also consider using an embedded computer such as the Beaglebone or Raspberry, they have all the I/Os and peripherals for communication to outside world.

If this is for a commercial project then I think you should consider reliability also, the above embedded computers are suitable for hobby and learning work, so you probably have to go in for an industrial PC for the final product (in case of commercial use).

thanks
a
 

To what sensors will the micro-controllers be connected to ??

How about Cypress ARM based micro-controllers, their PSOC software is easily one of the best for ARM devices (my opinion entirely). Their prototype board having an on-board bootloader/programmer costs only 10 USD, they have more than enough I/Os required for your project. The system is fully configurable virtually any pin can be connected to any of the modules in the micro-controller.

You could also consider using an embedded computer such as the Beaglebone or Raspberry, they have all the I/Os and peripherals for communication to outside world.

If this is for a commercial project then I think you should consider reliability also, the above embedded computers are suitable for hobby and learning work, so you probably have to go in for an industrial PC for the final product (in case of commercial use).

thanks
a

First what I'm confused about is how to merge the different technologies, as I mentioned the Accelerometer uses I2C and the Bluetooth Module uses AT Command so how do I go about attaching those to a processor or microcontroller (not sure which?) which can then be linked to android application that can interpret the locations by each fingertips as coordinates in a three dimensional world?

I'm looking at this three dimensional accelerometer unit here

MMA8452Q

and this BLEMicro bluetooth moduel here

**broken link removed**

I'm also looking at induction charging so a coil would be attached along side with the battery and a power management system, and to further complicate the device(s), 9 of the 10 devices have no switch. They are triggered by the primary, otherwise they stay in low power consumption mode. If they are not being used, they are on the charging pad.

I have to see Bluetooth wireless transmission limitations... I'm also wondering if I can pull of location by using kinematics only in conjunction with gauging distance by elapsed time but I think that is doubtful considering the speed of light and a few inches / feet in distance. There was noting of needing a gyro to take gravity out of the equation in order to get more accurate location.

In short, I pretty much have no idea what I am doing, but I am determined to piece the parts together and make what I have in mind.

The real catch is that this device ideally fits on your finger, the prototype will be bulky considering it is made by a human. But ideally it would be like a secondary set of fingernails or rubber finger inserts that the tips of your fingers slide into, or rings... Perhaps the idea is flawed but I think it is superior to visual tracking. For example with this device I should be able to play guitar (virtual reality guitar)a, and use any surface as a keyboard, those are some primary goals.
 

In answer to my own post:

I briefly read about Microcontrollers vs. Microprocessors.

Microcontrollers have Microprocessors inside along with RAM,ROM, other components so it is in essence a micro computer.

A microprocessor on the other hand, purely computes, you need to connect it to RAM, ROM, other peripherals.

Microcontrollers can be a cheaper route knowing what your project has to do, which I am not yet entirely sure on what my project has to do but I already know that I am constrained by size.
 

The majority of microcontroller families of current designs offer one or more UART, SPI, I2C and other interfaces, and could most likely handle your current design tasks.

While there are many considerations when choosing a particular microcontroller, three of the primary concerns are:

1. The formal specifications and required tasks of the design. Which you appear to be still formulating at the moment.

2. Previous experience with a particular microcontroller family of devices.

3. Previous experience with the required design and compiler toolsets and their availability and cost.

Of course, there are a number of other considerations, including cost and availability of a particular microcontroller.



However, the three points listed above should help narrow the field of possibilities.

What previous microcontroller system design and programming experience have you?

What was the device(s) architecture, 8051, AVR, PIC16, PIC24, ARM Cortex-Mx, etc?

What was the manufacture(s) of the of the device(s) previously used in a design(s)?

What compiler toolset(s) were utilized in previous design(s)?


BigDog
 

Hello bigdogguru,

The answer to your question(s) is none.

I have taken a class in C++, studied C (attempted to complete the C in 24 hours in one setting), java, C# briefly.

I am currently primarily a web developer (LAMP stack) not saying this is related but could argue that I know logic / flow and making something based on what is required.

I was a physics major (incomplete) and took Electricity and Magnetism while simultaneously completing a lab. We learned about basics such as Kircheoffs rule, joints, series, parallel, filters, etc...

As far as actually programming a PIC or something like that, I have not done that yet.

I know the end result of what I want which is to relay the positions of each of my fingers to my android device to interact in virtual reality for example, I can be lying in bed, wave my fingers, and calibrate the new position (zeros) of my fingers, and type on the blankets with a hand on either side of my body. Assuming I have calibrated the devices to a qwerty keyboard.

What concerns me is positioning, I can't seem to use doppler shift (echo distance location) using known velocity of light, apparently best accuracy would be about a foot and the fingers would be within an inch or two of each other.

I guess I will have to use an accelerometer/gyro combination such as this one here:

https://www.sparkfun.com/products/1...6oJl1jXuZ0wqNsuwlZMBc3UPv3s9c37LJcaAtsl8P8HAQ

As the gyro seems vital.

I guess I can't rely on inertial based distance/positioning as the error(s) grow over time.

I'm not exactly sure what I will use as an external reference to accomplish this tracking.

I know that "they" use visual tracking (camera) alternatively IR, but I don't understand what happens when the fingers are blocked and I imagine they can't type while laying down in a dark room surfing the web, as I have described. (Would like to build a "3D" internet while I'm at it.)

I know, I sound crazy, ambitious, hopeful.

But I want it and achieving it, I would learn a lot which can be applied to future projects.

In short, I don't have really any experience at all with embedded systems programming / design.
 

I found this great website here, maybe I can learn a lot from it.

http://esd.cs.ucr.edu/

I have realized that I know nothing about what I am doing. So I'm not going to go into this full-speed, blind, buying things and trying to get something working.

I'm going to research a lot.

Anyway, thanks for the responses.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top