Étape 4: Télécharger code sur uArm
Utiliser IDE Arduino pour charger le code suivant dans votre uArm et envoyez « e » serial monitor pour uArm d’utiliser ce capteur ultrasonique. Quelle est cette dose de code, lorsque le capteur détecte quoi que ce soit passer devant lui, uArm va essayer de déplacer quelque chose de son côté droit au côté gauche. Ce code n’est qu’un exemple pour vous permettre de savoir comment utiliser le capteur, vous pouvez le changer à ce que vous voulez.
<p>#include <br>#include #include #include </p><p>UF_uArm uarm; </p><p>const int TrigPin = 8; const int EchoPin = 9; const int StopperBtn = 2; float cm; </p><p>void setup() { Wire.begin(); // join i2c bus (address optional for master) Serial.begin(9600); // start serial port at 9600 bps pinMode(StopperBtn,INPUT); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); uarm.init();</p><p>} int buttonState = 1;</p><p>double des_x = -20; double des_y = -3; double des_z = 9.25;</p><p>int time_travel = 2;</p><p>double final_x = 20; double final_y = -15; double final_z = 23;</p><p>double home_x = 0; double home_y = -15; double home_z = 12;</p><p>int value; void loop() { char readSerial = 'e'; Serial.println(readSerial);</p><p> if (readSerial == 'a') { uarm.attachAll(); uarm.moveTo(des_x,des_y,des_z); delay(1000); } if (readSerial == 'b') { uarm.moveTo(home_x,home_y,home_z); delay(1000); } if (readSerial == 'c') { uarm.detachAll(); }</p><p> if (readSerial == 'd') { }</p><p> if (readSerial == 'e') { int stat = 1; int haveSentT = 0; int numberCount = 0; while (stat) { if(Serial.available()>0){ stat = 0; } else{ digitalWrite(TrigPin, LOW); delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(10); digitalWrite(TrigPin, LOW); cm = pulseIn(EchoPin, HIGH) / 58.0; cm = (int(cm * 100.0)) / 100.0; if ((cm<10)||(cm>70)){ numberCount = 0; haveSentT = 0; } else{ numberCount = numberCount + 1; if (numberCount >3){ if ( haveSentT == 0){ buttonState = 1; uarm.moveTo(des_x,des_y,des_z,0,2,0);</p><p> while (buttonState) { buttonState = digitalRead(StopperBtn); if(buttonState == HIGH) { uarm.moveTo(0,0,-2,1,1,0); } delay(200); } digitalWrite(6,HIGH); delay(1000); uarm.moveTo(des_x,des_y,des_z+4,0,2,0); delay(300); uarm.moveTo(final_x,final_y,final_z,0,time_travel,-10); delay(500); digitalWrite(6,LOW); digitalWrite(5,HIGH); delay(4000); digitalWrite(5,LOW); haveSentT = 1; uarm.moveTo(home_x,home_y,home_z); } } delay(200); } } } }</p><p> if (readSerial == 'h') { Serial.print("The current location is "); Serial.print(uarm.getCalX()); Serial.print(" , "); Serial.print(uarm.getCalY()); Serial.print(" , "); Serial.print(uarm.getCalZ()); Serial.println(); delay(1000); }</p><p> if (readSerial == 'u') {</p><p> int buttonState = 1; uarm.moveTo(-9.2,-12,9.23); while (buttonState) { buttonState = digitalRead(2); if(buttonState == HIGH){ uarm.moveTo(0,0,-2,1,1);} delay(200); }</p><p> digitalWrite(6,HIGH); delay(1000); uarm.moveTo(-9.2,-12,12); delay(300); uarm.moveTo(0,-15,12); delay(300); digitalWrite(6,LOW); }</p><p> delay(500);</p><p> }</p>