Hi all. Nice to meet you all and glad that I have a chance to join this group=)Recently, I will do my final year project with the title of "Smart Home Control Using Brain Wave". Yet, I am not really sure on which arm that I should choose><Could you all give any suggestions to me?
Thanks and best regards,Seet Ting Ma
For your information, the system that i am working on is an EEG system and the interface that I would like to choose is Emotiv brain computer interface. So, what I need to do is use the signals (frequencies) from the Emotiv to trigger the home appliances. For example on and off of a light.
Here is the link for the emotiv: Epoc
Thanks and best regards.
The spec sheet is available here:
https://emotiv.com/product-specs/Emotiv%20EPOC%20Specifications%202014.pdf
I've noticed that it's supposed to connect to a computer via USB 2.0, so it might be a good idea to get a microcontroller, which supports USB Host.
I also saw that for Android, it uses BlueTooth.
Since the computer is also doing FFT, I think the Cortex-M7 is the minimum requirement for such applications (though the Cortex-M4 might be able to do some of the things).
But looking further on the specs, the minimum requirements for a Windows/Mac/Linux computer is 2.4GHz.
That suggests that a Cortex-A would be a good choice; preferrably with multiple USB host ports.
As each USB2.0 port is 480 Mbit (280 Mbit effective data), the port is able to transfer a maximum of 35 MByte/sec.
A Cortex-M7 might be able to handle a single host port and do FFT on it, but maybe it's best to move up to a faster processor if you need to control more than a single target.
-I believe any Cortex-A7 and later would be able to do the job just fine for more than one USB connection.
This is a qualified guess only. You may want to contact emotiv and ask them how much data they transfer per second; let them know that you plan to interface to their device using a microcontroller / microprocessor.
Also ask them if they can provide information on how to communicate with their device via USB or BlueTooth (or both).
Note: Various boards are already available for a low cost. Some popular boards that can run Linux are:
Raspberry Pi 2 ($39), CubieBoard ($35), CubieBoard2 ($59) and CubieBoard3 ($70 - this is also called CubieTruck).
-But running Linux does not automatically mean that you can run the software, which emotiv supplies for Linux; it needs to be compiled for the processor you're using.
may i know what language is running bu raspberry pi 2?I am still new in arm and are interested in this^^
thanks for yr replies.
by the way, i discover that raspberry pi need to equipped with pi face then only it can be used to to control LED, sensors and so on...is it true?
No, you do not need any extra hardware, because the GPIO pins are available to you.
The PiFace you're thinking of may contain relays; these are for turning on/off things that require more power than a LED.
The only things you need, in order to control LEDs are ...
One wire connects one end to VCC on the Raspberry Pi, the other end to the resistor.
The free end on the resistor should be connected to the anode (plus, long pin) of the LED.
The cathode (minus, short pin) of the LED should be connected to the second wire.
The second wire's other end connects to a GPIO port of your choice on the Raspberry Pi.
You should now configure that GPIO pin to output, then you can switch the LED on/off by changing the pin's value.
The 1K Ohm resistor is chosen, because the light won't blind you, plus it will make sure that the GPIO pin can handle the current going through the LED.
If selecting a stronger resistor, the LED will become brighter, but be careful; if it's too strong, it might draw too much current for the Raspberry Pi to handle.
You will need to find out how much current a GPIO pin can sink and calculate the strongest resistor value you can use.
(The lower resistance, the stronger the resistor is, and more current will flow through the resistor)
Example if VCC is 3.3V:
3.3V / 33000 Ohm = 0.0001 Ampere = 100uA. The LED will be completely off, no matter what you do.
3.3V / 3300 Ohm = 0.001 Ampere = 1mA. If you're lucky, the LED will be lit, but the light will be very weak.
3.3V / 1000 Ohm = 0.0033 Amperes = 3.3mA. This should be safe for all microcontrollers.
3.3V / 100 Ohm = 0.033 Amperes = 33mA. This is most likely too strong a resistor; the GPIO pin might get fried after a while.
The above actually applies to any microcontroller.
If you're using the Raspberry Pi as bare-metal (eg. no operating system), then you can use the following languages easily:
C and C++
Assembler
This also applies to the CubieBoards.
If you use Linux on Raspberry Pi (Linux is installed by default as far as I remember), then you have many more languages to choose from; too much to mention here.
-But for starters, there's D, Ruby, Perl, Bash, Python, etc.
The same applies to any other board that runs Linux.