Advertisement
RuiViana

Teste_Bico

Mar 9th, 2016
338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.81 KB | None | 0 0
  1. //Ultimate Tester I
  2. //fabricado por MRS autos
  3.  
  4.  
  5. #include <LiquidCrystal.h>
  6.  
  7. #define Buzzer 9
  8. #define Display 7
  9. #define sensor A2
  10. #define bH 3
  11. #define bL 4
  12. #define bUp 2
  13. #define bDown 5
  14. #define bH0 90
  15. #define bL0 91
  16. #define bUp0 92
  17. #define bDown0 93
  18.  
  19.  
  20.  
  21. int Ventrada;
  22. float pressao;
  23. float voltagem;
  24. int sinal = 6;
  25. int pot = A1;
  26. unsigned int val = 0;
  27. float Duty;
  28. int Vduty;
  29. long freq;
  30.  
  31.  
  32. boolean aH, aL, aUp, aDown;
  33.  
  34. char state = 1;
  35. LiquidCrystal lcd(13, 12, 11, 10, 8, 7);
  36.  
  37.  
  38.  
  39.  
  40. void setup()
  41. {
  42. lcd.begin(16, 2);
  43.  
  44.  
  45.  
  46. pinMode(sinal, OUTPUT);
  47. pinMode(Display, OUTPUT);
  48. pinMode(Buzzer, OUTPUT);
  49. pinMode(bH, INPUT);
  50. pinMode(bL, INPUT);
  51. pinMode(bUp, INPUT);
  52. pinMode(bDown, INPUT);
  53. pinMode(pot, INPUT);
  54.  
  55.  
  56. digitalWrite(bH, HIGH);
  57. digitalWrite(bL, HIGH);
  58. digitalWrite(bUp, HIGH);
  59. digitalWrite(bDown, HIGH);
  60. digitalWrite(Display, HIGH);
  61.  
  62. }
  63.  
  64.  
  65. void loop()
  66. {
  67. if (bH == HIGH) {
  68. digitalWrite(Buzzer, HIGH);
  69. delay(50);
  70. }
  71. if (bL == HIGH) {
  72. digitalWrite(Buzzer, HIGH);
  73. delay(50);
  74. }
  75. if (bUp == HIGH) {
  76. digitalWrite(Buzzer, HIGH);
  77. delay(50);
  78. }
  79. if (bDown == HIGH) {
  80. digitalWrite(Buzzer, HIGH);
  81. delay(50);
  82. }
  83.  
  84.  
  85.  
  86. switch (state) {
  87.  
  88. case 1:
  89.  
  90.  
  91.  
  92. switch (CheckButton()) {
  93. case bH:
  94. lcd.clear(); Set_state(2);
  95. break;
  96. case bL:
  97. lcd.clear(); Set_state(1);
  98. break;
  99.  
  100. case bUp:
  101. lcd.clear(); Set_state(3);
  102. break;
  103. case bDown:
  104. lcd.clear(); Set_state(7);
  105. break;
  106. default:
  107. Set_state(1);
  108. }
  109. break;
  110.  
  111. case 2:
  112. switch (CheckButton()) {
  113. case bH:
  114. lcd.clear(); Set_state(2);
  115. break;
  116. case bL:
  117. lcd.clear(); Set_state(1);
  118. break;
  119. default:
  120. Set_state(2);
  121. }
  122. break;
  123.  
  124. case 3:
  125. switch (CheckButton()) {
  126. case bUp:
  127. lcd.clear(); Set_state(7);
  128. break;
  129. case bDown:
  130. lcd.clear(); Set_state(1);
  131. break;
  132. case bH:
  133. lcd.clear(); Set_state(4);
  134. break;
  135.  
  136. default:
  137. Set_state(3);
  138. }
  139. break;
  140.  
  141. break;
  142.  
  143. case 4:
  144. switch (CheckButton()) {
  145. case bUp:
  146. lcd.clear(); Set_state(6);
  147. break;
  148. case bDown:
  149. lcd.clear(); Set_state(5);
  150. break;
  151. case bL:
  152. lcd.clear(); Set_state(3);
  153. break;
  154. default:
  155. Set_state(4);
  156. }
  157. break;
  158.  
  159. case 5:
  160. switch (CheckButton()) {
  161.  
  162. case bL:
  163. lcd.clear(); Set_state(4);
  164. break;
  165. default:
  166. Set_state(5);
  167. }
  168. break;
  169.  
  170.  
  171. case 6:
  172. switch (CheckButton()) {
  173.  
  174. case bL:
  175. lcd.clear(); Set_state(4);
  176. break;
  177. default:
  178. Set_state(6);
  179. }
  180. break;
  181.  
  182. case 7:
  183. switch (CheckButton()) {
  184. case bH:
  185. lcd.clear(); Set_state(8);
  186. break;
  187. case bUp:
  188. lcd.clear(); Set_state(1);
  189. break;
  190. case bDown:
  191. lcd.clear(); Set_state(3);
  192. break;
  193. default:
  194. Set_state(7);
  195. }
  196. break;
  197.  
  198.  
  199. case 8:
  200. switch (CheckButton()) {
  201.  
  202. case bL:
  203. lcd.clear(); Set_state(7);
  204. break;
  205. default:
  206. Set_state(8);
  207. }
  208. break;
  209.  
  210. default: ;
  211. }
  212. }
  213.  
  214. char CheckButton() {
  215.  
  216. if (aH != digitalRead(bH)) {
  217. aH = !aH;
  218. if (aH) return bH0; else return bH;
  219. } else if (aL != digitalRead(bL)) {
  220. aL = !aL;
  221. if (aL) return bL0; else return bL;
  222. } else if (aUp != digitalRead(bUp)) {
  223. aUp = !aUp;
  224. if (aUp) return bUp0; else return bUp;
  225. } else if (aDown != digitalRead(bDown)) {
  226. aDown = !aDown;
  227. if (aDown) return bDown0; else return bDown;
  228. } else
  229. return 0;
  230. }
  231.  
  232. void Set_state(char index) {
  233. state = index;
  234. switch (state) {
  235. case 1:
  236.  
  237. lcd.setCursor(0, 0);
  238. lcd.print("Teste do sistema");
  239. lcd.setCursor(2, 1);
  240. lcd.print("common rail");
  241.  
  242. break;
  243. case 2:
  244.  
  245. Ventrada = analogRead (sensor);
  246. pressao = map(Ventrada, 102.3, 1023, 0, 2000);
  247. voltagem = map(Ventrada, 0, 1023, 0, 5000);
  248.  
  249. lcd.setCursor(0, 0); //parte que le a pressão.
  250. lcd.print(pressao, 0);
  251. lcd.setCursor(4, 0);
  252. lcd.print("bar");
  253.  
  254.  
  255. lcd.setCursor(8, 0);
  256. lcd.print(voltagem, 0);
  257. lcd.setCursor(12, 0);
  258. lcd.print("mvs"); //parte que le a voltagem
  259.  
  260. //parte que le a voltagem
  261.  
  262. delay(100);
  263.  
  264. val = analogRead(pot);//Le potenciometro
  265. val = val / 4;//converte valores de 1023 para 255 que é aceita na pwm
  266. analogWrite(sinal, val);//Escreve na porta pwm o valor
  267. delay(3);
  268.  
  269. Vduty = analogRead(pot);
  270. Duty = map(Vduty, 0, 1023, 0, 100);
  271.  
  272. lcd.setCursor(0, 1);
  273. lcd.print("Duty");
  274. lcd.setCursor(6, 1);
  275. lcd.print(Duty);
  276. lcd.setCursor(10, 1);
  277. lcd.print("% + ");
  278.  
  279.  
  280. delay(100);
  281.  
  282.  
  283.  
  284. break;
  285. case 3:
  286.  
  287. lcd.setCursor(2, 0);
  288. lcd.print("Teste de");
  289. lcd.setCursor(1, 1);
  290. lcd.print("solenoides");
  291.  
  292.  
  293.  
  294.  
  295.  
  296. break;
  297. case 4:
  298.  
  299. lcd.setCursor(5, 0);
  300. lcd.print("<--PWM");
  301. lcd.setCursor(5, 1);
  302. lcd.print("F.M-->");
  303.  
  304.  
  305. delay(100);
  306.  
  307. break;
  308.  
  309.  
  310. case 5:
  311.  
  312.  
  313. val = analogRead(pot);//Le potenciometro
  314. val = val / 4;//converte valores de 1023 para 255 que é aceita na pwm
  315. analogWrite(sinal, val);//Escreve na porta pwm o valor
  316. delay(3);
  317.  
  318. Vduty = analogRead(pot);
  319. Duty = map(Vduty, 0, 1023, 0, 100);
  320.  
  321. lcd.setCursor(0, 1);
  322. lcd.print("Duty");
  323. lcd.setCursor(6, 1);
  324. lcd.print(Duty);
  325. lcd.setCursor(10, 1);
  326. lcd.print("% + ");
  327.  
  328.  
  329. break;
  330.  
  331. case 6:
  332.  
  333.  
  334.  
  335.  
  336.  
  337. val = analogRead(pot);
  338. freq = map(val, 0, 1023, 50, 50000);
  339. //freq = val;
  340. delay(3);
  341. lcd.setCursor(0,0);
  342. lcd.print(freq);
  343. lcd.print("HZ");
  344. delay(3);
  345.  
  346. digitalWrite(sinal, LOW);
  347. delay((1000/freq) / 2);
  348. digitalWrite(sinal, HIGH);
  349. delay((1000/freq) / 2);
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356. break;
  357.  
  358. case 7:
  359.  
  360. lcd.setCursor(3,0);
  361. lcd.print("termometro");
  362.  
  363.  
  364. break;
  365.  
  366. case 8:
  367.  
  368. lcd.setCursor(2,0);
  369. lcd.print("EM BREVE");
  370.  
  371. break;
  372. default: ;
  373. }
  374. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement