Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
This will probably go -4 in seconds, but I'm genuinely curious and googling hasn't resolved anything.
My potential project:
Power on a device from my smartphone.
I know raspberry pi can do this, but as I was reading through Arduino docs it sounds like if you need a very basic command to fire/read then Arduino is your way to go. At this point is there any advantage in choosing an Arduino over a Pi3?
I know I'm ignorant, but I can't figure out why I would choose Arduino ever again.
Price: The cheapest Raspberry Pi is $5 USD but unless you happen to live somewhere that you can pick one up in person you're going to be paying at least that much again for shipping. Add another $1 for an SD card and say $2 extra for a power supply good enough to make it run reliably. You can buy an Arduino Pro Mini clone for about $1.57 with free shipping or a Nano clone for < $3 with free shipping, any power supply will work, no SD card needed. So you're saving at least $10 on each device you make. If you're already familiar with Raspberry Pi the extra expense may be worth it for the time you will save not needing to learn to use the Arduino.
Bare metal programming: There is no operating system to deal with on an Arduino. This simplifies things greatly and improves reliability. The lack of an operating system on the Arduino means you can easily get very precise timing when that is important, though likely this is not relevant to your current project.
Power consumption: It's possible to run at extremely low power consumption with an Arduino, especially if you make a few easy modifications to the circuit board (removing the power LED and voltage regulator). It is possible to reduce the power consumption of Raspberry Pi but I don't think you will ever get close to what you can do on an Arduino. This will be more of a concern for a battery powered application.
Size: This could depend on which accessories you need to attach to either board but lets consider the likely choice of WiFi as your method of communication between your phone and device. In the Arduino world the cheapest and easiest way to accomplish this would be to use a WeMos D1 Mini, which is less than half the size of the Raspberry Pi Zero.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
I want to experiment with some sensors with my Raspberry Pi 3. For that, I searched for sensors to buy online. During the search some websites says "buy sensors for Arduino" and some says "buy sensors for Raspberry Pi". So. if I buy sensors for Arduino, will they work with Raspberry Pi or not?
'it depends" being the answer.
The short answer is: yes probably it will work on both.
The longer answer is you'll be doing some work arounds. (and each is case dependent).
For example the arduino has analog pins, but AndroidThings boards do not - you would need to use a Analog to Digital converter (like this or any other ADC).
Android Things supports these protocols & interfaces
- I2C
- SPI
- UART
- PWM
- I2S
If the peripheral uses one of these, then yes it will more than likely work an AndroidThings (a raspberry pi).
AT also supports GPIO. However if the sensor only uses GPIO, it is likely to require a fast communication speed (in the range of 10's of nano seconds), but Android Things GPIO is slow (the frequency is in the range of 300± nano seconds) - so you'll probably find these sensors are not supported on AT (a raspberry pi).
If after all that you buy a sensor and it won't work with Android Things - you can still use the sensor with an Arduino board and then control the Arduino Board with a Raspberry Pi as a master (like this).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
What can an Arduino do that a Raspberry Pi can't?
Arduino is a microprocessor, not a computer. It means that Arduino has inputs and outputs that you can connect to different electronic components such as motors, lights, sensors, etc.
Those inputs and outputs are only pins that you can send or receive a certain amount current.
Arduino has a pretty limited memory so you can only store a simple program on it, not a OS. It is mostly used in automation. For example you want to automate a garden so you have sensors to detect the amount of water in the ground and then use this information to enable a motor that will turn the water on. There is a complete API to simplify the coding between the programmer and the device.
For example, you have a function that will control the speed of the motor in rpm so you only have to give the speed as a parameter of that function.
Raspberry pi is a complete computer, so you can plug a screen, mouse, keyboard to it. There is some OS available for it. It is not just only pins as inputs or outputs, but HDMI input or usb port.
So Raspberry pi and Arduino are completely different and have both a different field of interest.
You will not order a Raspberry Pi to automate the temperature of your coffee as you will not use a Arduino to make a OS.
I hope this will help making the difference between the two.
Good luck!
I would say that the functions and capabilities of the Pi Zero and the Arduino boards have started to overlap, as have the prices (although where I live the Pi Zeros are still somewhat more expensive that Arduinos). Perhaps we will see the applications start to overlap, too.
Conventionally, the Pi has been used in situations that demanded, or at least benefited from, running a full operating system, while the Arduino was more for running a single, custom program. I don't think there's been much interest in running code on a Pi that does not run under an OS, but it seems to be possible, up to a point. I'm not whether all the hardware is accessible this way, because some of it requires proprietary drivers, IIRC.
Because the Pi conventionally runs a full Linux kernel and utilities, it's been slower to start up in embedded applications, whereas the Arduinos essentially boot right into application code. The Pis have slightly greater power consumption (quite a bit greater, with the full-size models), and are a bit larger.
I suspect that, if you were planning commercial production, basing something around Arduino-type hardware is more likely to be productive that using a Pi. I have come across Pis being used for commercial products, but not (I think) for mass-market applications. The hardware and programming style of an Arduino is much closer to the kind of thing that you can miniaturize into a consumer product, even though the Arduino itself may be comparatively expensive.
In short, I would expect that for casual, home, and research use, it's increasingly easy to justify using a Pi Zero over any kind of microcontroller; but if I had to prototype a mass-market item, Arduino would still be closer to the final hardware spec.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I am trying to determine whether IBeacon technology would be useful in tracking equipment in an office building.
Everything I've read required a beacon, a smart phone (i phone, i pad, etc), and the app that is running. If I understand correctly, a person would walk around with a smart phone "searching" for beacon signal. When in range of a signal, it would then register on the phone. This involves walking around and searching for the signal.
What I am wanting to do is have stationary receivers located around the building. Each receiver would a specific ID number. A beacon would attached to the piece of equipment. As the equipment moves around, it's signal would be picked up by the individual receivers. The equipment's location could then tied to a specific receiver.
Some of the problems would be:
1) I would like to use bluetooth technology so that I do not have to be tied into an existing wireless network. This eliminates network and configuration problems.
2) When a signal is identified by a receiver it needs to be "relayed" between multiple receivers until the data is received by the computer that runs the tracking database software. The original beacon ID and location needs to be transmitted.
3) The receivers/transmitter signals must go through floors and walls.
4) All this needs to be done a a relatively low cost per beacon and per receiver.
I think that this can be done with I Beacon technology,it's just finding the right setup.
Any thoughts would be extremely help.
You can do this with iBeacon technology (I have built similar systems) but there are some difficulties:
The stationary receivers must be constantly powered, so they must be near outlets. If sonebody unplugs them (think the cleaning crew to use a vacuum) they go offline until you detect the system isn't functioning and plug them back in. You need tools to monitor this.
The stationary receivers won't be super cheap. You can make them out of a raspberry pi and a bluetooth dongle (~$40 including power supply) an Android mini computer (similar cost) or an iPod touch ($200). Whatever your choice, it is a fair amount of software to write. These detectors need monitoring software to make sure they stay up 24-7.
The Bluetooth info relay to the database adds the biggest level of complexity. You are building your own mesh network, which is possible, but nontrivial. Using WiFi to a web service would be much easier.
This is all possible, but it is a big job. Don't underestimate it.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 8 years ago.
Improve this question
I'm brand new to the Arduino world.
I'm interested in building an Arduino app such that when a button it pressed, the Arduino connects to WiFi and through this Wifi connection accesses a publicly-accessible Web API over HTTP. Accessing the API takes less than 1 second. After this, the whole system should go to sleep until the next time the button is pressed.
The tricky thing is that I want to power this Arduino with disposable (ie: non-rechargable) batteries -- either a single 9V battery or two AA batteries. But I don't know if this is feasible. How much battery power will be consumed by connecting to a Wifi Network? How much battery power will be consumed simply to operate the Arduino chip? Is what I'm suggesting feasible? Do disposable batteries pack enough juice to power this application for hundreds of button-presses?
Yes, you can power an Arduino with disposable batteries. If you want to minimize the power consumption, I'd recommend bypassing the onboard voltage regulator and powering the Arduino through its 5V pin using a switching or an LDO regulator like the LM2936 - these are very efficient and will consume very little power when the board is asleep.
You didn't say which Arduino you're using, or what you're using for wi-fi connectivity, so I can't answer as to what the power requirements of your device would be. But I don't see any reason it would be unfeasable to power it with AA batteries.
I'd recommend against using a 9V battery if long battery life is a consideration. Use AA batteries instead, if you have room. You'll need 4 of them (1.5V x 4 = 6V) because the Arduino needs at least 5 volts to run. But 4 AAs will have a much higher current capacity than a 9V, so they will last much longer.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I am a software developer with no prior experience in embedded programming. I have to develop a prototype project:(example) to generate Morse Code pulses which are to be output through a solenoid in the form of vibrations. I found that either Arduino Nano or Micro will do this job. Though I have choosen Uno for the project keeping in view later requiremenst will evolve.
I found Leonardo & Uno two close varianst. I selected Uno based on some research I did. Mainly I learned Leonardo is not good choice for beginners due to some of its problems and/or features. Uno also has more help available too being a seasoned variant.
It will be nice if I can have some opinion about it.
As you and Keshav Saharia said, assuming that the capabilities of Uno and Leonardo both meet your needs, the reason to choose the Uno is because it is older, more mature, and better supported. For example, most of the Arduino posts here and on EE.SE are either based on Uno or are compatible with Uno. Likewise, most of the Arduino guides work out-of-the-box with Uno, but not necessarily with Leonardo; Leonardo is always one of those footnotes: If you have Leonardo, you need to do this other thing instead.
Also, if, at some point, you decide to ditch Arduino and use a bare ATmega chip, ATmega328, the MPU in the Uno is the one you are likely to use, and also the one more people are familiar with. Leonardo uses a different AVR chip, the ATmega32u4, which, like the Leonardo, is not quite as popular (widespread?). These are good reasons to choose the Uno, as far as I am concerned.
On the other hand, if you are hoping to keep the prototype board for yourself, you might want to think about the Leonardo, since it is more powerful: more IO, second hardware serial port, etc.
You already asked this question and it has been answered. Your conclusion that the Arduino Nano or Micro won't do the job is wrong. Any version of Arduino will work, as will any other microcontroller (Basic Stamp, Picaxe, etc.). All you need to do to control a solenoid is to turn a digital pin from LOW to HIGH. You WILL need some external circuitry because of solenoid power requirements but the circuitry is trivial.