Netcamprojects
Published © GPL3+

An Electric Kayak

Project uses an Arduino Uno computer and an 18 volt battery pack to efficiently power a 10 foot kayak electrically.

IntermediateFull instructions provided6,067
An Electric Kayak

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Cytron Technologies Cytron 20 amp robot motor driver
×1
12 volt trolling motor by Newport Vessels
×1
4 or 6 AH battery pack made by Ryobi
×1
Prototype Uno Shield
×1
Rotary Switch, 12 Position
Rotary Switch, 12 Position
×1
On/Off Switch with LED Indicator
×1
1/4 watt, 10000 ohm resistor
×12
20 amp ammeter
×1
30 volt voltmeter
×1
Miscellaneous screws, nuts and bolts, wood, aluminum bar and plastic
×1

Story

Read more

Schematics

Wiring Diagram

Electronic Diagram

Code

Electric Kayak Sketch

C/C++
This software is uploaded into the Uno microprocessor and controls the Cytron driver for the kayak.
// put your setup code here, to run once:
int KAYAK_PWM = 3;
int KAYAK_F1 = 4;
int KAYAK_F2 = 5;
int KAYAK_F3 = 6;
int KAYAK_F4 = 7;
int KAYAK_F5 = 8;
int KAYAK_F6 = 9;
int KAYAK_R1 = 10;
int KAYAK_R2 = 11;
int KAYAK_R3 = 12;
int KAYAK_DIR = 13;
int val = 0;
void setup ()
{
pinMode(3,OUTPUT);
pinMode(4,INPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
pinMode(7,INPUT);
pinMode(8,INPUT);
pinMode(9,INPUT);
pinMode(10,INPUT);
pinMode(11,INPUT);
pinMode(12,INPUT);
pinMode(13,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
val=digitalRead(KAYAK_F1);
if (val == 1) {
digitalWrite(KAYAK_DIR,val);
analogWrite(KAYAK_PWM,60*val);
delay (1000);
digitalWrite(KAYAK_DIR,LOW);
digitalWrite(KAYAK_PWM,LOW);}
val=digitalRead(KAYAK_F2);
if (val == 1) {
digitalWrite(KAYAK_DIR,val);
analogWrite(KAYAK_PWM,80*val);
delay (1000);
digitalWrite(KAYAK_DIR,LOW);
digitalWrite(KAYAK_PWM,LOW);}
val=digitalRead(KAYAK_F3);
if (val == 1) {
digitalWrite(KAYAK_DIR,val);
analogWrite(KAYAK_PWM,100*val);
delay (1000);
digitalWrite(KAYAK_DIR,LOW);
digitalWrite(KAYAK_PWM,LOW);}
val=digitalRead(KAYAK_F4);
if (val == 1) {
digitalWrite(KAYAK_DIR,val);
analogWrite(KAYAK_PWM,120*val);
delay (1000);
digitalWrite(KAYAK_DIR,LOW);
digitalWrite(KAYAK_PWM,LOW);}
val=digitalRead(KAYAK_F5);
if (val == 1) {
digitalWrite(KAYAK_DIR,val);
analogWrite(KAYAK_PWM,140*val);
delay (1000);
digitalWrite(KAYAK_DIR,LOW);
digitalWrite(KAYAK_PWM,LOW);}
val=digitalRead(KAYAK_F6);
if (val == 1) {
digitalWrite(KAYAK_DIR,val);
analogWrite(KAYAK_PWM,160*val);
delay (1000);
digitalWrite(KAYAK_DIR,LOW);
digitalWrite(KAYAK_PWM,LOW);}
val=digitalRead(KAYAK_R1);
if (val == 1) {
digitalWrite(KAYAK_DIR,LOW);
analogWrite(KAYAK_PWM,60*val);
delay (1000);
digitalWrite(KAYAK_DIR,LOW);
digitalWrite(KAYAK_PWM,LOW);}
val=digitalRead(KAYAK_R2);
if (val == 1) {
digitalWrite(KAYAK_DIR,LOW);
analogWrite(KAYAK_PWM,80*val);
delay (1000);
digitalWrite(KAYAK_DIR,LOW);
digitalWrite(KAYAK_PWM,LOW);}
val=digitalRead(KAYAK_R3);
if (val == 1) {
digitalWrite(KAYAK_DIR,LOW);
analogWrite(KAYAK_PWM,120*val);
delay (1000);
digitalWrite(KAYAK_DIR,LOW);
digitalWrite(KAYAK_PWM,LOW);}
//delay (2000);
}      

Credits

Netcamprojects

Netcamprojects

0 projects • 9 followers

Comments