Arduino Robot V2 (rápido) también controlado por voz (10 / 11 paso)

Paso 10: código

El código puede encontrarse en los archivos adjuntos. No dude en modificar el código, pero sólo deja un Comentario en lo que subió con él.


Código

#include

Servo servoMain;

temp de flotador;

int tempPin = 0;

int r_motor_n = 2; Control PWM Motor de derecho-

int r_motor_p = 4; Control PWM Motor derecho +

int l_motor_p = 5; Control PWM izquierda Motor +

int l_motor_n = 7; Control PWM izquierda Motor-

permiten int = 3;

int luz = 9;

int enable2 = 6; PWM CONTROL VELOCIDAD

speed1 int = 0; Velocidad de control PWM

int incomingByte = 0; para los datos entrantes en serie

#include

#define TRIGGER_PIN 12 / / pin Arduino atado para activar el pin en el sensor de ultrasonidos.

#define ECHO_PIN 11 / / atado de Arduino pin a pin en el sensor ultrasónico del eco.

#define MAX_DISTANCE 200 / / distancia máxima queremos ping para (en centímetros). Distancia máxima del sensor está valorada en 400-500cm.

Sonar de NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); NewPing instalación de pernos y distancia máxima.

void setup()

{

servoMain.attach(10);

pinMode (r_motor_n, salida); Pines de control conjunto que salidas

pinMode (r_motor_p, salida);

pinMode (l_motor_p, salida);

pinMode (l_motor_n, salida);

pinMode (permiten, salida);

pinMode (enable2, salida);

pinMode (ligero, salida);

digitalWrite (r_motor_n, bajo); partió dos motores para el arranque

digitalWrite (r_motor_p, bajo);

digitalWrite (l_motor_p, bajo);

digitalWrite (l_motor_n, bajo);

digitalWrite (habilitar, LOW);

digitalWrite (enable2, bajo);

digitalWrite (luz alta);

Serial.Begin(9600);

Serial.Print ("Whats up im átomo, preparaban!!!!!! \n");

Serial.Print ("w = adelante \n");

Serial.Print ("s = retroceso \n");

Serial.Print ("d = derecha \n");

Serial.Print ("a = izquierda \n");

Serial.Print ("f = parada \n");

Serial.Print ("freaks cojo robótica");

}

void loop()

{

Si (Serial.available() > 0) {}

leer el byte entrante:

incomingByte = Serial.read();

}

Switch(incomingByte)

{

de caso ': / / control para detener el robot

digitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 bajo

digitalWrite (r_motor_p, bajo);

digitalWrite (l_motor_p, bajo);

digitalWrite (l_motor_n, bajo);

analogWrite (habilitar, 0);

analogWrite (enable2, 0);

Serial.println("Stop\n");

incomingByte ='* ';

rotura;

caso 'R': //control para derecho

digitalWrite (r_motor_n, HIGH); Establecer la dirección del motor, 1 alto, 2 bajo

digitalWrite (r_motor_p, bajo);

digitalWrite (l_motor_p, HIGH);

digitalWrite (l_motor_n, bajo);

analogWrite (enable, speed1);

analogWrite (enable2, speed1);

Serial.println("right\n");

incomingByte ='* ';

rotura;

caso 'L': //control de izquierda

digitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 de alto

digitalWrite (r_motor_p, HIGH);

digitalWrite (l_motor_p, bajo);

digitalWrite (l_motor_n, HIGH);

analogWrite (enable, speed1);

analogWrite (enable2, speed1);

Serial.println("left\n");

incomingByte ='* ';

rotura;

'F' del caso: //control para adelante

digitalWrite (r_motor_n, HIGH); Establecer la dirección del motor, 1 alta, 2 alta

digitalWrite (r_motor_p, bajo);

digitalWrite (l_motor_p, bajo);

digitalWrite (l_motor_n, HIGH);

analogWrite (enable, speed1);

analogWrite (enable2, speed1);

Serial.println("forward\n");

incomingByte ='* ';

rotura;

caso 'B': //control para atrás

digitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 bajo

digitalWrite (r_motor_p, HIGH);

digitalWrite (l_motor_p, HIGH);

digitalWrite (l_motor_n, bajo);

analogWrite (enable, speed1);

analogWrite (enable2, speed1);

Serial.println("backwards\n");

incomingByte ='* ';

rotura;

caso 'f':

digitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 bajo

digitalWrite (r_motor_p, bajo);

digitalWrite (l_motor_p, bajo);

digitalWrite (l_motor_n, bajo);

analogWrite (habilitar, 0);

analogWrite (enable2, 0);

Serial.println("Stop\n");

incomingByte ='* ';

rotura;

caso sería ':

digitalWrite (r_motor_n, HIGH); Establecer la dirección del motor, 1 alto, 2 bajo

digitalWrite (r_motor_p, bajo);

digitalWrite (l_motor_p, HIGH);

digitalWrite (l_motor_n, bajo);

analogWrite (enable, speed1);

analogWrite (enable2, speed1);

Serial.println("right\n");

incomingByte ='* ';

rotura;

caso 'a':

digitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 de alto

digitalWrite (r_motor_p, HIGH);

digitalWrite (l_motor_p, bajo);

digitalWrite (l_motor_n, HIGH);

analogWrite (enable, speed1);

analogWrite (enable2, speed1);

Serial.println("left\n");

incomingByte ='* ';

rotura;

caso 'w':

digitalWrite (r_motor_n, HIGH); Establecer la dirección del motor, 1 alta, 2 alta

digitalWrite (r_motor_p, bajo);

digitalWrite (l_motor_p, bajo);

digitalWrite (l_motor_n, HIGH);

analogWrite (enable, speed1);

analogWrite (enable2, speed1);

Serial.println("forward\n");

incomingByte ='* ';

rotura;

de caso ':

digitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 bajo

digitalWrite (r_motor_p, HIGH);

digitalWrite (l_motor_p, HIGH);

digitalWrite (l_motor_n, bajo);

analogWrite (enable, speed1);

analogWrite (enable2, speed1);

Serial.println("backwards\n");

incomingByte ='* ';

rotura;

caso 'r': / / ángulos de servo

servoMain.write(0);

rotura;

caso ' t ':

servoMain.write(45);

rotura;

caso 'y':

servoMain.write(90);

rotura;

caso 'u':

servoMain.write(135);

rotura;

caso 'i':

servoMain.write(180);

rotura;

caso ' o ': / / valores de velocidad PWM

Speed1 = 0;

rotura;

caso '1':

Speed1 = 155;

rotura;

caso '2':

Speed1 = 165;

rotura;

Case '3':

Speed1 = 175;

rotura;

caso '4':

Speed1 = 185;

rotura;

caso '5':

Speed1 = 195;

rotura;

caso '6':

Speed1 = 205;

rotura;

caso '7':

Speed1 = 215;

rotura;

caso '8':

Speed1 = 225;

rotura;

caso '9':

Speed1 = 235;

rotura;

caso 'q':

Speed1 = 255;

rotura;

caso soy ':

Temp = analogRead(tempPin); Leer la temperatura

Temp = temp * 0.48828125;

Serial.Print ("TEMPRATURE =");

Serial.Print(Temp);

Serial.Print("*C");

Serial.println();

Delay(1000);

rotura;

caso 'p': / / tiempo para sensor de ultasonic de thr de ping

Delay(50); Esperar 50ms entre pings (pings alrededor de 20 por segundo). 29ms debería ser el retraso más corto entre pings.

unsigned int nos = sonar.ping(); Enviar ping, ping tiempo en microsegundos (uS).

Serial.Print ("Ping:");

Serial.Print(US / US_ROUNDTRIP_CM); Convertir el tiempo de ping a distancia en cm y el resultado de la impresión (0 = distancia fija fuera de rango)

Serial.println("cm");

rotura;

Delay(5000);

}

}

Apoyarme y votar, si gano le garantizo que verá un montón de proyectos como este y si tienes cualquier problema sienta libre a PM me.

Artículos Relacionados

Drone controlado por voz

Drone controlado por voz

Este Instructable le guiará a través de cómo hacer un robot controlado por voz. Si tienen experiencia en codificación y quisiera intentar la codificación de la interfaz de la aplicación desde cero, habrá varios pasos para ayudar a guiarte en el camin
Sistema de domótica controlado por voz (barato y fácil)

Sistema de domótica controlado por voz (barato y fácil)

Utilizando un Arduino, un portátil reciclado y limitados conocimientos de programación, podría ser capaz de crear su propio sistema de automatización del hogar siguiendo estos pasos.Este instructable muestra un método barato para crear un sistema de
Hacer un Robot controlado por voz

Hacer un Robot controlado por voz

(solicitado en el concurso, 18 años edad categoría)Este tutorial mostrará cómo construir un robot simple voz controlada que es bastante fácil para los principiantes a hacer en unas pocas horas. Muestro cómo se puede hacer en dos idiomas, Inglés y tai
Robot controlado por voz

Robot controlado por voz

Ahora puedes controlar tu robot utilizando su teléfono inteligente a decir comandos como seguir adelante, paso atrás, etc...Paso 1: lo esencial:Se requieren los siguientes elementos, o equivalente.1) tablero 1sheeld y smart android teléfono / Tablet.
Asistente PC controlado por voz

Asistente PC controlado por voz

Ok así que sé que ya hay muchas de ellas por ahí, pero no pude encontrar una voz controlada Asistente de PC que me gustó, así que hice mi propio. El asistente hará todo lo posible de decir chistes a los programas de apertura y codifiqué incluso un pe
Cómo hacer un Robot de 2 ruedas, controlado por infrarrojos, compatible con Arduino

Cómo hacer un Robot de 2 ruedas, controlado por infrarrojos, compatible con Arduino

Es este instructable sobre cómo usted puede hacer su propio robot para que:-Es controlado por un control remoto IR-Son capaces de acceder y modificar el código para el contenido de su corazón-Usted puede cambiar el robot chassy a cualquier tamaño o f
Proyectos de Carlitos: Inalámbrico controlado por discurso Arduino Robot

Proyectos de Carlitos: Inalámbrico controlado por discurso Arduino Robot

Todos soñamos con tener aparatos y máquinas que pueden obedecer a nuestros comandos hablados. Bien, vamos a tomar el primer paso para que esto suceda y construir un intervención controlada basada en Arduino robot móvil.Puedes estar pensando que hacer
Inicio de automatización (o Robot mayordomo llamado Geoffrey) - controlado por iPhone, basado en arduino

Inicio de automatización (o Robot mayordomo llamado Geoffrey) - controlado por iPhone, basado en arduino

poder controlar todo desde su bolsillo ha sido un sueño compartido por muchos. Anteriormente hemos tenido mandos a distancia universales que pueden tanto controlar nuestros televisores y radios, luego tuvimos tomas de corriente inalámbrica. ¿Tanto gr
Robot controlado por Bluetooth usando Arduino

Robot controlado por Bluetooth usando Arduino

Bluetooth coche controlada mediante el uso de Arduino uno de teléfono móvil con AndroidPaso 1: Aparato requerido:1 X Arduino Atmega3281 módulo X Bluetooth (HC-06)1 compatible con chasis de X 4 X (o) 2 x ruedas al chasisSoporta 4 x motores (o) x 2 mot
1Sheeld controlado por Arduino vehículo

1Sheeld controlado por Arduino vehículo

Utilizando 1Sheeld, mando un Arduino powered vehículo con el acelerómetro en tu Smartphone/Tablet.Paso 1: lo esencial Se requieren los siguientes elementos, o equivalente.1) cualquier Arduino powered plataforma del vehículo. En la foto es el Thumper
Carro RC a Arduino Robot con sensores múltiples

Carro RC a Arduino Robot con sensores múltiples

este instructable abarca la conversión de un carro RC en un robot controlado por Arduino. Mi intención al iniciar este proyecto fue A) aprender más sobre Arduino y programación B) construir una plataforma confiable de bajo costo para ampliar C) gasta
El Hexachord, un instrumento Musical controlado por Arduino

El Hexachord, un instrumento Musical controlado por Arduino

El año pasado, con la fecha límite de la zona de Bahía Maker Faire, he creado un nuevo instrumento llamado el Hexachord. Era un montón de diversión, un gran éxito, y he tenido la oportunidad de hacer una serie de conversaciones sobre ello. El desafío
Controlado por Arduino lobo cola

Controlado por Arduino lobo cola

saludos, o mejor dicho, "Aaaaaooooooooooooh"! Complace en hacer su entusiasta compañero lobo de acquaintence. Tienes un espíritu lobo interior que es por lo que deseoso de darse a conocer que han venido a aprender a hacer tu cola de lobo animatr
Hércules: El movimiento controlado por Android Robot

Hércules: El movimiento controlado por Android Robot

cuando estaba en el 8º grado, estaba intrigado mientras se reproduce el movimiento de lo juegos en Nokia 5800. Me emocionó, cómo puedo controlar el coche de carreras sólo inclinando el teléfono. Solía soñar que este mismo coche en el mundo real.Ahora