Paso 6: programación
Bueno, por lo que su configuración es ahora completa. Ahora es el momento para hacerlos hablar. Asegúrese de que tener Arduino y Vixen instalado en su computadora. Conocer los conceptos básicos del lenguaje arduino ayudará mucho.Usted tendrá que empezar un perfil de Vixen específicamente para esta aplicación. Te sugiero 8 canales, ya es lo que.
Configuración de una vez, ajustar los ángulos del programa a su calabaza, como se señaló en el programa. Valor predeterminado es 45.
Este es el programa que dirijo, aunque no dude en experimentar con tu propio:
/*
Este código recorre vixen el arduino, pernos de usining 3, 5 y 6 con
3 servos independientes; se utilizan pines 9, 10 y 11 para 3 circuitos de LED con PWM;
pines 12, 13 son pins extra digitales.
*/
#include < Servo.h >
Pumpkin1 servo;
Servo Pumpkin2;
Servo Pumpkin3;
int pos = 0;
int Chan1 = 3; PWM-Servo 1
int Chan2 = 5; PWM-Servo 2
int Chan3 = 6; PWM-Servo 3
int Chan4 = 9; Luz de PWM 1
int Chan5 = 10; Luz de PWM 2
int Chan6 = 11; Luz de PWM 3
int Chan7 = 12; extra
int Chan8 = 13; extra
int i = 0; Contador de bucle
int incomingByte [8]; array para almacenar los 25 valores del puerto serial
int val1;
int val2;
val3 int;
configurar los pines / entradas y salidas
void setup()
{
Serial.Begin(9600); configurar serie a 9600 bps
pinMode (Chan1, salida);
Pumpkin1.Attach(3);
pinMode (Chan2, salida);
Pumpkin2.Attach(5);
pinMode (Chan3, salida);
Pumpkin3.Attach(6);
pinMode (Chan4, salida);
pinMode (Chan5, salida);
pinMode (Chan6, salida);
pinMode (Chan7, salida);
pinMode (Chan8, salida);
}
void loop()
{/ / 8 canales vienen a Arduino
Si (Serial.available() > = 8) {}
leer el byte más antigua en el buffer serial:
para (int i = 0; i < 9; i ++) {}
leer cada byte
incomingByte [i] = Serial.read();
}
Pumpkin1
val1 = incomingByte [0];
val1 = mapa (val1, 255, 0, 0, 45); Cambiar el último número según cuánto desea la calabaza para abrir.
Pumpkin1.Write(val1);
Delay(15);
Pumpkin2
val2 = incomingByte [1];
val2 = mapa (val2, 255, 0, 0, 45); Cambiar el último número según cuánto desea la calabaza para abrir.
Pumpkin2.Write(val2);
Delay(15);
Pumpkin3
val3 = incomingByte [2];
val3 = mapa (val3, 255, 0, 0, 45); Cambiar el último número según cuánto desea la calabaza para abrir.
Pumpkin3.Write(val3);
Delay(15);
analogWrite (Chan4, incomingByte[3]); Luz 1
analogWrite (Chan5, incomingByte[4]); Luz 2
analogWrite (Chan6, incomingByte[5]); Luz 3
digitalWrite (Chan7, incomingByte[6]); Extras
digitalWrite (Chan8, incomingByte[7]); Extras
}
}