Things used in this project

Hardware components:
1sheeld%20android%20low%20quality
1Sheeld 1Sheeld (Android shield for Arduino)
×1
A000066 iso both
Arduino Arduino UNO & Genuino UNO
×1
5163008le
Pebble Pebble Steel
×1
1434509556 android phone color
Android Android device
×1
Software apps and online services:
Tasker for Android
PebbleTasker

Schematics

Basic diagram of an LED circuit
The black diagram is a simplified version of a circuit for each individual component in your car.

You would usually access the individual buttons/switches from the dashboard, e.g. headlights/turn signals.

By pressing a button/switch, you simply complete the circuit and turn on the lights. The arduino+relay aims to complete the circuit without having to physically press the actual button, yet it doesn't interfere with the original function.
Relay

Code

Tasker taskXML
Create one for each separate relay/pin, and remember to change the input pin that you are triggering. It is simply doing: HIGH > WAIT(100ms) > LOW
<TaskerData sr="" dvi="1" tv="4.7u3m">
	<Task sr="task62">
		<cdate>1436544359424</cdate>
		<edate>1440646568135</edate>
		<id>62</id>
		<nme>Relay 1</nme>
		<pri>100</pri>
		<Action sr="act1" ve="7">
			<code>3138</code>
			<Bundle sr="arg0">
				<Vals sr="val">
					<com.integreight.onesheeld.extra.OUTPUT>true</com.integreight.onesheeld.extra.OUTPUT>
					<com.integreight.onesheeld.extra.OUTPUT-type>java.lang.Boolean</com.integreight.onesheeld.extra.OUTPUT-type>
					<com.integreight.onesheeld.extra.PIN_NUMBER>14</com.integreight.onesheeld.extra.PIN_NUMBER>
					<com.integreight.onesheeld.extra.PIN_NUMBER-type>java.lang.Integer</com.integreight.onesheeld.extra.PIN_NUMBER-type>
					<com.twofortyfouram.locale.intent.extra.BLURB>Pin 14 set to High</com.twofortyfouram.locale.intent.extra.BLURB>
					<com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
					<net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
					<net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
				</Vals>
			</Bundle>
			<Str sr="arg1" ve="3">com.integreight.onesheeld</Str>
			<Str sr="arg2" ve="3">1Sheeld</Str>
			<Int sr="arg3" val="0"/>
		</Action>
		<Action sr="act2" ve="7">
			<code>30</code>
			<Int sr="arg0">
				<var>100</var>
			</Int>
			<Int sr="arg1" val="0"/>
			<Int sr="arg2" val="0"/>
			<Int sr="arg3" val="0"/>
			<Int sr="arg4" val="0"/>
		</Action>
		<Action sr="act3" ve="7">
			<code>3138</code>
			<Bundle sr="arg0">
				<Vals sr="val">
					<com.integreight.onesheeld.extra.OUTPUT>false</com.integreight.onesheeld.extra.OUTPUT>
					<com.integreight.onesheeld.extra.OUTPUT-type>java.lang.Boolean</com.integreight.onesheeld.extra.OUTPUT-type>
					<com.integreight.onesheeld.extra.PIN_NUMBER>14</com.integreight.onesheeld.extra.PIN_NUMBER>
					<com.integreight.onesheeld.extra.PIN_NUMBER-type>java.lang.Integer</com.integreight.onesheeld.extra.PIN_NUMBER-type>
					<com.twofortyfouram.locale.intent.extra.BLURB>Pin 14 set to Low</com.twofortyfouram.locale.intent.extra.BLURB>
					<com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
					<net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
					<net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
				</Vals>
			</Bundle>
			<Str sr="arg1" ve="3">com.integreight.onesheeld</Str>
			<Str sr="arg2" ve="3">1Sheeld</Str>
			<Int sr="arg3" val="0"/>
		</Action>
	</Task>
</TaskerData>
Untitled fileArduino
void setup()
{
  pinMode(7, OUTPUT); //Relay1
  pinMode(6, OUTPUT); //Relay2
  pinMode(5, OUTPUT); //Relay3
  pinMode(4, OUTPUT); //Relay4
}

void loop() {
  if (digitalRead(A0) == HIGH) togglePin(7);
  if (digitalRead(A1) == HIGH) togglePin(6);
  if (digitalRead(A2) == HIGH) togglePin(5);
  if (digitalRead(A3) == HIGH) togglePin(4);
}

void togglePin(int pinOut) {
  digitalWrite(pinOut, !digitalRead(pinOut)); //Toggle HIGH/LOW
  delay(200);
}
Codebender
The Arduino code is a simple toggle high/low function for each pin per-relay. Relays 1-4 is controlled by pin 4-7 respectively, and I used the analog pins as input. (NOTE: delay(200) assumes that you don't trigger pins too fast!)

Credits

Mikaweeicon
Mika Wee

http://MikaWee.info

Contact

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

Life Saver
Intermediate
  • 3,872
  • 72

Work in progress

Detect road accident, raise SOS, share location, share & monitor vital health stats during accident using Pebble. #SaveLife

Life Saver

Team Enigma

Pebble controlled DIY SmartGarage with the Sparkcore
Intermediate
  • 7,402
  • 97

Full instructions

Build it yourself and control your garage door with the Pebble Smartwatch and the Sparkcore

Particle Sumo Bot
Intermediate
  • 3,435
  • 59

Full instructions

3D Printed Particle.io powered Sumo Bot with Pololu motor controller

RunTracker One
Intermediate
  • 963
  • 17

Work in progress

Go running with only one device - your smartwatch - and still enjoy all your music, GPS tracking, and more!

RunTracker One

Team Wesley Crushers

PebbleCannon
Intermediate
  • 972
  • 17

Vanquish your foes, control a nerf gun with your pebble watch.

LinkIt One + SmartThings + Pebble IoT Dial-A-Trigger
Intermediate
  • 1,103
  • 23

Full instructions

Winner of Hardware Weekend Manhattan 2015 SmartThings Sponsor Award A phone call + motion sensor operated operated remote triggering system

Add projectSign up / Login