element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum Need 10 minutes from an Arduino Expert
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 34 replies
  • Subscribers 395 subscribers
  • Views 2224 views
  • Users 0 members are here
  • arduino
Related

Need 10 minutes from an Arduino Expert

gub11
gub11 over 10 years ago

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

  • Sign in to reply
  • Cancel

Top Replies

  • Robert Peter Oakes
    Robert Peter Oakes over 10 years ago in reply to gub11 +2
    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…
  • Robert Peter Oakes
    Robert Peter Oakes over 10 years ago +1
    Can you please simply post your issue here with sketch, diagrams and description of the problem then many folks will be able to help and then the answer will also help many
  • mcb1
    mcb1 over 10 years ago in reply to gub11 +1
    gub11 Okay so you've included the code for the LED. What about including what you did for the relay. Note to include code paste the code, then select it. Click on the >> and then select Syntax highlighting…
Parents
  • gub11
    0 gub11 over 10 years ago

    can somebody just skype with me for five minutes, im sure its a simple issue, i just don't know much

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 10 years ago in reply to gub11

    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

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • gub11
    0 gub11 over 10 years ago in reply to Robert Peter Oakes

    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.

    https://youtu.be/KMs2VD4fwFA

     

    image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • gub11
    0 gub11 over 10 years ago in reply to gub11

    *Bump* this is also open to anybody else who wasn't mentioned above, i really need help with this.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jw0752
    0 jw0752 over 10 years ago in reply to gub11

    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:

     

    image

     

    John

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • gub11
    0 gub11 over 10 years ago in reply to jw0752

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • gub11
    0 gub11 over 10 years ago in reply to jw0752

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • jw0752
    0 jw0752 over 10 years ago in reply to gub11

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • gub11
    0 gub11 over 10 years ago in reply to jw0752

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • balearicdynamics
    0 balearicdynamics over 10 years ago in reply to gub11

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • gub11
    0 gub11 over 10 years ago in reply to balearicdynamics

    yeah no it still goes on and off when its powering nothing

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • balearicdynamics
    0 balearicdynamics over 10 years ago in reply to gub11

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • gub11
    0 gub11 over 10 years ago in reply to gub11

    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?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • balearicdynamics
    0 balearicdynamics over 10 years ago in reply to gub11

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • mcb1
    0 mcb1 over 10 years ago in reply to balearicdynamics

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jw0752
    0 jw0752 over 10 years ago in reply to gub11

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jw0752
    0 jw0752 over 10 years ago in reply to gub11

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube