Asked — Edited

Need Help With Led Plz

how can I turn on and off the LED from my robot eyes? I have them pludged in directly to a dig port(d3) but I don t know how to make this work. they stay on all the time but cant turn them off .

Skip to comments


Upgrade to ARC Pro

ARC Pro is your gateway to a community of like-minded robot enthusiasts and professionals, all united by a passion for advanced robot programming.

United Kingdom

Sounds like you have connected the LED to the VCC and Ground not the Signal and Ground.

Connect the anode of the LED to the Signal of the digital port. Connect the cathode side of the LED to the Ground of the digital port.

In ARC add the Digital Set Digital control.

Set the Port in the Set Digital control to that of the LED

Click on the button to turn on and off.

Refer to the LED Hardware Tutorial for more info.


OK thanks rich simple enough.that should help.

United Kingdom

There's not much chance of losing me dude:)

Although I am away next Tuesday to Thursday (but guaranteed I'll still log on...)


Maybe you should add a current limiting resistor, you don't want to burn one of your EZ-B's outputs :D

United Kingdom



The one thing to notice is an LED connected to a digital port on the EZ-B does not need a resistor. This is because the digital ports on the EZ-B have pull-up resistors built-in.

There was a discussion on this a couple of months ago here



A pullup resistor is not the same as a current limiting one.

But hey, if DJ said it won't do any damage I believe him.


Thanks guys ! Working great !now I need help with a better script to make the leds to come on n off when the robot talk.all I ve done so far is to make it blink by: set(dig port,on) and sleep etc.. but that s as far as I have ventured to do so far.any fun ideas?

United Kingdom

Add a SoundServo control from the servo section of control. Set the port to the same port your LED is connected to. Get your robot to speak:)

You may need to play with the scalar setting in the SoundServo

User-inserted image

It should increase the LED brightness depending on the sound.

If not, you could add the SoundServo control. Set the port to V1 Add a script;

If($soundvalue > 25)
  Set(D1, On)
  Set(D1, Off)

Play with the sleep and soundvalue.


Thanks rich . Awesome ! I was on the right track with the script! But failed to add ( ) with the if command line . Again awesome! Thanks

United Kingdom

You could use PWM rather than Set... so PWM(D1, $soundvalue)

I just tested it and it works nicely.


HI Rich! do you think it is possible to use the PMW to drive the LEd, but instead of getting the $soundvalue from the MIC, get that only from the soundboard ? I'm trying to sync my prototype´s mouth LED, but using the soundservo I don´t know how to avoid it to get the sound coming from the mic (and, if I turn the mic off, I can´t use the speach command...). I´m using an bluetooth speaker... and I wired the leds on the speaker + and -... IT works, but it´s draining too much power... can you help ? thanks so much! Tevans.

United Kingdom

The SoundServo picks up all sound on the PC (all soundcards, all mics, system sounds, everything) so it wouldn't work for that.

You're already doing what my first suggestion would have been. My only other suggestion would be to hook up the +ve side of the speaker to one of the ADC signal pins (make sure the speaker doesn't exceed 5V). You can then ReadADC(ADCPort) to get the level and use that to PWM a digital pin driving the LED...