Paso 4: Añadir código a la uArm
Utilice el IDE de Arduino para subir el siguiente código a la uArm y enviar 'e' en el monitor serial a uArm usar este sensor de ultrasonidos. Cuál es la dosis de este código cuando el sensor detecta algo paso antes de él, uArm intentará mover algo de su lado derecho a lado izquierdo. Este código es sólo un ejemplo para saber cómo utilizar el sensor, usted puede cambiar cualquier cosa que te gusta.
<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>