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 .


ARC Pro

Upgrade to ARC Pro

Join the ARC Pro community and gain access to a wealth of resources and support, ensuring your robot's success.

United Kingdom
#1  

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.

#2  

OK thanks rich simple enough.that should help.

United Kingdom
#4  

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

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

Netherlands
#5  

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

United Kingdom
#6  

@Niek

Quote:

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

Netherlands
#7  

@Rich

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.

#8  

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
#9  

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;

:loop
If($soundvalue > 25)
  Set(D1, On)
Else
  Set(D1, Off)
EndIf
Sleep(100)
Goto(loop)

Play with the sleep and soundvalue.

#10  

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
#11  

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

I just tested it and it works nicely.

Brazil
#13  

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
#14  

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...