Arduino Basics

i am a beginner to the Arduino field can you please help me with these questions ? 

How many smartphones can communicate with a single Arduino at a time?
How many Arduino a single smartphone can communicate with at a time?
How many devices such as AC TV and lights can be connected to a single Arduino?
Is voice/noise isolation room affects Bluetooth transmission (if my phone connected to the Arduino using bluetooth)? In case of smartphone outside the room containing the Arduino.

please if you have any references or links that might help with understanding the main concepts please help..

-max-1 month ago

The questions you ask are not particularly well-defined. Without more information it's not possible to answer your question.


Are you referring to the arduino environment with all of the associated microcontrollers, or a particular arduino board (such as the uno?)


The questions asking how many things can be "connected" to your arduino (I'm assuming the classic uno, or other simalar board based on the ATmega328p) really just depends on many factors. How much throughput is required on each device? how computationally expensive is interfacing each device? What additional hardware do you plan to use to interface these devices?


Here is what I can tell you:

The arduino uno has 1 hardware I2C bus, You can theoretically attach up to 128 slaves to the arduino bus, if the devices all have their individual addresses. You can increase this number by using I2C multiplexers. You increase the number of devices reachable at the cost of throughput and speed.


The Uno also has 1 hardware SPI bus. SPI the fastest serial communication interface available on the arduino. You can interface as many devices as you want, so long as you have the available pins to use for slave select. You (again) can increase the number of devices that you can interface by using shift registers, or decoders, or other means of converting a limited number of digital pins into a larger number for CS pins on the slave devices.


The Uno also has 1 hardware UART bus, which is typically reserved for (tied) to the USB port. This can be used to interface any particular device you want. The UART only designed to communicate to a single device. Using the UART may disable the ability to reflash the arduino with new firmware as it is also used for programming via the FTDI chip, or in the case of newer arduino, the ATmega32U4 chip, which effectively emulates the functionality of the FTDI serial to USB converter.


The Uno also also has 5 analog input pins. The ADC can have a resolution of up to 10 bits. Similarly, many of the other pins have PWM timer registers that allow PWM outputs. These can be used to interface analog electronics and devices.


And then the last few remaining pins are just digital I/O. They can be toggled however you want. Anything you do with them has to be done with software. If you know what you're doing, you can implement nearly any serial protocol you want using these pins, but just keep in mind, software implementations are demanding on CPU cycles and much slower than using the above mentioned hardware. Some even require very precise timing, which is difficult to achieve, as you will need to understand how to work with interrupt routines and direct port manipulation.


Notice how I mentioned nothing of bluetooth or wifi, or networking. The arduino is not able to do these things on it's own. You will need additional hardware. Bluetooth and Wifi use the 802.11 wireless standard, which is VERY complicated implementing this into your arduino code would likely require more flash space than you have available. (you only have 32K to work with a typical arduino!) The breakout boards that do these things have more powerful ARM based microcontrollers, and are flashed with firmware to take care of the details for you. If you know what you are doing, however, you can modify the firmware on these boards by themselves to take full advantage of them, eliminating the the need for a central arduino uno in your design entirely!

If need answers for these questions than, no offence, I really think you won't have the knowledge to do any related programming.
In theory there are no limits if use the right hardware an know how to program.

maryamCS (author)  Downunder35m1 month ago

well.. i am really new to the Arduino and its application and i actually got the answers for my questions and i will make sure to let you know when i complete my project.. Thank you for your comment =)

iceng maryamCS1 month ago

I look forward to your project..