Étape 10 : Code
Télécharger le code dont vous avez besoin de l’IDE Arduino avec l’Intel Edison brancher, le code à télécharger se trouvent ci-dessous. Le Plugin d’Edison Intel peut être installé par le gestionnaire de carte IDE Arduino en installant le package Intel x86. Assurez-vous que vous avez l’a choisi le bon port tout en téléchargeant le code au Conseil d’administration.
#includeServo servoMain ; temp flotteur ; int tempPin = 0; int r_motor_n = 4 ; Commande PWM moteur droit - int r_motor_p = 5 ; PWM de commande moteur droit + int l_motor_p = 6 ; PWM de commande moteur gauche + int l_motor_n = 7 ; Permettre à commande PWM moteur gauche - int = 3; int lumière = 9; int enable2 = 6 ; COMMANDE PWM SPEEDint speed1 = 0 ; PWM controll speedint incomingByte = 0 ; pour les données entrantes serial #include #define TRIGGER_PIN 12 / / goupille de Arduino lié à déclencher la broche sur le capteur ultrasonique. #define ECHO_PIN 11 / / goupille de Arduino liée à l’écho des broches sur le capteur ultrasonique. #define MAX_DISTANCE 200 / / distance maximale que nous voulons faire un ping pour (en centimètres). Distance maximum sensor est évalué à 400-500cm. NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE) ; NewPing configuration des broches et distance.void maximale setup() {servoMain.attach (10); pinMode (r_motor_n, sortie); épingles contrôle //Set d’être outputspinMode (r_motor_p, sortie); pinMode (l_motor_p, sortie); pinMode (l_motor_n, sortie); pinMode (active, sortie); pinMode (enable2, sortie); pinMode (luminosité,); digitalWrite (r_motor_n, basse); //set les deux moteurs au large pour démarrer-updigitalWrite(r_motor_p, LOW) ; digitalWrite (l_motor_p FAIBLE); digitalWrite (l_motor_n, LOW); digitalWrite (enable, faible); digitalWrite (enable2, LOW); digitalWrite (lumière, HIGH) ; Serial.Begin(9600) ; Serial.Print ("Whats up im ATOM, orientée vers le haut!!!! \n"); Serial.Print ("w = avant \n") ; Serial.Print ("s = descendante \n") ; Serial.Print ("d = droite \n") ; Serial.Print ("a = gauche \n") ; Serial.Print (« f = Stop \n ") ; Serial.Print ("freaks boiteux robotique");} void loop() {si (Serial.available() > 0) {/ / lire l’octets entrant : incomingByte = Serial.read();} Switch(incomingByte) {de cas ': / / commande pour arrêter le robotdigitalWrite (r_motor_n, basse) direction du moteur //Set, 1 petite, 2 lowdigitalWrite (r_motor_p, basse); digitalWrite (l_motor_p, basse); digitalWrite (l_motor_n, basse); analogWrite (enable, 0); analogWrite (enable2, 0) ; Serial.println ("Stop\n"); incomingByte ='* '; break ; case « R »: //control pour rightdigitalWrite (r_motor_n, HIGH) ; Direction du moteur Set, 1 haut, 2 lowdigitalWrite (r_motor_p, basse) digitalWrite (l_motor_p, HIGH); digitalWrite (l_motor_n, basse); analogWrite (enable, speed1); analogWrite (enable2, speed1) ; Serial.println ("right\n"); incomingByte ='* '; break ; case « L »: //control pour leftdigitalWrite (r_motor_n, basse) ; Direction du moteur Set, 1 petite, 2 highdigitalWrite (r_motor_p, HIGH) digitalWrite (l_motor_p, basse); digitalWrite (l_motor_n, HIGH); analogWrite (enable, speed1); analogWrite (enable2, speed1) ; Serial.println ("left\n"); incomingByte ='* '; break ; case « F »: //control pour forwarddigitalWrite (r_motor_n, HIGH) ; Direction du moteur Set, 1 haut, 2 highdigitalWrite (r_motor_p, basse) digitalWrite (l_motor_p, basse); digitalWrite (l_motor_n, HIGH); analogWrite (enable, speed1); analogWrite (enable2, speed1) ; Serial.println ("forward\n"); incomingByte ='* '; break ; case « B »: //control pour backwarddigitalWrite (r_motor_n, basse) ; Direction du moteur Set, 1 petite, 2 lowdigitalWrite (r_motor_p, HIGH) digitalWrite (l_motor_p, HIGH); digitalWrite (l_motor_n, basse); analogWrite (enable, speed1); analogWrite (enable2, speed1) ; Serial.println ("backwards\n"); incomingByte ='* '; break ; case « f »: digitalWrite (r_motor_n, basse) ; Direction du moteur Set, 1 petite, 2 lowdigitalWrite (r_motor_p, basse) digitalWrite (l_motor_p, basse); digitalWrite (l_motor_n, basse); analogWrite (enable, 0); analogWrite (enable2, 0) ; Serial.println ("Stop\n"); incomingByte ='* '; break ; case avait ': digitalWrite (r_motor_n, HIGH) ; Direction du moteur Set, 1 haut, 2 lowdigitalWrite (r_motor_p, basse) digitalWrite (l_motor_p, HIGH); digitalWrite (l_motor_n, basse); analogWrite (enable, speed1); analogWrite (enable2, speed1) ; Serial.println ("right\n"); incomingByte ='* '; break ; case « a »: digitalWrite (r_motor_n, basse) ; Direction du moteur Set, 1 petite, 2 highdigitalWrite (r_motor_p, HIGH) digitalWrite (l_motor_p, basse); digitalWrite (l_motor_n, HIGH); analogWrite (enable, speed1); analogWrite (enable2, speed1) ; Serial.println ("left\n"); incomingByte ='* '; break ; case « w »: digitalWrite (r_motor_n, HIGH) ; Direction du moteur Set, 1 haut, 2 highdigitalWrite (r_motor_p, basse) digitalWrite (l_motor_p, basse); digitalWrite (l_motor_n, HIGH); analogWrite (enable, speed1); analogWrite (enable2, speed1) ; Serial.println ("forward\n"); incomingByte ='* '; break ; case de ': digitalWrite (r_motor_n, basse) ; Direction du moteur Set, 1 petite, 2 lowdigitalWrite (r_motor_p, HIGH) digitalWrite (l_motor_p, HIGH); digitalWrite (l_motor_n, basse); analogWrite (enable, speed1); analogWrite (enable2, speed1) ; Serial.println ("backwards\n"); incomingByte ='* '; break ; case « r »: / / servo anglesservoMain.write (0); break ; case ' t ':servoMain.write (45) Pause affaire 'y':servoMain.write (90); break ; cas 'u':servoMain.write (135); break ; cas 'i':servoMain.write (180); Pause ; cas ' o ': / / PWM vitesse valuesspeed1 = 0; break ; case "1": speed1 = 155 ; break ; case "2": speed1 = 165 ; break ; case "3": speed1 = 175 ; break ; case "4": speed1 = 185 ; break ; case "5": speed1 = 195 ; break ; case "6" : speed1 = 205 ; break ; case « 7 »: speed1 = 215 ; break ; case « 8 »: speed1 = 225 ; break ; case « 9 »: speed1 = 235 ; break ; case « q »: speed1 = 255 ; break ; cas suis ': temp = analogRead(tempPin) ; Lire la temperaturetemp = temp * 0.48828125 ; Serial.Print ("TEMPRATURE =") ; Serial.Print(temp) ; Serial.Print("*C") ; Serial.println (); retard (1000); break ; affaire 'p': / / temps de ping thr ultasonic sensordelay(50) ; Attendre 50ms entre les pings (environ 20 pings/sec). 29ms devrait être le plus court délai entre pings.unsigned int nous = sonar.ping() ; Envoyer des ping, ping temps en microsecondes (nous). Serial.Print ("Ping:") ; Serial.Print(US / US_ROUNDTRIP_CM) ; Convertir les temps de ping à distance en cm et résultat d’impression (0 = distance définie extérieur range)Serial.println("cm") ; break;delay(5000);}}