1

So I have the following connected and the programming works fine when connect by USB

The Parts

  • 1 Arduino UNO
  • 1 Laser Module (KEYS)
  • 1 Rocker Switch Module (Standard 3 PIN)
  • 2 Variation Motors (KEYS)
  • 1 Speaker Module (BIG SPEAKER MODULE)
  • 2 Push Button Modules (Standard 3 PIN)
  • 1 SD Card Reader Module (Generic)
  • 1 3V 1800 amh Battery

The Problem 1 I want to make an On/Off Switch but it doesn't work.

Battery Powers The Arduino Like This: (WORKS)

https://postimg.cc/JHmTwFKc

Battery Powers The Arduino Like This: (NOT WORKING)

https://postimg.cc/V0RKzFVy

PROBLEM 1: Why doesn't this work when it does for the Nano I have here:

https://postimg.cc/SnXHfwPJ

Secondly Here are some pictures of the setup I have

Battery - Rocker

https://postimg.cc/KK6qfjMW

Rocker - Arduino

https://postimg.cc/hXH6y2FM

https://postimg.cc/4HJrvnCg

Wide View Of Project

https://postimg.cc/3WY5Qfkc

The Problem 2 I need advice on what size battery to use the project for 1-2 hours I think I need (5v,7v,9v) but would like some help with which would be best suited or any suggestions you have

What I think it is but need help

  1. The Wiring is wrong (but I have tested it all and its working fine)
  2. The Rocker Module is passing 3V to the UNO (Not enough Power)
  3. The Battery is not powerful enough (I need a bigger battery)
  4. NOOB Problems as its my first project

What I need help with

  1. What battery to use?
  2. Making the On/Off switch work

Thanks for the HELP!!!

BONUS Here is the code used:

 #include <pcmConfig.h>
 #include <pcmRF.h>
 #include <TMRpcm.h>
 
 #include <SPI.h>
 #include <SD.h>
 
 
 
 //SD card pin
 #define SD_ChipSelectPin 10
 //soundplayer object
 TMRpcm tmrpcm;
 
 
 int led = 13;
 //pin numbers
 int buttonpin = 3;
 int lazerpin = 4;
 int buttonpin2 = 5;
 int motorPin = 6;
 int motorPin2 = 7;
 
 //other values
 int t = 0;
 int val;
 int val2;
 int ammoUsed = 0;
 int prestate = 0;
 int prestate2 = 1;
 int canReload = 0;
 
 void setup()
 {
 //pin modes
 pinMode(led, OUTPUT);
 pinMode(lazerpin, OUTPUT);
 pinMode(buttonpin, INPUT);
 pinMode(buttonpin2, INPUT);
 pinMode(motorPin, OUTPUT);
 pinMode(motorPin2, OUTPUT);
 
 Serial.begin(9600);
 if (!SD.begin(SD_ChipSelectPin))
 {
 return;
 }
 else {
 //setup sound
 tmrpcm.speakerPin = 9;
 tmrpcm.quality(1);
 tmrpcm.setVolume(5);
 //play setup sound (user knows the gun is ready)
 playSound(0);
 tmrpcm.disable();
 tmrpcm.stopPlayback();
 }
 }
 
 //method to call sounds depending on the input
 void playSound(int t) {
 tmrpcm.disable();
 tmrpcm.stopPlayback();
 
 if (t == 0) {
 tmrpcm.setVolume(5);
 tmrpcm.play("0.wav");
 delay(2980); //time of clip
 }
 else if (t == 1) {
 tmrpcm.setVolume(6);
 tmrpcm.play("1.wav");
 delay(660); //time of clip
 }
 else if (t == 2) {
 tmrpcm.setVolume(5);
 tmrpcm.play("2.wav");
 delay(950); //time of clip
 }
 else if (t == 3) {
 tmrpcm.setVolume(6);
 tmrpcm.play("3.wav");
 delay(620); //time of clip
 }
 else if (t == 4) {
 tmrpcm.setVolume(5);
 tmrpcm.play("4.wav");
 delay(660); //time of clip
 }
 
 tmrpcm.disable();
 tmrpcm.stopPlayback();
 
 return;
 }
 void loop()
 {
 val = digitalRead(buttonpin); // check the state of the button
 val2 = digitalRead(buttonpin2); // check the state of the button
 
 //reload gun
 if (val2 == HIGH && prestate2 == 0 && canReload == 1)
 {
 //reset ammo and play sound with vibrate
 ammoUsed = 0;
 canReload = 0;
 digitalWrite(motorPin, HIGH); //vibrate
 digitalWrite(motorPin2, HIGH); //vibrate
 playSound(3);
 digitalWrite(motorPin, LOW); //stop vibrating
 digitalWrite(motorPin2, LOW); //stop vibrating
 prestate2 = 1;
 
 }
 else if (val2 == LOW)
 {
 //reload let go
 prestate2 = 0;
 }
 
 
 //Shooting the gun 1-4 normal. 5 is louder and longer.
 if (val == LOW) // if button is pressed, turn LED on
 {
 digitalWrite(lazerpin, LOW);
 digitalWrite(led, LOW);
 prestate = 0;
 }
 else if (val == HIGH && prestate == 0)
 {
 if (ammoUsed != 5)
 {
 ammoUsed ++;
 
 if (ammoUsed > 0) {
 canReload = 1;
 }
 else {
 canReload = 0;
 }
 
 
 //turn on lazer and virbate
 digitalWrite(lazerpin, HIGH);
 digitalWrite(led, HIGH);
 digitalWrite(motorPin, HIGH); //vibrate
 digitalWrite(motorPin2, HIGH); //vibrate
 
 //play sound
 if (ammoUsed == 5) {
 playSound(2);
 }
 else {
 playSound(1);
 }
 //after sound lazer and vibrate turn off
 digitalWrite(motorPin, LOW); //stop vibrating
 digitalWrite(motorPin2, LOW); //stop vibrating
 digitalWrite(lazerpin, LOW);
 digitalWrite(led, LOW);
 
 prestate = 1;
 }
 else {
 //no ammo just vibrate and play sound with no lazer
 digitalWrite(motorPin, HIGH); //vibrate
 digitalWrite(motorPin2, HIGH); //vibrate
 playSound(4);
 canReload = 1;
 digitalWrite(motorPin, LOW); //stop vibrating
 digitalWrite(motorPin2, LOW); //stop vibrating
 prestate = 1;
 
 }
 }
 
 }
asked May 8, 2021 at 1:31
4
  • Please link to the switch product, that you used. An image is not enough here. We beed to know, how the board uses the switch. Is it just a breakout board for the 3 switch pins or are there other electronics on it? Also please put the images directly in the question, not on an external site. And some of the images are not in focus or rather dark. Please provide good in-focus pictures, so that we can actually see something in them Commented May 8, 2021 at 20:42
  • Good starting project, You need to understand how a switch works, your first does not work you short the battery, draining it very fast. You need only two connections to the switch. Run ground to ground, battery to center pin and arduino to NO pin. Let us know if that works. You can view a few basic electronics tutorials, that will help. Remember we all started the same place you are. Most important have fun! Commented May 9, 2021 at 3:05
  • geekbuying.com/item/… this is the rocker Commented May 10, 2021 at 8:39
  • can confirm its definitly the 2 mode rocker that is wrong.......... as i have just tried it with a push switch to test it. and works fine haha. I tried what you said and the rocker switch does work either (SIG/VCC/GND) connect battery to VCC and SIG to arduino still nothing Commented May 10, 2021 at 8:47

1 Answer 1

1

So here is the deal (I Kinda Solved It) so I took apart a 9V battery pack with a flip switch in it..... soldered some wired to it and now it works perfectly...... haha

but I would still like the know the reason why the rocker switch module doesn't work.

the only thing I can think of is the Voltage or Amp passed from the Switch Module isn't enough to power the board (as I tried 3 different rocker switches and all acted the same)

Thanks for the help

answered May 10, 2021 at 10:24

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.