Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /*
  2. Autor: David Lucas
  3. Eng. inst. Faro (Faculdade de Roseira)
  4. Titulo: Braço Robótico com sensor LDR
  5. */
  6.  
  7. #include <Servo.h>
  8.  
  9. const int Botao1 = 2;
  10. const int Botao2 = 3;
  11. int EstadoBotao1 = 0;
  12. int EstadoBotao2 = 0;
  13.  
  14. Servo motor1;
  15. Servo motor2;
  16. Servo motor3;
  17. Servo motor4;
  18.  
  19. int ldr0 = 0;
  20. int A = 0;
  21.  
  22. int ldr1 = 1;
  23. int B = 1;
  24.  
  25. int ldr2 = 2;
  26. int C = 2;
  27.  
  28. int ldr3 = 3;
  29. int D = 3;
  30.  
  31. int a0 = 90;
  32. int b1 = 0;
  33. int c2 = 0;
  34. int d3 = 0;
  35.  
  36. int n=1;
  37. int nrotation=10; //n de rotação por pressionar o botão
  38.  
  39.  
  40.  
  41. void setup() {
  42. Serial.begin(9600);
  43.  
  44.  
  45.  
  46.  
  47. motor4.attach(8);
  48.  
  49. pinMode(Botao1, INPUT);
  50. pinMode(Botao2, INPUT);
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. }
  58.  
  59. void loop() {
  60. A = analogRead (ldr0);
  61. B = analogRead (ldr1);
  62. C = analogRead (ldr2);
  63. D = analogRead (ldr3);
  64.  
  65. Serial.print("D");
  66. Serial.println(d3);
  67.  
  68.  
  69.  
  70. /*comando a cima somente serial monitor */
  71.  
  72. /*motor 1*/
  73. if ( A < 100){
  74. delay (100);
  75. motor1.attach(5);
  76.  
  77. EstadoBotao1 = digitalRead (Botao1);
  78. EstadoBotao2 = digitalRead (Botao2);
  79.  
  80. if( EstadoBotao1 == HIGH ){
  81.  
  82. Serial.print ("BT + Ligado");
  83. a0= a0-nrotation;
  84. motor1.write(a0);
  85. }
  86.  
  87. else{
  88.  
  89. if( EstadoBotao2 == HIGH ){
  90. Serial.print ("BT - Ligado");
  91. a0= a0+nrotation;
  92. motor1.write(a0);
  93. }
  94. }
  95. }
  96. else{
  97. /*motor 2*/
  98.  
  99. if ( B < 100){
  100.  
  101. motor2.attach(6);
  102.  
  103. EstadoBotao1 = digitalRead (Botao1);
  104. EstadoBotao2 = digitalRead (Botao2);
  105.  
  106. if( EstadoBotao1 == HIGH ){
  107.  
  108. Serial.print ("BT + Ligado");
  109. b1= b1-n;
  110. motor2.write(b1);
  111. }
  112.  
  113. else {
  114.  
  115. if( EstadoBotao2 == HIGH ){
  116. Serial.print ("BT - Ligado");
  117. b1 = b1 +n;
  118. motor2.write(b1);
  119. }
  120. }
  121.  
  122.  
  123.  
  124. }
  125. else {
  126.  
  127. /*motor 3*/
  128.  
  129. if ( C < 100){
  130.  
  131. motor3.attach(7);
  132.  
  133. EstadoBotao1 = digitalRead (Botao1);
  134. EstadoBotao2 = digitalRead (Botao2);
  135.  
  136. if( EstadoBotao1 == HIGH ){
  137.  
  138. Serial.print ("BT + Ligado");
  139. c2= c2-n;
  140. motor3.write(c2);
  141. }
  142.  
  143. else {
  144.  
  145. if( EstadoBotao2 == HIGH ){
  146. Serial.print ("BT - Ligado");
  147. c2 = c2 +n;
  148. motor3.write(c2);
  149. }
  150. }
  151.  
  152.  
  153.  
  154. }
  155. else{
  156.  
  157. /*motor 4*/
  158.  
  159. if ( D < 100){
  160.  
  161. motor4.attach(8);
  162.  
  163. EstadoBotao1 = digitalRead (Botao1);
  164. EstadoBotao2 = digitalRead (Botao2);
  165.  
  166. if( EstadoBotao1 == HIGH ){
  167.  
  168. Serial.print ("BT + Ligado");
  169. d3= d3-n;
  170. motor4.write(d3);
  171. }
  172.  
  173. else {
  174.  
  175. if( EstadoBotao2 == HIGH ){
  176. Serial.print ("BT - Ligado");
  177. d3 = d3 +n;
  178. motor4.write(d3);
  179. }
  180. }
  181.  
  182.  
  183.  
  184. }
  185. }
  186.  
  187. }
  188.  
  189. }
  190.  
  191. }