From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW with Arduino: Dependent LED lights

Hello there! How would one make LED lights turn on only one at a time? As of right now, I have three LEDs - G, B, Y - and I can have either 1, 2, or 3 of them be turned on at the same time. However, I wanted to make it so that if G is on, and I click to turn on B, then G turns off. If B is on and I click turn on Y, then B turns off. Only one light would be turned on at a time. If only Labview had a switch or slider that can turn on one pin at a time, that would be perfect.

So far, I have looked around and I think I'm seeing two ways I can go about this, 1) to use arrays/case structures (and keep the three-button interface) or 2) make a three-way switch and integrate this switch into my current VI (attached). I'm a beginner and haven't seen examples where case structures are used with Arduino in this way, so any help or advice on how to go about this would be great! Thank you. 

 

 

0 Kudos
Message 1 of 4
(2,810 Views)

We can do this with an enum and a case statement as well which is pretty simple to setup. I have included an example of this below, please let me know if this is what you were envisioning.

0 Kudos
Message 2 of 4
(2,708 Views)

Thank you so much for your reply!

 

Yes, that is what I'm looking for, but preferably with the user clicking on the round buttons instead of a drop-down box, though I think that would be an easy edit. Where I'm stuck at now is how I can incorporate Arduino commands with this...would the digital write pins be inside the case structure or outside of it? 

0 Kudos
Message 3 of 4
(2,680 Views)

Here is an example using buttons (you must click off of the previous button before you can turn on the next LED). You can implement this with an Arduino by including the digital lines inside of the while loop and connect the digital lines in place of the buttons. Inside of the while loop will allow you to constantly monitor those digital lines. 

0 Kudos
Message 4 of 4
(2,665 Views)