How can Arduinos be integrated with the current electronic/control system?

Hey, my team is interested in building a custom electronic system during the post season. Have any of you utilized Arduinos to do this???

I made a system too replace the roborio with an arduino if thats what you mean

We use an arduino to control our LED strips. roboRio sends signal to dio on arduino. Adruino changes color scheme based on dio signal.

We have done a number of projects (most notably our air cannon) with arduino controls. They are a great way to control a robot on a much smaller budget that using a roboRIO. They interface easily with all of the PWM-based motor controllers, as well as the spike relay, and (through 12V relay modules) pneumatic solenoids, LEDs, and a wide variety of sensors. That is, they are a great low-cost **replacement **for the roboRIO in many applications where the RIO is a bit of overkill.

While it is certainly possible to communicate between arduino and cRIO/roboRIO computers using USB, serial I/O, I2C, and/or SPI, we have not found enough reason to justify the effort. This is because the thing that arduinos do so well is to provide a bunch of analog inputs, digital I/Os, and PWM outputs; these are all things which the RIOs natively do in sufficient quantity (and speed) for our needs.

We have successfully used raspberry pi as a vision processor on FRC competition robots. That is, we connect the camera directly to the pi (or on network in 2012-2014), and send data packets consisting of just a handful of numbers to the robot telling it where the target is located (header/sync, x, y, width, height). Offloading the vision processing to a device adjacent to the camera definitely reduces the required wireless network bandwidth and/or the CPU load on the RIO. (*and *vs *or *is based on your alternate solution.)

I guess the main thing to know as to how or if to integrate an arduino and a roboRIO boils down to the generic engineering question: what problem are you trying to solve?

Ngang,
Some of our students were involved with the school NJROTC group. NJROTC had an underwater comp and were building an underwater vehicle for that. One of our students was in both groups and we provided tech support for build and programming. An Arduino Uno was used for that purpose to supply signals for motor control using Victors and relays with a relay board.

You can control common FRC motor controllers using the Servo library and the Servo.writeMicroseconds() method. Write 1000 for full reverse, 2000 for full forward, and 1500 for neutral on most controllers. I’ve controlled Talon SRXs this way before with good results.

Hey, my team is interested in building a custom electronic system during the post season. Have any of you utilized Arduinos to do this???

There are even full arduino based products and free libraries for using wifi to control robots with arduino. :slight_smile:

We’ve been developing and selling these devices for several years. We sell complete robot controllers and also offer our communications library and driver stations for free to and Arduino user.

Learn more about RobotOpen here.

A custom swerve robot running Arduino based RobotOpen controls.

Our team has interfaced an Arduino Mega to the RoboRio, through what I believe was the rX/tX pins of the Arduino (not sure, I wasn’t in charge of that). We made sure to power the Arduino not through the Rio, but instead through a voltage step-down converter through the power expander. You have to go this route if you want to go LED strips, otherwise I can’t think of anything else that would supply the amperage.

Another option if you aren’t locked into an Arduino is a CTRE Hero.

http://www.ctr-electronics.com/control-system/hro.html

Tom,

Is there a link somewhere that discusses the pros/cons of the CTRE HERO development board vs the Aruduino family for those of us beginning down this embedded controller path?

I do have embedded controller experience but have been happy with the cRIO for FRC applicatons but would like to add vision processing to our FRC robot and the raspberry PI path seems to have some support.