Project Arrow
Anti Poaching UAV South Africa
June 2016 :Controller program working over internet on the Raspberry Pi 3 :-)
October 2017 : Controller program working over 3G
Using this controller because its cheep and there is alot of information about it.
I don't need its processing ability. I simply give it inputs from the processing program!
Arduno UNo R3
#include <Firmata.h>
#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
Servo servo6;
Servo servo7;
Servo servo8;
Servo servo9;
Servo servo10;
Servo laser11;
void digitalWriteCallback(byte pin, int value)
//void analogWriteCallback(byte pin, int value)
{
if(pin == 1)
servo1.write(value);
if(pin == 2)
servo2.write(value);
if(pin == 3)
servo3.write(value);
if(pin == 4)
servo4.write(value);
if(pin == 5)
servo5.write(value);
if(pin == 6)
servo6.write(value);
if(pin == 7)
servo7.write(value);
if(pin == 8)
servo8.write(value);
if(pin == 9)
servo9.write(value);
if(pin == 10)
servo10.write(value);
if(pin == 11)
laser11.write(value);
}
void setup()
{
Firmata.setFirmwareVersion(0, 2);
Firmata.attach(ANALOG_MESSAGE, digitalWriteCallback);
//Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);
servo1.attach(1);
servo2.attach(2);
servo3.attach(3);
servo4.attach(4);
servo5.attach(5);
servo6.attach(6);
servo7.attach(7);
servo8.attach(8);
servo9.attach(9);
servo10.attach(10);
laser11.attach(11);
Firmata.begin(57600);
}
void loop()
{
while(Firmata.available())
Firmata.processInput();
}