People who code: we want your input. Take the Survey
13

There's more than one way to do it (TMTOWTDI). There are a several ways to connect 8 analog inputs to an Arduino. Add an analog multiplexer, as georgebrindeiro suggested. Such as: (a), (b), (c), (d), etc. Replace the Arduino with one that has enough analog inputs already built-in. Such as the Arduino Mini with 8 analog inputs, the Arduino Due with 12 ...


10

How Servos Work Based on these details of your question: I just got a kit [...] continuous servos [...] plugged it into the microcontroller Combined with your "Arduino" tag, I'm betting that you are working with hobby (RC) servos modified for continuous rotation. Standard servos work by receiving a pulsed signal with a 20ms period (50Hz). Regular ...


8

The processor has to execute something. You will always have an "endless" loop even if you're doing some work in an interrupt handler. The best solution depends on exactly what you're trying to do. The main advantage of using interrupts is they allow you to service events in real-time while your main program is doing something else. Timer interrupts ...


8

The first thing to realise is that this is not a control problem, this is a planning problem. If you conflate the two, you are making life much more complex than it needs to be. Solution - Motion planning The traditional way to achieve what you want is to have two loops. The outer planning/supervisory loop generates way-points for specific points in time, ...


7

Yes this is entirely possible, and as FuaZe said, it's called a bootloader. You essentially have two programs on your chip, each with their own memory area; the bootloader and the application. Preferably, the bootloader area is write-protected to make sure you don't accidentally destroy it. With the bootloader, you can use any algorithm you want. If you ...


6

Yes. If you only run it in feed-forward mode and do your training off-line somewhere else: I programmed a 3-layer (5-5-2) feedforward ANN on an Arduino UNO. It ran on a mobile robot. Whenever the robot would hit something, it would re-train the network. The feedforward portion of the net ran in real-time; while the back-propagation training took on the ...


6

In general you don't need to learn assembly to be able to program a microcontroller. As long as you know C, it's enough for you. Knowledge of assembly of course would help. Specifically, it would help in writing optimized code (or rather, not writing stupid code) as well as having a good estimate of how fast or slow a piece of code could be. Sometimes in ...


5

If I understood correctly, you are referring to robotic tendons. There is a lot of material on the subject if you search google.


5

Whenever you have more signals than appropriate inputs in a digital system, you likely need a multiplexer or simply mux. An M-to-N mux is a circuit that enables you to select which of M input signals you want to output to N mux outputs, usually using digital pins to make that selection. Googling quickly, I found this solution for the Arduino Uno: a Mux ...


5

This is one of those "open-ended" questions that the moderator doesn't like. So I'm going to leave you with some short, general answers. These are based on over 20 years in industry designing various bits of hardware and software for embedded systems: Learning enough about microprocessors so that assembly language programming comes naturally will be a big ...


5

The signals to the ESC's using PWM should be sent after the PID algo is done processing the errors. The output calculated from the PID is the PWM value to be sent to the ESC's to actuate the motors in such a way that they move to reduce the error thus obtaining the desired orientation So the right order is: Read RX signal Calculate desired pitch, roll, ...


5

There are 2 main reasons why the MER is still operating long after it's 90 Sol planned lifetime. The first is political, strategic, and can be summarized as 'Under promise, over deliver'. When a PI (principal investigator) proposes a high-risk scientific mission like this, they always frame the goals of the project such that their project is viewed ...


4

There is at least two modalities along which servos (continuous or otherwise) usually fail: gear problems and motor breakdown. When the gear fails (broken tooth, hard point, etc.), the servo may get stuck, free moving or any combination. When the motor breaks (usually the brushes inside the DC motor are the culprit), the servo stops working altogether (as ...


4

One way to do this is complicated, involving computer vision and a robot arm or other manipulator that can directly affect the orientation of each rock. The low-tech way to do it would be to use a separate conveyor that gave you one rock at a time, and use walls to funnel it into a gate that matches the internal dimensions of the straw. You would then just ...


4

I would just like to add few points to other posts. My personal opinion is that endless while loop has no sense in systems which read from snsors or write to actuators as both has some physical constrains, eg. There is no point in reading from sensors at 1Mhz if the sensor has stability cycle before meassurent is accurate at 100Hz. Same goes to motor drivers....


4

Further to Guy's answer, using a timer interrupt to generate accurate intervals adds determinacy. For example, at any given time, you know exactly what the processor is doing, and all activities are performed at specified rates. You also should schedule at determined rates as otherwise you have no basis for time constants and such like, which will be ...


4

The simplest sensor you can build is a weight on a string. Lower it down until the tension of the string is reduced. I assume you want sonar. So just go buy one they are dead easy to interface to. You can buy these at marine hardware stores. They are not cheap. Look for a depth finder that has "NMEA" output. You may have heard of NMEA as the data format ...


4

Controlling a flying robot (or anything else) is a very complex subject (well, people are doing PhD on it..). I can recommend this free online course on the subject (I have taken it myself). It will give you a little taste of what it is.


4

As a professional robotics engineer (with an Electrical and Computer Eng bachelors, although I focused more on the CE side), this depends entirely on what aspect of a robotic system you'd like to work on. Robots are interdisciplinary systems by definition, and you will always need a team with a broad skill-set to build one. That being said, there are places ...


4

The first thing is to make sure that the cameras will get the coordinates of the object at the same time (I don't know if Pixy has a FREX or STROBE signal for synchronization), or that the object is not moving. Then, have a look at OpenCV, it has a section on 3D calibration and reconstruction (i.e. find the depth of an object based on the coordinates of two ...


4

As extension to this answer, I'd like to share with the community a Simulink model implementing the system described above. It does not represent a solution for the code reported by CroCo but it may give a better insight and, as such, it might be helpful. The system is depicted below: In red we have the blocks running at $1\,\text{KHz}$, which deal with ...


4

Not all fixed wing aircraft are inherently instable. That feature greatly depends on the center pressure and gravity center designed position. Passenger aircrafts are quite stable, and fight planes are just the opposite in order to achieve fast maneouvres, among other reasons. Read this aviation thread where this question was replied.


4

One of the most common controllers is a computed-torque controller, also known as the inverse dynamics. The preceding controller is based on the feedback linearization principle which is an approach that maps a nonlinear model into a linear one and treats it as such as we will show momentarily. Consequently, one can utilize linear controllers such as PD and ...


3

I'd also like to stress that the comparison between polling (i.e. checking if a interrupt flag has been set) and interrupt vectors (i.e. an ISR, or function that's loaded when a interrupt has occurred) should be more than just evaluating the efficiency/simplicity of executing a block of reactionary code. The interrupt controllers of most modern micros are ...


3

I would create a small sketch that allows you to communicate over serial port that will let you create a GUID on the desktop computer and write it to the EEPROM of your uno to a known location. Then later on in your networked arduino code you can use that saved value. I've done this before and it's pretty simple to implement. You can even copy / paste ...


3

The answer to this question depends entirely on the type of connection you are using to build your network. Assuming that when you say you have arduinos "on a network" you are using ethernet shields or similar to put them on an ethernet network, one way to accomplish your goal would be to take advantage of the MAC address on the ethernet shield as this is a ...


3

Yes indeed, it's possible to embed neural network in microcontrollers. There are many such examples of this in the scientific literature but I can cite a striking example of what can be done with a very simple MCU if you're smart enough. In Evolutionary Bits'n'Spikes, the authors describe the implementation of a real time spiking neural network AND a genetic ...


3

You need to consult the specifications. There is absolutely no other way unless you buy the micro, code it and run tests. So first, you need to define what exactly processing means. Best way to do it is to write the program that does the processing, in assembly. Let's take a hypothetical program in a hypothetical assembly: load R1, portA add R1, R1, 1 ...


3

Unfortunately, I have no experience with ez-b, but I have looked over the site a little bit. I do, however, have lots of Arduino experience. The program is, indeed, stored on the board's local memory. However, it is very possible to write a program that can interact with your computer. With my Arduino, I often write programs that communicate with my computer ...


3

You can control brushless motors 2 ways control with a hall effect sensor http://scholar.lib.vt.edu/theses/available/etd-09152003-171904/unrestricted/T.pdf sensorless(back emf) control http://www.pmdcorp.com/downloads/app_notes/BrushlessSensorConfig.pdf or you can buy an esc (elcetronic speed control) My advice If you are not knowledgeable about electronic ...


Only top voted, non community-wiki answers of a minimum length are eligible