this code for automatic weighbridges - core.ac.uk · appendix this code for automatic weighbridges...

8
APPENDIX This code for automatic weighbridges : 1. #include <NewPing.h> 2. #include <Servo.h> 3. #include <SoftwareSerial.h> 4. #define TRIGGER_PIN   37 5. #define ECHO_PIN      36 6. #define TRIGGER_PIN2  33 7. #define ECHO_PIN2     32 8. #define MAX_DISTANCE 200 9. SoftwareSerial SIM900(0,1); //(TX,RX) GSM Shield 10. int PowerKeySIM900=9; // Power Pin GSM shield 11. #include "HX711.h" 12. #define calibration_factor -7050.0 //This value is obtained using the SparkFun_HX711_Calibration sketch 13. #define DOUT  2 14. #define CLK   3 15. float read_gram; 16. String Stringone; 17. String Stringthree; 18. HX711 scale(DOUT, CLK); 19. Servo servoA; 20. Servo servoB; 21. 22. NewPing  ultrasonic1(TRIGGER_PIN,  ECHO_PIN, MAX_DISTANCE); 23. NewPing  ultrasonic2(TRIGGER_PIN2,  ECHO_PIN2, MAX_DISTANCE); 24. 25. const int buttonPin = 40; 26. const int buttonPin2 = 53; 27. const int buttonPin3 = 52; 28. int ledpin = 8; 29. int ledpin2 = 9; 30. int ledpin3 = 21; 31. int buttonState = 0; 32. int buttonState2 = 0; 33. int buttonState3 = 0; 34. 35. void setup() 36. { 37. pinMode(PowerKeySIM900,OUTPUT); 38. Serial.begin (9600); 39. pinMode(buttonPin2,INPUT); 40. pinMode(ledpin2, OUTPUT); 41. pinMode(buttonPin,INPUT); 42. pinMode(ledpin, OUTPUT); 43.  A

Upload: duongnga

Post on 28-May-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

APPENDIX

This code for automatic weighbridges :

1. #include <NewPing.h>2. #include <Servo.h>3. #include <SoftwareSerial.h>4. #define TRIGGER_PIN   375. #define ECHO_PIN      366. #define TRIGGER_PIN2  337. #define ECHO_PIN2     328. #define MAX_DISTANCE 2009. SoftwareSerial SIM900(0,1); //(TX,RX) GSM Shield10. int PowerKeySIM900=9; // Power Pin GSM shield11. #include "HX711.h"12. #define   calibration_factor   ­7050.0   //This   value   is

obtained using the SparkFun_HX711_Calibration sketch13. #define DOUT  214. #define CLK   315. float read_gram;16. String Stringone;17. String Stringthree;18. HX711 scale(DOUT, CLK);19. Servo servoA;20. Servo servoB;21.22. NewPing   ultrasonic1(TRIGGER_PIN,   ECHO_PIN,

MAX_DISTANCE);23. NewPing   ultrasonic2(TRIGGER_PIN2,   ECHO_PIN2,

MAX_DISTANCE);24.25. const int buttonPin = 40;26. const int buttonPin2 = 53;27. const int buttonPin3 = 52;28. int ledpin = 8;29. int ledpin2 = 9;30. int ledpin3 = 21;31. int buttonState = 0;32. int buttonState2 = 0;33. int buttonState3 = 0;34.35. void setup() 36. {37. pinMode(PowerKeySIM900,OUTPUT);38. Serial.begin (9600);39. pinMode(buttonPin2,INPUT);40. pinMode(ledpin2, OUTPUT);41. pinMode(buttonPin,INPUT);42. pinMode(ledpin, OUTPUT);43.  

A

44. Serial.println("HX711 scale demo");45.46. scale.set_scale(calibration_factor);   //This   value   is

obtained by using the SparkFun_HX711_Calibration sketch47. scale.tare(); //Assuming there is no weight on the

scale at start up, reset the scale to 048.49. Serial.println("Readings:");50. servoA.attach(45);51. servoB.attach(46);52. }53.54. void SIM900power() // function memiliki fungsi sama

seperti memencet tombol power pada shield55. {56.     digitalWrite(PowerKeySIM900, HIGH);57.     delay(1000);58.     digitalWrite(PowerKeySIM900, LOW);59.     delay(5000);60. }61.62. void loop() 63. {64. /*  65. gerbang 1 buka ketika :66. ­   ultrasonik   1   mendeteksi   ada   mobil,   ultrasonik   2

tidak mendeteksi mobil67. gerbang 1 tutup ketika :68. ­ ultrasonik 1 dan ultrasonik 2 tidak mendeteksi apa269. ­ ultrasonik 1 dan ultrasonik 2 mendeteksi ada mobil  70.  */71. read_gram =  scale.get_units();72. Serial.print("Reading: ");73. Serial.print(read_gram,   1);   //scale.get_units()

returns a float74. Serial.print(" gram"); //You can change this to kg but

you'll need to refactor the calibration_factor75. delay(500);76. Serial.println();77. Stringone="field2=";78. Stringthree = Stringone+ read_gram;79.80. delay(50);81. int US1 = ultrasonic1.ping_cm();82. int US2 = ultrasonic2.ping_cm();83. Serial.print("Hasil Sensor 1 :");84. Serial.print(US1);85. Serial.print("cm     |     ");86. Serial.print("Hasil Sensor 2 :");87. Serial.print(US2);88. Serial.println("cm");

B

89.90.       if(US1 <= 10 && US2 >=10)91.       {92.         servoA.write (90); //gerbang buka93.         Serial.println("gerbang buka");94.         delay(5);95.       }96.       else if (US1 >=10 && US2 >=10) 97.       {98.         servoA.write(0); //gerbang tutup99.          Serial.println("gerbang tutup");100.         delay(5);101.       }102.       else if (US1 <=10 && US2 <=10)103.       {104.          servoA.write(0); //gerbang tutup105.          Serial.print("gerbang tutup");106.          delay(5);107.       }108.       109.     110.       111. // kategori A112. buttonState = digitalRead(buttonPin);113. if( buttonState == HIGH) 114.   { 115.   if (scale.get_units() >= 10) 116.   {117.   servoB.write(180);118.   delay(500);119.       120.   digitalWrite(ledpin, HIGH);121.   digitalWrite(ledpin2, LOW);122.   digitalWrite(ledpin3, LOW);123.   Serial.println("melebihi muatan");124.   delay(500);125.   Serial.println("AT+CGATT=1");//konfig apn126.   delay(1000);127.  Serial.println("AT+CSTT=telkomsel,\"wap\",\"wap123\""

);//Setting koneksi APN128.   delay(1000);129.   Serial.println("AT+CIICR");130.   delay(1000);131.    132.   Serial.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\"");

//Setting koneksi GPRS133.   delay(1000);134.   135.   Serial.println("AT+SAPBR=3,1,\"APN\",\"telkomsel\"")

;//setting APN kartu 136.   delay(1000); 

C

137.   Serial.println("AT+SAPBR   =1,1");   //  mendapatkan  IPlocal

138.   delay(1000);139.   Serial.println("AT+SAPBR =1,1");140.   delay(1000);141.    Serial.println("AT+HTTPINIT"); // inisialisasi HTTP

request142.   delay(2000);143. Serial.println("AT+HTTPPARA=\"URL\",\"api.thingspeak.c

om/update?api_key=S4AZ93KHE0KPWEMD&"+ Stringthree + " \"");144.   delay(1000);145.    Serial.println("\"");146.   delay(4500);147.   Serial.println("AT+HTTPACTION=0");//mengirim request148.   delay(10000);//delay mengirim data (request HTTP)149.    Serial.println("AT+HTTPREAD");// membaca data dari

htpp yang diakses150.   delay(300);151.   Serial.println("");152.   delay(100);153.   }154.155.   else if (scale.get_units() <= 10) 156.   {157.   servoB.write(90);158.   delay(500);159.   digitalWrite(ledpin, LOW);160.   digitalWrite(ledpin2, LOW);161.   digitalWrite(ledpin3, LOW);162.    Serial.println("buka");163. } 164. }165.  // kategori B166. buttonState2 = digitalRead(buttonPin2);167. if( buttonState2 == HIGH) 168.   { 169.   if (scale.get_units() >= 20) 170.   {171.   servoB.write(180);172.   delay(500);173.       174.   digitalWrite(ledpin2, HIGH);175.   digitalWrite(ledpin, LOW);176.   digitalWrite(ledpin3, LOW);177.       178.   Serial.println("melebihi muatan");179.   delay(500);180.   Serial.println("AT+CGATT=1");//konfig apn181.   delay(1000);182.  Serial.println("AT+CSTT=telkomsel,\"wap\",\"wap123\""

);//Setting koneksi APN

D

183.   delay(1000);184.   Serial.println("AT+CIICR");185.   delay(1000);186.  Serial.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\"");/

/Setting koneksi GPRS187.   delay(1000);188.   Serial.println("AT+SAPBR=3,1,\"APN\",\"telkomsel\"")

;//setting APN kartu 189.   delay(1000); 190.    Serial.println("AT+SAPBR =1,1"); // mendapatkan IP

local191.   delay(1000);192.   Serial.println("AT+SAPBR =1,1");193.   delay(1000);194.    Serial.println("AT+HTTPINIT"); // inisialisasi HTTP

request195.   delay(2000);196. Serial.println("AT+HTTPPARA=\"URL\",\"api.thingspeak.c

om/update?api_key=S4AZ93KHE0KPWEMD&"+ Stringthree + " \"");197.   delay(1000);198.  199.   Serial.println("\"");200.   delay(4500);201.   Serial.println("AT+HTTPACTION=0");//mengirim request202.   delay(10000);//delay mengirim data (request HTTP)203.    Serial.println("AT+HTTPREAD");// membaca data dari

htpp yang diakses204.   delay(300);205.   Serial.println("");206.   delay(100);207.   }208.209.   else if (scale.get_units() <= 20) 210.   {211.   servoB.write(90);212.   delay(500);213.   digitalWrite(ledpin2, LOW);214.   digitalWrite(ledpin, LOW);215.   digitalWrite(ledpin3, LOW);216.    217.   Serial.println("buka");218. } 219.   }220.   // kategori C221.   buttonState3 = digitalRead(buttonPin3);222.   if( buttonState3 == HIGH) { 223. if (scale.get_units() >= 30) {224.       servoB.write(180);225.    delay(500);226.    digitalWrite(ledpin3, HIGH);227.      digitalWrite(ledpin2, LOW);

E

228.      digitalWrite(ledpin, LOW);229.      Serial.println("melebihi muatan");230.     Serial.println("AT+CGATT=1");//konfig apn231.   delay(1000);232.  Serial.println("AT+CSTT=telkomsel,\"wap\",\"wap123\""

);//Setting koneksi APN233.   delay(1000);234.   Serial.println("AT+CIICR");235.   delay(1000);236.   Serial.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\"");

//Setting koneksi GPRS237.   delay(1000);238.   Serial.println("AT+SAPBR=3,1,\"APN\",\"telkomsel\"")

;//setting APN kartu 239.   delay(1000); 240.    Serial.println("AT+SAPBR =1,1"); // mendapatkan IP

local241.   delay(1000);242.   Serial.println("AT+SAPBR =1,1");243.   delay(1000);244.    Serial.println("AT+HTTPINIT"); // inisialisasi HTTP

request245.   delay(2000);246. Serial.println("AT+HTTPPARA=\"URL\",\"api.thingspeak.c

om/update?api_key=S4AZ93KHE0KPWEMD&"+ Stringthree + " \"");247.   delay(1000);248.    Serial.println("\"");249.   delay(4500);250.   Serial.println("AT+HTTPACTION=0");//mengirim request251.   delay(10000);//delay mengirim data (request HTTP)252.    Serial.println("AT+HTTPREAD");// membaca data dari

htpp yang diakses253.   delay(300);254.   Serial.println("");255.   delay(100);256.   }257.   //kategori C258.   else if (scale.get_units() <= 20) {259.   servoB.write(90);260.     delay(500);261.     digitalWrite(ledpin2, LOW);262.    digitalWrite(ledpin3, LOW);263.    digitalWrite(ledpin, LOW);264.    Serial.println("buka");265. }266. }267. }

F

G

H