Go to Post Every time i look at my watch and see 3:65 o'clock I always thing, darn i gotta get a new watch... - Kyle [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 02-04-2011, 06:54
Roger Roger is offline
Registered User
FRC #1153
 
Join Date: Jan 2006
Rookie Year: 1900
Location: Walpole MA
Posts: 683
Roger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond repute
Arduino and LabVIEW

After searching high and low here and on the web, I still can't find a definitive answer: How do I send information (numbers) between the cRIO (using LabVIEW) and an Arduino Uno? And what are the actual hardware connections to be made at both ends? Thanks.
Reply With Quote
  #2   Spotlight this post!  
Unread 02-04-2011, 11:30
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: Arduino and LabVIEW

You can't, I also doubt if the arduino has enough power to run vXWorks either.
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
Reply With Quote
  #3   Spotlight this post!  
Unread 02-04-2011, 12:05
EricVanWyk EricVanWyk is offline
Registered User
no team
 
Join Date: Jan 2007
Rookie Year: 2000
Location: Boston
Posts: 1,597
EricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond reputeEricVanWyk has a reputation beyond repute
Send a message via AIM to EricVanWyk
Re: Arduino and LabVIEW

I'm not sure what David is talking about...

You can use I2C, SPI, or serial. Or, you could add an ethernet shield to the Arduino and use that.

For I2C and SPI, the cRIO wants to be the master. I'm not sure if the arduino easily supports slaving in these modes, you will have to check it out.

For serial, the Uno consumes its native serial port with its USB connection. Instead, you will have to use the software serial port library.
Reply With Quote
  #4   Spotlight this post!  
Unread 02-04-2011, 14:30
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: Arduino and LabVIEW

Quote:
Originally Posted by EricVanWyk View Post
I'm not sure what David is talking about...

You can use I2C, SPI, or serial. Or, you could add an ethernet shield to the Arduino and use that.

For I2C and SPI, the cRIO wants to be the master. I'm not sure if the arduino easily supports slaving in these modes, you will have to check it out.

For serial, the Uno consumes its native serial port with its USB connection. Instead, you will have to use the software serial port library.
My, bad, I read the question wrong... I thought he was asking how he can program the arduino with labview... Disregard my post
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
Reply With Quote
  #5   Spotlight this post!  
Unread 02-04-2011, 14:42
Andy A. Andy A. is offline
Getting old
FRC #0095
Team Role: Coach
 
Join Date: Jun 2001
Rookie Year: 2001
Location: New Hampshire
Posts: 1,013
Andy A. has a reputation beyond reputeAndy A. has a reputation beyond reputeAndy A. has a reputation beyond reputeAndy A. has a reputation beyond reputeAndy A. has a reputation beyond reputeAndy A. has a reputation beyond reputeAndy A. has a reputation beyond reputeAndy A. has a reputation beyond reputeAndy A. has a reputation beyond reputeAndy A. has a reputation beyond reputeAndy A. has a reputation beyond repute
Re: Arduino and LabVIEW

Quote:
Originally Posted by EricVanWyk View Post
I'm not sure what David is talking about...

You can use I2C, SPI, or serial. Or, you could add an ethernet shield to the Arduino and use that.

For I2C and SPI, the cRIO wants to be the master. I'm not sure if the arduino easily supports slaving in these modes, you will have to check it out.

For serial, the Uno consumes its native serial port with its USB connection. Instead, you will have to use the software serial port library.
There is also a CAN bus shield available, although I know little about it. It has a DB9 connector, which I guess means it's really intended to interface with automotive diagnostics stuff (complete with a sd card slot for data logging!). Still, I'm sure a clever team could handle the wiring and code required to interface it on a FIRST bot.

There are, of course, legal issues regarding custom circuits being in the CAN bus loop. Without carefully looking I think using the bus just to pass data is ok, as long as it doesn't try to control motors. I'm not sure exactly what practical advantage it would give you over SPI or I2C, but it would be pretty neat.

CAN bus shield on Sparkfun. It might be avalible elsewhere.
Reply With Quote
  #6   Spotlight this post!  
Unread 02-04-2011, 15:54
WizenedEE's Avatar
WizenedEE WizenedEE is offline
Registered User
AKA: Adam
FRC #3238 (Cyborg Ferrets)
Team Role: Leadership
 
Join Date: Jan 2011
Rookie Year: 2010
Location: Anacortes, WA
Posts: 395
WizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to all
Re: Arduino and LabVIEW

Custom Circuits are explicatively allowed to be on the CAN bus. They are also explicatively illegal to control any non-decorations (and I'm not sure about the rules on decorations). Unless, of course, you email FIRST and get something as an approved motor controller.

I'd most likely try to communicate using I2C, but if you can get the C-RIO to send out serial commands, that's the arduino's native protocall.
Reply With Quote
  #7   Spotlight this post!  
Unread 02-04-2011, 15:58
Roger Roger is offline
Registered User
FRC #1153
 
Join Date: Jan 2006
Rookie Year: 1900
Location: Walpole MA
Posts: 683
Roger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond repute
Re: Arduino and LabVIEW

Well, we might be but not all that clever, especially when we're short on time. I'll have to check those possibilities, Eric. Where does the data wire(s) get connected? Right now I'm in the "one step back" mode (computer doesn't want to download to the Arduino), so it'll be a bit.

All I need is to send a single number to the Arduino, and it'll turn on some LEDs. Can I do it through a Digital IO (which sounds the simpliest method)? WPI_PWMSetValue.vi?

Just saw Adam's post: Yeah, it's not quite decorative LEDs, so thats out. Any of the LabVIEW I2C examples are good to look at? Or the serial?

Last edited by Roger : 02-04-2011 at 16:05. Reason: WizenedEE snuck in
Reply With Quote
  #8   Spotlight this post!  
Unread 02-04-2011, 17:57
Mark McLeod's Avatar
Mark McLeod Mark McLeod is online now
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 8,713
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
Re: Arduino and LabVIEW

How big a number?

You can simply use the digital outputs on a sidecar to digital inputs on the Arduino to send a binary number.
You don't need a communications protocol to do that.

Maybe use one DIO to signal when the number has changed and should be read by the Arduino.
__________________
"Rationality is our distinguishing characteristic - it's what sets us apart from the beasts." - Aristotle
Reply With Quote
  #9   Spotlight this post!  
Unread 02-04-2011, 19:12
Roger Roger is offline
Registered User
FRC #1153
 
Join Date: Jan 2006
Rookie Year: 1900
Location: Walpole MA
Posts: 683
Roger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond repute
Re: Arduino and LabVIEW

Do you mean (for example) 4 DIOs sending a binary signal for 16 numbers? (And no, I don't have many numbers, but I can think of ways to expand that.) Just using the signal portion of the PWM wire, right? (The Keeper of the Numbers says we have 5 DIOs free for use.) Heh -- I had thought of that too, when we originally thought of using DIOs. It seemed too obvious to be true. Could it really be that simple? Thanks, Mark!

Of course, I spent the day trying to make connections on an older robot to test all this, and now discovered (after connecting all the dots, so to speak) that LabVIEW and the Arduino programming port don't play nice together. I am making a nice collection of laptops around me just to test this.
Reply With Quote
  #10   Spotlight this post!  
Unread 02-04-2011, 19:20
kamocat's Avatar
kamocat kamocat is offline
Test Engineer
AKA: Marshal Horn
FRC #3213 (Thunder Tech)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 2008
Location: Tacoma
Posts: 894
kamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nice
Send a message via AIM to kamocat Send a message via MSN to kamocat
Re: Arduino and LabVIEW

Quote:
Originally Posted by Roger View Post
Do you mean (for example) 4 DIOs sending a binary signal for 16 numbers? (And no, I don't have many numbers, but I can think of ways to expand that.) Just using the signal portion of the PWM wire, right? (The Keeper of the Numbers says we have 5 DIOs free for use.) Heh -- I had thought of that too, when we originally thought of using DIOs. It seemed too obvious to be true. Could it really be that simple? Thanks, Mark!

Of course, I spent the day trying to make connections on an older robot to test all this, and now discovered (after connecting all the dots, so to speak) that LabVIEW and the Arduino programming port don't play nice together. I am making a nice collection of laptops around me just to test this.
Yes, if you're not doing a high volume of data, this is an easy and viable method.
__________________
-- Marshal Horn
Reply With Quote
  #11   Spotlight this post!  
Unread 02-04-2011, 19:41
Roger Roger is offline
Registered User
FRC #1153
 
Join Date: Jan 2006
Rookie Year: 1900
Location: Walpole MA
Posts: 683
Roger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond repute
Re: Arduino and LabVIEW

Well we are talking about an Arduino. But no, just a signal to change lights.

Howsoever, I did see at FLR a team using an Arduino for sonar processing, but I don't know what kind of data they were sending back to the cRIO -- much more than I'm asking for, I'm sure. These little boards are fun to work with.
Reply With Quote
  #12   Spotlight this post!  
Unread 02-04-2011, 21:55
Roger Roger is offline
Registered User
FRC #1153
 
Join Date: Jan 2006
Rookie Year: 1900
Location: Walpole MA
Posts: 683
Roger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond repute
Re: Arduino and LabVIEW

An update -- I have some LabVIEW code that sends a DIO true/false value depending on a button press, recieved by the Arduino on a digital pin, and blinks the light on the Arduino and also prints out the high/low value (simple test), slowed down to 1/2 second cycle. Currently I'm getting a semi-random highs/lows, even without pressing the button, which I'm guessing is LV's issue, not continually sending the true/false signal? Unfortunately, I lost my LV computer so I can't check it -- maybe I can schedule for a 3 am session?
Reply With Quote
  #13   Spotlight this post!  
Unread 02-04-2011, 21:58
WizenedEE's Avatar
WizenedEE WizenedEE is offline
Registered User
AKA: Adam
FRC #3238 (Cyborg Ferrets)
Team Role: Leadership
 
Join Date: Jan 2011
Rookie Year: 2010
Location: Anacortes, WA
Posts: 395
WizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to all
Re: Arduino and LabVIEW

If you haven't opened the IO port in your code, I think it may leave the signal pin floating. Does it work when you press the button, or does it ignore the button as well?
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 08:14.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi