Paso 10: código
Para cargar el código con que necesita el IDE de Arduino enchufe el Edison de Intel, el código para cargar puede ser encontrado abajo. El Plugin de Edison de Intel se puede instalar desde el IDE de Arduino board administrador de instalando el paquete de Intel x86. Asegúrese de que tener la escogió el puerto correcto mientras se cargan el código a la Junta.
temp de flotador, #includeServo servoMain; int tempPin = 0; int r_motor_n = 4; Control PWM Motor derecho - int r_motor_p = 5; PWM control derecho Motor + int l_motor_p = 6; PWM control izquierda Motor + int l_motor_n = 7; Habilitar control PWM izquierda Motor - int = 3; int luz = 9; int enable2 = 6; CONTROL PWM SPEEDint speed1 = 0; PWM control speedint incomingByte = 0; para los datos entrantes en serie #include #define TRIGGER_PIN 12 / / pin Arduino atado para activar el pin en el sensor ultrasónico. #define 11 ECHO_PIN / / pin Arduino atado a echo pin en el sensor ultrasónico. #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 distance.void máximo setup() {servoMain.attach (10); pinMode (r_motor_n, salida); //Set pernos de control a ser outputspinMode (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, LOW); //set ambos motores apagado para start-updigitalWrite(r_motor_p, LOW); digitalWrite (l_motor_p LOW); digitalWrite (l_motor_n, LOW); digitalWrite (habilitar, LOW); digitalWrite (enable2, LOW); 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) {case': / / control para detener el robotdigitalWrite (r_motor_n, bajo) //Set dirección del motor, 1 bajo, 2 lowdigitalWrite (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 ='* '; break; caso 'R': //control para rightdigitalWrite (r_motor_n, HIGH); Establecer la dirección del motor, 1 alto, 2 lowdigitalWrite (r_motor_p, bajo); digitalWrite (l_motor_p, HIGH); digitalWrite (l_motor_n, bajo); analogWrite (enable, speed1); analogWrite (enable2, speed1); Serial.println ("de\n"); incomingByte ='* '; break; caso 'L': //control para leftdigitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 highdigitalWrite (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 ='* '; break; caso 'F': //control para forwarddigitalWrite (r_motor_n, HIGH); Establecer la dirección del motor, 1 alto, 2 highdigitalWrite (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 ='* '; break; caso 'B': //control para backwarddigitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 lowdigitalWrite (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 ='* '; break; caso 'f': digitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 lowdigitalWrite (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 ='* '; break; caso había ': digitalWrite (r_motor_n, HIGH); Establecer la dirección del motor, 1 alto, 2 lowdigitalWrite (r_motor_p, bajo); digitalWrite (l_motor_p, HIGH); digitalWrite (l_motor_n, bajo); analogWrite (enable, speed1); analogWrite (enable2, speed1); Serial.println ("de\n"); incomingByte ='* '; break; caso 'a': digitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 highdigitalWrite (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 ='* '; break; caso 'w': digitalWrite (r_motor_n, HIGH); Establecer la dirección del motor, 1 alto, 2 highdigitalWrite (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 ='* '; break; caso de ': digitalWrite (r_motor_n, bajo); Establecer la dirección del motor, 1 bajo, 2 lowdigitalWrite (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 ='* '; break; caso 'r': / / servo anglesservoMain.write (0); break; caso ' t ':servoMain.write (45) rotura caso 'y':servoMain.write (90); break; caso 'u':servoMain.write (135); break; caso 'i':servoMain.write (180); break; caso ' o ': / / valuesspeed1 de velocidad PWM = 0; break; caso '1': speed1 = 155; break; caso '2': speed1 = 165; break; case '3': speed1 = 175; break; caso de '4': speed1 = 185; break; caso '5': speed1 = 195; break; caso '6' : speed1 = 205; break; caso '7': speed1 = 215; break; caso '8': speed1 = 225; break; caso '9': speed1 = 235; break; caso 'q': speed1 = 255; break; caso estoy ': temp = analogRead(tempPin); Leer el temperaturetemp = temp * 0.48828125; Serial.Print ("TEMPRATURE ="); Serial.Print(Temp); Serial.Print("*C"); Serial.println (); delay (1000); break; caso 'p': / / hora de ping thr ultasonic sensordelay(50); Esperar 50ms entre pings (pings alrededor de 20 por segundo). 29ms debe retrasar la más corta 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 exterior range)Serial.println("cm"); break;delay(5000);}}