Having some noob trouble with a sketch, and an arduino uno, i'm sure anybody with more knowledge than me could help.
add me on skype, gabe.spound2
Having some noob trouble with a sketch, and an arduino uno, i'm sure anybody with more knowledge than me could help.
add me on skype, gabe.spound2
can somebody just skype with me for five minutes, im sure its a simple issue, i just don't know much
The people trying to help here are all over the world.. literally so many different time zones, we get to respond when we have a moment from our busy lives and as a principal we dont skype etc, this would lead us to not getting other things done, if you, then the next etc. and it would never be just 5mins, we have way too much experiance with these things to assume only 5mins would be enough
+ as already stated, this is a community and we help the community and expect the responses to be shared with the community. putting things here helps people see a history of the issue, how it was resolved etc. + by getting you to walk through it, you will also learn much more.
I am sorry if we seem to be a pain by making you do it this way but the other 200,000+++ folks are quite happy to conform, please understand, nothing personal, just the right way to move forward
Robert Peter Oakesmcb1balearicdynamics
Sorry for the misuse of the forum, i was being lazy and i apologize.
I have attatched a schematic i made in fritzing(it's my first one so it might be a little messy, but its legible. And i have linked a video of the issue.
the relay turns the led on and off, instead of one clap for off, and another for on, the code im using is also in an above post. I am really at a loss for what the issue is because if i cut out the relay, and just wire pin 2 to the positive connection of the led, it works just fine, on with a clap, off with another, but when its hooked up to the relay, it just goes on and off with one clap.
*Bump* this is also open to anybody else who wasn't mentioned above, i really need help with this.
Hi Gabriel,
I suspect that your relay is drawing more current than the number 2 output of the Arduino can supply. The Arduino should drive a transistor, probably a small gate level MOSFET, and the transistor should connect the relay to the main power. Be certain to put a reverse biased diode across the relay coil to protect the circuit and a 470 uF capacitor from 5 Volt plus to ground will also improve the operation as it will stabilize the 5 volt supply.
Here is a schematic:
John
thanks, i think somebody also recommended that here, http://linustechtips.com/main/topic/449615-arduino-relay-help/ , is the sketch he supplied going to work
thanks, i think somebody also recommended that here, http://linustechtips.com/main/topic/449615-arduino-relay-help/ , is the sketch he supplied going to work
Hi Gabriel,
Yes this is the same idea. I suggested the MOSFET as I find they are easier to use than the BJTs. The Capacitor is just an extra precaution but the diode is pretty important to protect the transistor or MOSFET. Give it a try and get back to us with the results.
John
im still really new to electronics so could you explain what the mosfet/transistor does, and link me to one cuz there are a lot of different models
I suggest before adding more complexity to the circuit, to try to see if the relays switches when is does not power nothing. Better if you show us the relay datasheet as for as an example. In the scheme shown above I have used a 5$ relay supporting up to 36V external powers.
Enrico
yeah no it still goes on and off when its powering nothing
Trying to check your program again. The LED is replaced by the relay pin, correct ?
int analogValue; // This is where we'll store our audio to digital value. More sound = higher number #define LED 2 // Set up the LED indicator boolean toggle = false; // setup a boolean function called toggle which will help us to choose which mode we're in int numberOfClaps = 0; void setup() { toggle = false; // *** Just to be sure pinMode(LED,OUTPUT); // Pin#2 should be conencted to an LED through a 300-600 ohm resistor Serial.begin(9600); // This is optional - It just helps you to calibrate sensitivity after the fact } void loop() { digitalWrite(LED,LOW); // Turn the LED off - RELAY ? delay(2000); digitalWrite(LED,HIGH); // Turn the LED on delay(2000); }
Try this first. If the relay switches every two seconds, it's a problem of logic so should check the issue in your code else it is a problem of circuit or powering. What is the power drain by the relay?
Enrico
thank you all for your elaborate suggestions but i just changed it from 5v to 3.3v and it works fine. I don't know why, but i care, why does that make any difference at all?
Well happy to read this. There are two possible options in my view. The first is that the relay - for some unknown reasons - works at a lower power to the behaviour is unpredictable. The second is that you put the wrong power. Is suggest this just because I am not there, can you make a close-up shoot where the relay is connected to the power? If you have a tester check the real power that reach the relay.
Please mark as useful or correct answer the answers / suggestions of this question thread you consider correct or if none mark the question s "assume answered" so all the other users that search something can find this question useful.
Thank you. Enrico
There are several options to try.
1. See if you can use the Blink program in the Examples to simply toggle the relay on and off. (you'll need to change the pin to something other than pin 13)
This will prove that the Arduino can indeed power it.
2. What happens when you power the relay on and off, simply by connecting it to 5v and the ground ...does your LED turn on and off.
This proves if the circuit is picking up either the relay click or the spike from the relay.
Enrico has added a longer delay which could show if that is the problem.
You have what looks like a 220 ohm resistor across A0 to ground. You need something to hold it down, but I suspect a 100K will help give a much higher Analogue voltage which may help to stop the same voltage/spike from triggering it.
Generally it's best to not share the same earth/GND path with something that generates large spikes.
Motors/Relays and large loads should have the GND wire seperate from any analogue GND.
Lastly I presume it is a 5v relay.??
Mark
Hi Gabriel,
Here is a link to a MOSFET you can use:
http://www.newark.com/vishay-siliconix/irl510pbf/n-channel-mosfet-100v-5-6a-to/dp/63J7799
John
The idea of using a transistor or a MOSFET is to have it handle a heavier current than the Arduino can handle. The arduino can put out 20 mA which is enough to switch the transistor/MOSFET on and off. The transistor can handle a larger current, enough to turn the 100 mA relay on and off and finally the relay is designed to handle even a larger current and can turn a 10 amp motor or other appliance on and off. As mcb1 points out the contacts of the relay would be on a separate circuit in any real application of this circuit. Your use of an LED tied to the analog ground is a proof of concept short cut to see if the circuit works. If all you wanted to do is turn the LED on and off you have already proved that you do not need a relay to do this. The need for a relay comes into the picture if you have bigger and more power intensive plans for the utility of the final circuit. The 3V3 supplied by the Arduino derives from the 5 volt supply through a voltage regulator. This voltage regulator produces an isolation so that any spike that might be generated by the relay coil can not get back to the A0 input as easily. While it works this way you have probably made your clap sensor a little less sensitive. Your best bet will be to put in the diode, MOSFET, and the capacitor as recommended and return your microphone circuit to the 5 volt supply.
John