Things used in this project

Hardware components:
11113 01
SparkFun Arduino Pro Mini 328 - 5V/16MHz
×1
HC-05 bluetooth
×1
12002 04
Breadboard (generic)
×1
Male/Male Jumper Wires
×1
826 04
Male/Female Jumper Wires
×1
Rg relay a
RobotGeek Relay
×1
3 AAA enclosed battery case
×1
2S LiPo battery 300-1000 mah (XT-60 connector)
×1
0.25 mm Nichrome wire
×1
XT-60 LiPo connector
×1
Heat Shrink Tubing
×1
A plastic box with detachable lid
×1
Openbuilds wire cable by foot
OpenBuilds Wire Cable - By the Foot
×1
Terminal strip block
×1
Hand tools and fabrication machines:
Screwdriver
Wire stripper
Wire cutter
Lighter
Soldering flux
09507 01
Soldering iron (generic)
Cutter
Usb to TTL adapter

Schematics

The circuit schematic
Azqltkq4sjt3pm4vtiix

Code

The code that should be uploaded th the pro miniArduino
The code establishes a software serial connection (for HC-05) bluetooth module.

Then in the loop it listens to the serial connection for incoming communication (from the phone or tablet).

When something is received it will be checked for validity in the isPinNrValid function ( it should a pin number from 3 to 9), and then it toggles the pin on for "igniteTime". Ignite time is a constant initially defined by me for 2500 ms, you can change that to whatever you like, i've found out that my fireworks would ignite successfully given that interval.
#include <SoftwareSerial.h>

SoftwareSerial bluetooth(12, 13); // RX, TX
const int igniteTime = 2500;

void setup()
{
    Serial.begin(9600);	
    bluetooth.begin(9600);    
}

void loop()
{
    if (bluetooth.available() > 0) {
        char received = bluetooth.read();
        Serial.println(received);    
        if (isPinNrValid(received)) {
            togglePin(received);
        }  
    }
}

bool isPinNrValid(char pin)
{
    return pin >= '3' and pin <= '9';
}

void togglePin(char pinNr)
{
   Serial.print("Toggle pin:");Serial.println(pinNr);
   String pin;
   pin += (char) pinNr;
   int number = pin.toInt();
   pinMode(number, OUTPUT);
   digitalWrite(number, HIGH); 
   delay(igniteTime);
   digitalWrite(number, LOW); 
}

Credits

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

Playing Smartphone Games with a Relay Touch Board
Easy
  • 1,730
  • 8

I played smartphone games with a relay touch board.

Electric Pump Water Pistol
Easy
  • 357
  • 6

Full instructions

Want to have fun cooling off on a hot summer day with a water gun battle?

Electric Pump Water Pistol

RobotGeek Projects Team

Red Balloon
Easy
  • 1,045
  • 12

Full instructions

This is a great project you can make with your kids to raise their awareness to air pollution.

Arduino/Genuino 101 BLE Thermometer With TMP102 and Blynk
Easy
  • 990
  • 13

Full instructions

Here is how to make an Arduino/Genuino 101 Bluetooth Low Energy thermometer with TMP102 and Blynk.

Simple Arduino Digital Clock Without RTC
Easy
  • 1,960
  • 9

Work in progress

A simple Arduino Clock without RTC module for beginners. #Arduino project for beginners

Simple Arduino-based Thermometer
Easy
  • 677
  • 5

Cool thermometer using Sugru and circuito.io.

ProjectsCommunitiesContestsLiveJobsFree StoreBlogAdd projectSign up / Login
Respect project