Robot de acelerómetro controlado (recogida y lugar) (5 / 6 paso)

Paso 5: codificación

Código: - para el transmisor

int sen0 = A0; eje del acelerómetro x

int sen1 = A1; eje y del acelerómetro

int sen2 = A2; Flex sensor

void setup()

{

Serial.Begin(9600);

}

void loop()

{

val0 int = map(analogRead(sen0), 450, 100, 260, 210); asignar los valores entrante en requried gama Serial.print(val0); enviar datos a través de Xbee

int val1 = map(analogRead(sen1), 450, 100, 260, 210);

Serial.Print(val1);

int val2 = map(analogRead(sen2), 450, 620, 100, 210);

Serial.Print(val2);

Delay(50); retardo de 50 ms

}

.

.

.

.

Código - receptor

#include < Servo.h >

int servo0Pin = 6;

int servo1Pin = 7;

int servo2Pin = 8;

Servo myservo0;

Servo myservo1;

Servo myservo2;

val0 int = 2;

int val1 = 3;

int val2 = 4;

int val3 = 5;

int buttonState0 = 0;

int buttonState1 = 0;

int buttonState2 = 0;

int buttonState3 = 0;

int out0 = 9;

out1 int = 10;

out2 int = 11;

int out3 = 12;

int d, i, n;

int u, v, w;

int DÚltimo (DLast), nlast, ilast;

void setup()

{

Serial.Begin(9600);

pinMode (out0, salida);

pinMode (out1, salida);

pinMode (out2, salida);

pinMode (out3, salida);

pinMode (val0, entrada);

pinMode (val1, entrada);

pinMode (val2, entrada);

pinMode (val3, entrada);

myservo0.Attach(servo0Pin);

myservo1.Attach(servo1Pin);

myservo2.Attach(servo2Pin);

}

void loop()

{

while(serial.Available() == 0);

int datos = Serial.read() - '0';

byte a = Serial.read();

byte b = Serial.read();

c bytes = Serial.read();

f bytes = Serial.read();

g bytes = Serial.read();

h byte = Serial.read();

k bytes = Serial.read();

l byte = Serial.read();

bytes m = Serial.read();

d = (c-48) + (b-48) * 10 + (a-48) * 100;

d = mapa (d, 100, 210, 20, 130);

d = restringir (d, 20, 130);

i = (h-48) + (g-48) * 10 + (f-48) * 100;

i = mapa (i, 100, 210, 20, 130);

i = restringir (i, 20, 130);

n = (m-48) + (l-48) * 10 + (k-48) * 100;

n = mapa (n, 210, 20, 100, 130);

n = restringir (n, 20, 130);

Si (d < 130 & & d > 20)

{

Si (DÚltimo (DLast)-d < = 20)

{

Si (u

{

u = u + 2;

}

Si (u == d)

{

u = u;

}

Si (u > d)

{

u = u-2;

}

myservo0.Write(u);

Serial.Print(u);

Serial.Print ("\t");

}

}

Si (i < 130 & & i > 20)

{

Si (ilast-i < = 20)

{

Si (v

{

v = v + 2;

}

Si (v == i)

{

v = v;

}

Si (v > i)

{

v = v-2;

}

myservo1.Write(v);

Serial.Print(v);

Serial.Print ("\t");

}

}

Si (n < 130 & & n > 20)

{

Si (nlast-n < = 20)

{

Si (w

{

w = w + 2;

}

if(w==n)

{

w = w;

}

Si (w > n)

{

w = w-2;

}

myservo2.Write(w);

Serial.Print(w);

Serial.Print ("\t");

}

}

Serial.println();

Serial.Flush();

int d = (int);

int e = (int) b;

int f = (int) c;

DÚltimo (DLast) = d;

ilast = i;

nlast = n;

buttonState0 = digitalRead(val0);

buttonState1 = digitalRead(val1);

buttonState2 = digitalRead(val2);

buttonState3 = digitalRead(val3);

Si (buttonState3 == baja & & buttonState2 == baja & & buttonState1 == alto & & buttonState0 == LOW) {}

digitalWrite (out0, HIGH);

digitalWrite (out1, LOW);

digitalWrite (out2, LOW);

digitalWrite (out3, HIGH);

}

Si (buttonState3 == baja & & buttonState2 == alto & & buttonState1 == baja & & buttonState0 == LOW) {}

digitalWrite (out0, HIGH);

digitalWrite (out1, LOW);

digitalWrite (out2, LOW);

digitalWrite (out3, LOW);

}

Si (buttonState3 == baja & & buttonState2 == alta & & buttonState1 == alto & & buttonState0 == LOW) {}

digitalWrite (out0, LOW);

digitalWrite (out1, LOW);

digitalWrite (out2, LOW);

digitalWrite (out3, HIGH);

}

Si (buttonState3 == alto & & buttonState2 == baja & & buttonState1 == baja & & buttonState0 == LOW) {}

digitalWrite (out0, LOW);

digitalWrite (out1, HIGH);

digitalWrite (out2, HIGH);

digitalWrite (out3, LOW);

}

Si (buttonState3 == baja & & buttonState2 == alto & & buttonState1 == baja & & buttonState0 == HIGH) {}

digitalWrite (out0, LOW);

digitalWrite (out1, LOW);

digitalWrite (out2, LOW);

digitalWrite (out3, LOW);

}

Delay(50);

}

Artículos Relacionados

Acelerómetro controlado Guanteletes Luz

Acelerómetro controlado Guanteletes Luz

Este Halloween, decidí ser Alina Starkov de La trilogía de Grisha por Leigh Bardugo. En los libros, ella es la solo sol invocador, haciendo magia con la luz y el calor.Puesto que esos poderes eran más allá de mí, armé un conjunto de guanteletes contr
Inalámbrico de acelerómetro controlado rgb-LED

Inalámbrico de acelerómetro controlado rgb-LED

acelerómetros MEMS (sistemas Micro electromecánicos) son de uso generalizado como sensores de inclinación en los teléfonos móviles y cámaras. Acelerómetros simples están disponibles ambos como ic chip y pcb-tablas de desarrollo económico.Chips inalám
Vidrio con luz de acelerómetro controlado

Vidrio con luz de acelerómetro controlado

He empezado este proyecto como un vidrio de lado de la cama con función de iluminación. Cuando he avanzado exploré diferentes usos en diferentes contextos.Escenario de cristal de lado de cama:Cuando el usuario se despierta y necesita beber agua, él o
Acelerómetro controlado, cabeza seguimiento Rover

Acelerómetro controlado, cabeza seguimiento Rover

Este proyecto fue una combinación de varias ideas que han venido juntos para crear a un impresionante rover.   El Rover es controlado usando un reloj equipado con un acelerómetro para registrar los movimientos y la inclinación de la muñeca.  El rover
Bluetooth/giroscopio/acelerómetro controlado Lightball (con leds ajustables individuales en cada lado)

Bluetooth/giroscopio/acelerómetro controlado Lightball (con leds ajustables individuales en cada lado)

Finalmente (casi el tópico) hice mi lightball personal.(A.k.a.: otro día en el FabLab de Aquisgrán)Cada lado es enlighted individualmente con un LED inteligente (WS2812b, en un protoboard pequeño) detrás. Un microcontrolador (MSP430G2553, PDIP.) pued
Acelerómetro controlado del LED

Acelerómetro controlado del LED

Controlar el brillo de los LED por su movimiento. El módulo de acelerómetro rastrea los movimientos de ejes X, Y y Z y controla el LED.Paso 1: materiales Un Arduino UnoMódulo de acelerómetroDe LEDConexión de los cablesUn tablero de panCable de datos
Mini coche controlado por bluetooth acelerómetro

Mini coche controlado por bluetooth acelerómetro

Hola amigos,Hace poco entré en el mundo de arduino y su impresionante open source programación y desarrollo. Así que decidí hacer un coche mini cool acelerómetro controlado por Bluetooth. Esto suena increíble pero el concepto es simple es controlado
Robot de pintura de la ventana (arduino, procesamiento, acelerómetro)

Robot de pintura de la ventana (arduino, procesamiento, acelerómetro)

la idea de este proyecto vino de uno de mis favoritos ' ibles: el polargraph. ¿Me encantó el estilo de dibujo y pensamiento lo guay sería hacerlo en el lado de un edificio? Por desgracia los retos para establecer una polargraph tan grande con un pres
Captura de movimiento con un acelerómetro de Arduino con XBee comunicaciones

Captura de movimiento con un acelerómetro de Arduino con XBee comunicaciones

***************************************ACTUALIZADO 10 DE JUNIO DE 2014 ***Según lo prometido, este Instructable ha sido actualizado para incluir una sección sobre comunicación XBee. Además, un Instructable nuevas se publicarán pronto sobre el desarro
Medida del ángulo mediante giroscopio, acelerómetro y Arduino

Medida del ángulo mediante giroscopio, acelerómetro y Arduino

el dispositivo es un prototipo áspero de lo que eventualmente se convertirá en un robot de balance del uno mismo, esta es la segunda parte de la cosa del agujero (leer acelerómetro y controlar un motor a balance del uno mismo). La primera parte con s
Guía de giroscopio y acelerómetro con Arduino incluye filtrado de Kalman

Guía de giroscopio y acelerómetro con Arduino incluye filtrado de Kalman

esta guía fue publicada primero en el foro de Arduino y se puede encontrar aquí: http://arduino.cc/forum/index.php/topic, 58048.0.htmlYo apenas había publicado, así que aún más conseguirá un uso. El código se puede encontrar aquí:https://github.com/T
Casco para bicicleta LED controlada por acelerómetro

Casco para bicicleta LED controlada por acelerómetro

si usted ciclo para diversión, ejercicio, ir al trabajo o compulsión, es importante estar bien iluminado y visible en la noche. Manteniendo el casco iluminado es una buena opción porque le da su principal protección extra. Este casco, el siguiente en
Acelerómetro analógico Control de un Servo

Acelerómetro analógico Control de un Servo

Se trata de un método de usar la salida de pulso cuadrado de un acelerómetro de dos ejes de Memsic para controlar un servo. Sin embargo, a diferencia de otros métodos que utilizan un dispositivo microcontrolador, te voy a mostrar cómo directamente to
Acelerómetro basado en reconocimiento de gestos para controlar un LED

Acelerómetro basado en reconocimiento de gestos para controlar un LED

Estos materiales y la información contenida en este instructivo son proporcionan por los estudiantes matriculados en el Software de lugares (www.softwareofplaces.com)Clase en la Universidad PUC-Rio. El contenido representado aquí es el proyecto final