Stap 4: Code uploaden naar uArm
Gebruik van de Arduino IDE te uploaden met de volgende code naar uw uArm en 'e' in seriële monitor verzenden uArm gebruiken deze ultrasone sensor. Wat deze code dosis is als de sensor iets detecteert doorgeven voordat het, uArm zal proberen om iets te verplaatsen vanaf de rechterkant naar de linkerkant. Deze code is slechts een voorbeeld om te laten weten van het gebruik van de sensor, kunt u het naar alles wat die je wilt.
<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>