Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.36 KB | None | 0 0
  1. #include <LiquidCrystal.h>
  2. #include <SoftwareSerial.h>
  3. // knapper
  4. // Alle variabler til højre knap
  5. const int hojre = 9;
  6. int hojre_State;
  7. int hojre_last = LOW;
  8. int hojreaflaesning;
  9. unsigned long lastDebounceTime = 0;
  10. unsigned long debounceDelay = 50;
  11. // Alle variabler til venstre knap
  12. const int venstre = 8;
  13. int venstre_State;
  14. int venstre_last = LOW;
  15. int venstreaflaesning;
  16. // Alle variabler til OK knappen
  17. const int OK = 10;
  18. int OK_State;
  19. int OK_last = LOW;
  20. int OKaflaesning;
  21. int toOK;
  22. int trig;
  23. // Her opsættes LiquidCrystal der er LCD display'et
  24. LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
  25. // Menuer
  26. int menu = 0;
  27. int forstedisplay = 0;
  28. int andendisplay = 0;
  29. int tredjedisplay = 0;
  30. int displayfire = 0;
  31. // Variabler til at sende til arduino
  32. int antal = 0;
  33. int pakke1 = 0;
  34. int pakke2 = 0;
  35. int pakke3 = 0;
  36. int pakke4 = 0;
  37. int hylde = 0;
  38. // Variabler til lagerstatus
  39. int hylde1 = 0;
  40. int hylde2 = 0;
  41. int hylde3 = 0;
  42.  
  43. void setup() {
  44. Serial.begin(9600); // For at kunne sendee bluetooth uden at display'ets kode går i stykker bruges 9600.
  45. // Nu skal display'ete sættes op men uden at printe noget. Derfor anvendes clear(); der wiper alt på skærmen, og begin sætter alle de mulige "små" skærme som aktive. Man har 16 moduler hen og man har to rækker.
  46. lcd.clear();
  47. lcd.begin(16,2);
  48. // Knapperne sættes som input.
  49. pinMode(hojre, INPUT);
  50. pinMode(venstre, INPUT);
  51. pinMode(OK, INPUT);
  52. }
  53. // Denne funktion er til alle de funktioner som den venstre knap, dette er gjort så man bare kan kalde på
  54. void venstremenu(){
  55. // Knappen er blevet debounced sådanne at man ikke modtager forkerte tryk.
  56. int venstreaflaesning = digitalRead(venstre);
  57. if (venstreaflaesning != venstre_last) {
  58. lastDebounceTime = millis();
  59. }
  60.  
  61. if ((millis() - lastDebounceTime) > debounceDelay) {
  62. if (venstreaflaesning != venstre_State) {
  63. venstre_State = venstreaflaesning;
  64.  
  65. /* Hvis man er på start menuen nemlig menu = 0 og den modtager signal skal den minus.
  66. Man har tilføjet forsteddisplay>=1 sådanne at man ikke kan komme under nul. Altså en menu som ikke er programmeret */
  67. if (venstre_State == HIGH && menu == 0 && forstedisplay>=1 ){
  68. forstedisplay--;
  69. }
  70. else if (venstre_State == HIGH && menu == 1 && andendisplay>=1){
  71. andendisplay--;
  72. }
  73. else if (venstre_State == HIGH && menu == 2 && tredjedisplay>=2){
  74. tredjedisplay--;
  75. }
  76. else if (venstre_State == HIGH && menu == 3 && hylde>=1){
  77. hylde--;
  78. }
  79. }
  80. }
  81. venstre_last = venstreaflaesning;
  82. }
  83. /* Funktion til hojre knap. Denne er også debounced, og har sikkerhed i at man ikke kan komme
  84. forbi de forskellige programmeret menuer. */
  85.  
  86. void hojremenu(){
  87. int hojreaflaesning = digitalRead(hojre);
  88. if (hojreaflaesning != hojre_last) {
  89. lastDebounceTime = millis();
  90. }
  91.  
  92. if ((millis() - lastDebounceTime) > debounceDelay) {
  93. if (hojreaflaesning != hojre_State) {
  94. hojre_State = hojreaflaesning;
  95. if (hojre_State == HIGH && menu == 0 && forstedisplay<=3){
  96. forstedisplay++;
  97. }
  98. else if (hojre_State == HIGH && menu == 1 && andendisplay<= 2){
  99. andendisplay++;
  100. }
  101. else if (hojre_State == HIGH && menu == 2 && tredjedisplay<= 5){
  102. tredjedisplay++;
  103. }
  104. else if (hojre_State == HIGH && menu == 3){
  105. hylde++;
  106. }
  107. }
  108. }
  109. hojre_last = hojreaflaesning;
  110. }
  111.  
  112. /* Funktion der tillader at man kommer forbi de forskellige menuer, så hvis der står "Aflever?" kan man trykke på OK knappen og denne funktion guider
  113. os videre til en ny menu. Denne knap er også debounced */
  114. void OKmenu(){
  115. int OKaflaesning = digitalRead(OK);
  116. if (OKaflaesning != OK_last) {
  117. lastDebounceTime = millis();
  118. }
  119.  
  120. if ((millis() - lastDebounceTime) > debounceDelay) {
  121. if (OKaflaesning != OK_State) {
  122. OK_State = OKaflaesning;
  123.  
  124. /* Her starter alt der vedrører menu 0
  125. det kan ses at når man er på en bestemt skærm og trykker på OK så kommer man videre
  126. vha. en variable sættes til en værdi. Nede i void loop er dette sat til et if
  127. statement som så printer noget nyt på skræmen */
  128. if (OK_State == HIGH && menu == 0 && forstedisplay == 0){
  129. lcd.clear();
  130. lcd. setCursor(1,0);
  131. menu = 2;
  132. }
  133. else if (OK_State == HIGH && menu == 0 && forstedisplay == 1){
  134. lcd.clear();
  135. lcd. setCursor(1,0);
  136. menu = 1;
  137. }
  138. else if (OK_State == HIGH && menu == 0 && forstedisplay == 2){
  139. lcd.clear();
  140. lcd. setCursor(1,0);
  141. menu = 4;
  142. }
  143. /* menu 1 - Denne menu er når ting skal hentes. Derfor ses serial.print("bogstav") i det man så sender
  144. det bogstav igennem bluetooth til robotten. Man bliver automatisk guided tilbage til start menuen efterfølgeende */
  145. else if (OK_State == HIGH && menu == 1 && andendisplay == 0 && trig == 1){
  146. lcd.clear();
  147. lcd. setCursor(2,0);
  148. lcd. print("sendt besked");
  149. Serial.println("a");
  150. delay(1000);
  151. toOK = 1;
  152. menu = 0;
  153. hylde1--;
  154.  
  155. }
  156. else if (OK_State == HIGH && menu == 1 && andendisplay == 1){
  157. lcd.clear();
  158. lcd. setCursor(2,0);
  159. lcd. print("Sendt besked");
  160. Serial.println("b");
  161. delay(1000);
  162. toOK = 2;
  163. menu = 0;
  164. hylde2--;
  165. }
  166. else if (OK_State == HIGH && menu == 1 && andendisplay == 2){
  167. lcd.clear();
  168. lcd. setCursor(2,0);
  169. lcd. print("Sendt besked");
  170. Serial.println("c");
  171. delay(1000);
  172. toOK = 3;
  173. menu = 0;
  174. hylde3--;
  175. }
  176. else if (OK_State == HIGH && menu == 1 && andendisplay == 3){
  177. lcd.clear();
  178. menu = 0;
  179. trig = 0;
  180. andendisplay = 0;
  181. }
  182. // menu 2 - Denne menu er til at spørge hvor mange pakker der er på robotten og skal afleveres.
  183. else if (OK_State == HIGH && menu == 2 && tredjedisplay == 1){
  184. lcd.clear();
  185. menu = 3;
  186. antal = 1;
  187. tredjedisplay = 0;
  188. }
  189. else if (OK_State == HIGH && menu == 2 && tredjedisplay == 2){
  190. lcd.clear();
  191. menu = 3;
  192. antal = 2;
  193. tredjedisplay = 0;
  194. }
  195. else if (OK_State == HIGH && menu == 2 && tredjedisplay == 3){
  196. lcd.clear();
  197. menu = 3;
  198. antal = 3;
  199. tredjedisplay = 0;
  200. }
  201. else if (OK_State == HIGH && menu == 2 && tredjedisplay == 4){
  202. lcd.clear();
  203. menu = 3;
  204. antal = 4;
  205. tredjedisplay = 0;
  206. }
  207. else if (OK_State == HIGH && menu == 2 && tredjedisplay == 6){
  208. lcd.clear();
  209. pakke1 =0;
  210. pakke2 =0;
  211. pakke3 =0;
  212. pakke4 =0;
  213. menu = 0;
  214. }
  215. else if (OK_State == HIGH && menu == 2 && tredjedisplay == 5){
  216. lcd.clear();
  217. menu = 0;
  218. tredjedisplay = 0;
  219. }
  220. // Menu 3 - Denne menu udspeciferer hvilken hylder de forskellige pakker skal til
  221. // ANTAL = 1
  222.  
  223. // Her sendes at pakke1 Skal afleveres på hylde 1 og der er et antal på 1.
  224. else if (OK_State == HIGH && menu == 3 && antal == 1 && hylde == 0){
  225. lcd.clear();
  226. lcd. setCursor(4,0);
  227. lcd. print("Modtaget");
  228. lcd. setCursor(2,0);
  229. lcd. print("Sendt besked");
  230. Serial.println("d");
  231. delay(1000);
  232. pakke1 = 1;
  233. hylde1++;
  234. menu = 0;
  235. }
  236. // = pakke1 skal på hylde 2 , antal = 1
  237. else if (OK_State == HIGH && menu == 3 && antal == 1 && hylde == 1){
  238. lcd.clear();
  239. lcd. setCursor(4,0);
  240. lcd. print("Modtaget");
  241. lcd. setCursor(2,0);
  242. lcd. print("Sendt besked");
  243. Serial.println("q");
  244. delay(1000);
  245. pakke1 = 2;
  246. hylde2++;
  247. menu = 0;
  248. }
  249. // pakke1 skal på hylde 3, antal = 1
  250. else if (OK_State == HIGH && menu == 3 && antal == 1 && hylde == 2){
  251. lcd.clear();
  252. lcd. setCursor(4,0);
  253. lcd. print("Modtaget");
  254. lcd. setCursor(2,0);
  255. lcd. print("Sendt besked");
  256. Serial.println("w");
  257. delay(1000);
  258. pakke1 = 3;
  259. hylde3++;
  260. menu = 0;
  261. }
  262. // ANTAL = 2
  263. // De følgende if statemeents tager imod hvilken pakke1 skal hen på.
  264. else if (OK_State == HIGH && menu == 3 && antal == 2 && hylde == 0 && pakke1 == 0){
  265. lcd.clear();
  266. lcd. setCursor(4,0);
  267. lcd. print("Modtaget");
  268. lcd. setCursor(5,1);
  269. lcd. print("Hylde 1");
  270. delay(1000);
  271. pakke1 = 1;
  272. hylde1++;
  273. hylde = 0;
  274. }
  275. else if (OK_State == HIGH && menu == 3 && antal == 2 && hylde == 1 && pakke1 == 0){
  276. lcd.clear();
  277. lcd. setCursor(4,0);
  278. lcd. print("Modtaget");
  279. lcd. setCursor(5,1);
  280. lcd. print("Hylde 2");
  281. delay(1000);
  282. pakke1 = 2;
  283. hylde2++;
  284. hylde = 0;
  285.  
  286. }
  287. else if (OK_State == HIGH && menu == 3 && antal == 2 && hylde == 2 && pakke1 == 0){
  288. lcd.clear();
  289. lcd. setCursor(4,0);
  290. lcd. print("Modtaget");
  291. lcd. setCursor(5,1);
  292. lcd. print("Hylde 3");
  293. delay(1000);
  294. pakke1 = 3;
  295. hylde3++;
  296. hylde = 0;
  297. }
  298. /* De næste if statemtns er de sidste i antal == 2, og de sender parametrene til bluetooth.
  299. ’e’ = antal = 2, pakke2 = 1, første værdi efterfølgende er pakke 1’s hylde nr, her pakke1 =1 = hylde1, pakke2 = 2 =hylde2. */
  300. else if (OK_State == HIGH && menu == 3 && antal == 2 && hylde == 0 && pakke1 != 0 && pakke2 == 0){
  301. lcd.clear();
  302. lcd. setCursor(4,0);
  303. lcd. print("Modtaget");
  304. pakke2 = 1;
  305. hylde1++;
  306. lcd. setCursor(2,1);
  307. lcd. print("Sendt besked");
  308. Serial.println("e");
  309. Serial.println(pakke1);
  310. delay(1000);
  311. menu = 0;
  312. pakke1 = 0;
  313. pakke2 = 0;
  314. pakke3 = 0;
  315. }
  316. // ’r’ = antal = 2, pakke2 = 2, første værdi efterfølgende er pakke 1, her pakke1 =1 = hylde1, pakke2 = 2 =hylde2.
  317. else if (OK_State == HIGH && menu == 3 && antal == 2 && hylde == 1 && pakke1 != 0 && pakke2 == 0){
  318. lcd.clear();
  319. lcd. setCursor(4,0);
  320. lcd. print("Modtaget");
  321. pakke2 = 2;
  322. hylde2++;
  323. lcd. setCursor(2,1);
  324. lcd. print("Sendt besked");
  325. Serial.println("r");
  326. Serial.println(pakke1);
  327. delay(1000);
  328. menu = 0;
  329. pakke1 = 0;
  330. pakke2 = 0;
  331. pakke3 = 0;
  332. }
  333. //’t’ = antal = 2, pakke2 = 3, første værdi efterfølgende er pakke 1, her pakke1 =1 = hylde1, pakke2 = 2 =hylde2.
  334. else if (OK_State == HIGH && menu == 3 && antal == 2 && hylde == 2 && pakke1 != 0 && pakke2 == 0){
  335. lcd.clear();
  336. lcd. setCursor(4,0);
  337. lcd. print("Modtaget");
  338. pakke2 = 3;
  339. hylde3++;
  340. lcd. setCursor(2,1);
  341. lcd. print("Sendt besked");
  342. Serial.println("t");
  343. Serial.println(pakke1);
  344. delay(1000);
  345. menu = 0;
  346. pakke1 = 0;
  347. pakke2 = 0;
  348. pakke3 = 0;
  349. }
  350.  
  351. // Antal 3 - De følgende if statemtns sorterer hvor de forskellige pakke1, pakke2 skal hen.
  352. else if (OK_State == HIGH && menu == 3 && antal == 3 && hylde == 0 && pakke1 == 0){
  353. lcd.clear();
  354. lcd. setCursor(4,0);
  355. lcd. print("Modtaget");
  356. lcd. setCursor(5,1);
  357. lcd. print("Hylde 1");
  358. delay(1000);
  359. pakke1 = 1;
  360. hylde1++;
  361. hylde = 0;
  362. }
  363. else if (OK_State == HIGH && menu == 3 && antal == 3 && hylde == 1 && pakke1 == 0){
  364. lcd.clear();
  365. lcd. setCursor(4,0);
  366. lcd. print("Modtaget");
  367. lcd. setCursor(5,1);
  368. lcd. print("Hylde 2");
  369. delay(1000);
  370. pakke1 = 2;
  371. hylde2++;
  372. hylde = 0;
  373. }
  374. else if (OK_State == HIGH && menu == 3 && antal == 3 && hylde == 2 && pakke1 == 0){
  375. lcd.clear();
  376. lcd. setCursor(4,0);
  377. lcd. print("Modtaget");
  378. lcd. setCursor(5,1);
  379. lcd. print("Hylde 3");
  380. delay(1000);
  381. pakke1 = 3;
  382. hylde3++;
  383. hylde = 0;
  384. }
  385. else if (OK_State == HIGH && menu == 3 && antal == 3 && hylde == 0 && pakke1 != 0 && pakke2 == 0){
  386. lcd.clear();
  387. lcd. setCursor(4,0);
  388. lcd. print("Modtaget");
  389. lcd. setCursor(5,1);
  390. lcd. print("Hylde 1");
  391. pakke2 = 1;
  392. hylde1++;
  393. delay(1000);
  394. hylde = 0;
  395. }
  396. else if (OK_State == HIGH && menu == 3 && antal == 3 && hylde == 1 && pakke1 != 0 && pakke2 == 0){
  397. lcd.clear();
  398. lcd. setCursor(4,0);
  399. lcd. print("Modtaget");
  400. lcd. setCursor(5,1);
  401. lcd. print("Hylde 2");
  402. pakke2 = 2;
  403. hylde2++;
  404. delay(1000);
  405. hylde = 0;
  406. }
  407. else if (OK_State == HIGH && menu == 3 && antal == 3 && hylde == 2 && pakke1 != 0 && pakke2 == 0){
  408. lcd.clear();
  409. lcd. setCursor(4,0);
  410. lcd. print("Modtaget");
  411. lcd. setCursor(5,1);
  412. lcd. print("Hylde 3");
  413. pakke2 = 3;
  414. hylde3++;
  415. delay(1000);
  416. hylde = 0;
  417. }
  418. // De følgende if statements sorterer hvor pakke3 skal hen samt sender informationer til bluetooth
  419. // ’y’ = antal = 3, pakke3 = hylde 1, første værdi efterfølgende er pakke 1, her pakke1 =1 = hylde1, pakke2 = 2 =hylde2.. pakke2 sendes efterfølgende.
  420. else if (OK_State == HIGH && menu == 3 && antal == 3 && hylde == 0 && pakke1 != 0 && pakke2 != 0){
  421. lcd.clear();
  422. lcd. setCursor(4,0);
  423. lcd. print("Modtaget");
  424. pakke3 = 1;
  425. hylde1++;
  426. lcd. setCursor(2,1);
  427. lcd. print("Sendt besked");
  428. Serial.println("y");
  429. Serial.println(pakke1);
  430. Serial.println(pakke2);
  431. delay(1000);
  432. menu = 0;
  433. pakke1 = 0;
  434. pakke2 = 0;
  435. pakke3 = 0;
  436. }
  437. // ’u’ = antal = 3, pakke3 = hylde 2, første værdi efterfølgende er pakke 1, her pakke1 =1 = hylde1, pakke2 = 2 =hylde2.. pakke2 sendes efterfølgende.
  438. else if (OK_State == HIGH && menu == 3 && antal == 3 && hylde == 1 && pakke1 != 0 && pakke2 != 0){
  439. lcd.clear();
  440. lcd. setCursor(4,0);
  441. lcd. print("Modtaget");
  442. pakke3 = 2;
  443. hylde2++;
  444. lcd. setCursor(2,1);
  445. lcd. print("Sendt besked");
  446. Serial.println("u");
  447. Serial.println(pakke1);
  448. Serial.println(pakke2);
  449. delay(1000);
  450. menu = 0;
  451. pakke1 = 0;
  452. pakke2 = 0;
  453. pakke3 = 0;
  454. }
  455.  
  456. //’i’ = antal = 3, pakke3 = hylde 3, første værdi efterfølgende er pakke 1, her pakke1 =1 = hylde1, pakke2 = 2 =hylde2.. pakke2 sendes efterfølgende.
  457. else if (OK_State == HIGH && menu == 3 && antal == 3 && hylde == 2 && pakke1 != 0 && pakke2 != 0){
  458. lcd.clear();
  459. lcd. setCursor(4,0);
  460. lcd. print("Modtaget");
  461. pakke3 = 3;
  462. hylde3++;
  463. lcd. setCursor(2,1);
  464. lcd. print("Sendt besked");
  465. Serial.println("i");
  466. Serial.println(pakke1);
  467. Serial.println(pakke2);
  468. delay(1000);
  469. menu = 0;
  470. pakke1 = 0;
  471. pakke2 = 0;
  472. pakke3 = 0;
  473. }
  474.  
  475. // Antal 4 - De følgende if statemtns sorterer hvor de forskellige pakke1, pakke2 samt pakke3 skal hen.
  476. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 0 && pakke1 == 0){
  477. lcd.clear();
  478. lcd. setCursor(4,0);
  479. lcd. print("Modtaget");
  480. lcd. setCursor(5,1);
  481. lcd. print("Hylde 1");
  482. delay(1000);
  483. pakke1 = 1;
  484. hylde1++;
  485. hylde = 0;
  486. }
  487. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 1 && pakke1 == 0){
  488. lcd.clear();
  489. lcd. setCursor(4,0);
  490. lcd. print("Modtaget");
  491. lcd. setCursor(5,1);
  492. lcd. print("Hylde 2");
  493. delay(1000);
  494. pakke1 = 2;
  495. hylde2++;
  496. hylde = 0;
  497. }
  498. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 2 && pakke1 == 0){
  499. lcd.clear();
  500. lcd. setCursor(4,0);
  501. lcd. print("Modtaget");
  502. lcd. setCursor(5,1);
  503. lcd. print("Hylde 3");
  504. delay(1000);
  505. pakke1 = 3;
  506. hylde3++;
  507. hylde = 0;
  508. }
  509. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 0 && pakke1 != 0 && pakke2 == 0){
  510. lcd.clear();
  511. lcd. setCursor(4,0);
  512. lcd. print("Modtaget");
  513. lcd. setCursor(5,1);
  514. lcd. print("Hylde 1");
  515. pakke2 = 1;
  516. hylde1++;
  517. delay(1000);
  518. hylde = 0;
  519. }
  520. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 1 && pakke1 != 0 && pakke2 == 0){
  521. lcd.clear();
  522. lcd. setCursor(4,0);
  523. lcd. print("Modtaget");
  524. lcd. setCursor(5,1);
  525. lcd. print("Hylde 2");
  526. pakke2 = 2;
  527. hylde2++;
  528. delay(1000);
  529. hylde = 0;
  530. }
  531. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 2 && pakke1 != 0 && pakke2 == 0){
  532. lcd.clear();
  533. lcd. setCursor(4,0);
  534. lcd. print("Modtaget");
  535. lcd. setCursor(5,1);
  536. lcd. print("Hylde 3");
  537. pakke2 = 3;
  538. hylde3++;
  539. delay(1000);
  540. hylde = 0;
  541. }
  542. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 0 && pakke1 != 0 && pakke2 != 0 && pakke3 == 0){
  543. lcd.clear();
  544. lcd. setCursor(4,0);
  545. lcd. print("Modtaget");
  546. lcd. setCursor(5,1);
  547. lcd. print("Hylde 1");
  548. pakke3 = 1;
  549. hylde1++;
  550. hylde = 0;
  551. delay(1000);
  552.  
  553. }
  554. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 1 && pakke1 != 0 && pakke2 != 0 && pakke3 == 0){
  555. lcd.clear();
  556. lcd. setCursor(4,0);
  557. lcd. print("Modtaget");
  558. lcd. setCursor(5,1);
  559. lcd. print("Hylde 2");
  560. pakke3 = 2;
  561. hylde2++;
  562. hylde = 0;
  563. delay(1000);
  564. }
  565. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 2 && pakke1 != 0 && pakke2 != 0 && pakke3 == 0){
  566. lcd.clear();
  567. lcd. setCursor(4,0);
  568. lcd. print("Modtaget");
  569. lcd. setCursor(5,1);
  570. lcd. print("Hylde 3");
  571. pakke3 = 3;
  572. hylde3++;
  573. hylde = 0;
  574. delay(1000);
  575. }
  576. // De følgende if statements sorterer hvor pakke4 skal hen samt sender informationer til bluetooth
  577.  
  578. // ’o’ = antal = 4, pakke4 = hylde 1, første værdi efterfølgende er pakke 1, her pakke1 =1 = hylde1, pakke2 = 2 =hylde2.. pakke2 sendes efterfølgende. Pakke 3 sendes herefter
  579.  
  580. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 0 && pakke1 != 0 && pakke2 != 0 && pakke3 != 0 && pakke4 == 0){
  581. lcd.clear();
  582. lcd. setCursor(4,0);
  583. lcd. print("Modtaget");
  584. pakke4 = 1;
  585. hylde1++;
  586. lcd. setCursor(5,1);
  587. lcd. print("Sendt besked");
  588. Serial.println("o");
  589. Serial.println(pakke1);
  590. Serial.println(pakke2);
  591. Serial.println(pakke3);
  592. delay(1000);
  593. menu = 0;
  594. pakke1 = 0;
  595. pakke2 = 0;
  596. pakke3 = 0;
  597. pakke4 = 0;
  598. }
  599. // ’p’ = antal = 4, pakke4 = hylde 2, første værdi efterfølgende er pakke 1, her pakke1 =1 = hylde1, pakke2 = 2 =hylde2.. pakke2 sendes efterfølgende. Pakke 3 sendes herefter
  600. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 1 && pakke1 != 0 && pakke2 != 0 && pakke3 != 0 && pakke4 == 0){
  601. lcd.clear();
  602. lcd. setCursor(4,0);
  603. lcd. print("Modtaget");
  604. pakke4 = 2;
  605. hylde2++;
  606. lcd. setCursor(2,1);
  607. lcd. print("Sendt besked");
  608. Serial.println("p");
  609. Serial.println(pakke1);
  610. Serial.println(pakke2);
  611. Serial.println(pakke3);
  612. delay(1000);
  613. menu = 0;
  614. pakke1 = 0;
  615. pakke2 = 0;
  616. pakke3 = 0;
  617. pakke4 = 0;
  618. }
  619. // ’s’ = antal = 4, pakke4 = hylde 3, første værdi efterfølgende er pakke 1, her pakke1 =1 = hylde1, pakke2 = 2 =hylde2.. pakke2 sendes efterfølgende. Pakke 3 sendes herefter
  620. else if (OK_State == HIGH && menu == 3 && antal == 4 && hylde == 2 && pakke3 != 0){
  621. lcd.clear();
  622. lcd. setCursor(4,0);
  623. lcd. print("Modtaget");
  624. pakke4 = 3;
  625. hylde3++;
  626. lcd. setCursor(2,1);
  627. lcd. print("Sendt besked");
  628. Serial.println("s");
  629. Serial.println(pakke1);
  630. Serial.println(pakke2);
  631. Serial.println(pakke3);
  632. delay(1000);
  633. menu = 0;
  634. pakke1 = 0;
  635. pakke2 = 0;
  636. pakke3 = 0;
  637. pakke4 = 0;
  638. }}}
  639. OK_last = OKaflaesning;
  640. }
  641.  
  642. // Looppet er der hvor de forskellige menuers bliver programmerete således at der er tekst på display'et.
  643. void loop() {
  644. if (menu == 0){
  645. venstremenu();
  646. hojremenu();
  647. OKmenu();
  648. if (forstedisplay == 0){
  649. lcd.clear();
  650. lcd. setCursor(4,0);
  651. lcd. print("Aflever?");
  652. delay(10);
  653. venstremenu();
  654. hojremenu();
  655. OKmenu();
  656. }
  657. else if (forstedisplay == 1){
  658. lcd.clear();
  659. lcd. setCursor(1,0);
  660. lcd. print("Skal en pakke");
  661. lcd. setCursor(5,1);
  662. lcd. print("hentes?");
  663. delay(15);
  664. venstremenu();
  665. hojremenu();
  666. OKmenu();
  667. }
  668. else if (forstedisplay == 2){
  669. lcd.clear();
  670. lcd. setCursor(1,0);
  671. lcd. print("Vil du have");
  672. lcd. setCursor(1,1);
  673. lcd. print("lagerstatus?");
  674. delay(15);
  675. venstremenu();
  676. hojremenu();
  677. OKmenu();
  678. }
  679.  
  680. }
  681. if (menu == 1){
  682. venstremenu();
  683. hojremenu();
  684. OKmenu();
  685.  
  686. if (andendisplay == 0){
  687. lcd.clear();
  688. lcd.setCursor(4,0);
  689. lcd.print("Hylde 1?");
  690. delay(10);
  691. trig = 1;
  692. }
  693. if (andendisplay == 1){
  694. lcd.clear();
  695. lcd. setCursor(1,0);
  696. lcd. print("Hylde 2");
  697. delay(10);
  698. }
  699. if (andendisplay == 2){
  700. lcd.clear();
  701. lcd. setCursor(1,0);
  702. lcd. print("Hylde 3");
  703. delay(10);
  704. }
  705. if (andendisplay == 3){
  706. lcd.clear();
  707. lcd. setCursor(1,0);
  708. lcd. print("Tilbage til menu 1");
  709. delay(10);
  710. }
  711. }
  712.  
  713. if (menu == 2){
  714. venstremenu();
  715. hojremenu();
  716. OKmenu();
  717. if (tredjedisplay == 0){
  718. lcd.clear();
  719. lcd.setCursor(3,0);
  720. lcd.print("Hvor mange");
  721. lcd.setCursor(1,1);
  722. lcd.print("pakker er der?");
  723. delay(10);
  724. }
  725. else if (tredjedisplay == 1){
  726. lcd.clear();
  727. lcd.setCursor(3,0);
  728. lcd.print("1");
  729. delay(10);
  730. }
  731. else if (tredjedisplay == 2){
  732. lcd.clear();
  733. lcd.setCursor(3,0);
  734. lcd.print("2");
  735. delay(10);
  736. }
  737. else if (tredjedisplay == 3){
  738. lcd.clear();
  739. lcd.setCursor(3,0);
  740. lcd.print("3");
  741. delay(10);
  742. }
  743. else if (tredjedisplay == 4){
  744. lcd.clear();
  745. lcd.setCursor(3,0);
  746. lcd.print("4");
  747. delay(10);
  748. }
  749. else if (tredjedisplay == 5){
  750. lcd.clear();
  751. lcd.setCursor(3,0);
  752. lcd.print("Tilbage til");
  753. lcd.setCursor(3,1);
  754. lcd.print("start?");
  755. delay(10);
  756. }
  757. else if (tredjedisplay == 6){
  758. lcd.clear();
  759. lcd.setCursor(3,0);
  760. lcd.print("Reset indstillinger?");
  761. delay(10);
  762. }
  763. }
  764. if (menu == 3){
  765. venstremenu();
  766. hojremenu();
  767. OKmenu();
  768. if (antal == 1){
  769. pakke1 =0;
  770. pakke2 =0;
  771. pakke3 =0;
  772. pakke4 =0;
  773. if (hylde == 0){
  774. lcd.clear();
  775. lcd.setCursor(0,0);
  776. lcd.print("1-Hvilken hylde?");
  777. lcd.setCursor(3,1);
  778. lcd.print("Hylde 1?");
  779. delay(10);
  780. }
  781. else if (hylde == 1){
  782. lcd.clear();
  783. lcd.setCursor(0,0);
  784. lcd.print("1-Hvilken hylde?");
  785. lcd.setCursor(3,1);
  786. lcd.print("Hylde 2?");
  787. delay(10);
  788. }
  789. else if (hylde == 2){
  790. lcd.clear();
  791. lcd.setCursor(0,0);
  792. lcd.print("1-Hvilken hylde?");
  793. lcd.setCursor(3,1);
  794. lcd.print("Hylde 3?");
  795. delay(10);
  796. }
  797. }
  798.  
  799. if (antal== 2){
  800. if (hylde == 0 && pakke1 == 0){
  801. lcd.clear();
  802. lcd.setCursor(0,0);
  803. lcd.print("1-Hvilken hylde?");
  804. lcd.setCursor(3,1);
  805. lcd.print("Hylde 1?");
  806. delay(10);
  807. }
  808. else if (hylde == 1 && pakke1 == 0){
  809. lcd.clear();
  810. lcd.setCursor(0,0);
  811. lcd.print("1-Hvilken hylde?");
  812. lcd.setCursor(3,1);
  813. lcd.print("Hylde 2?");
  814. delay(10);
  815. }
  816. else if (hylde == 2 && pakke1 == 0){
  817. lcd.clear();
  818. lcd.setCursor(0,0);
  819. lcd.print("1-Hvilken hylde?");
  820. lcd.setCursor(3,1);
  821. lcd.print("Hylde 3?");
  822. delay(10);
  823. }
  824. else if (hylde == 0 && pakke1 != 0 && pakke2 == 0){
  825. lcd.clear();
  826. lcd.setCursor(0,0);
  827. lcd.print("2-Hvilken hylde?");
  828. lcd.setCursor(3,1);
  829. lcd.print("Hylde 1?");
  830. delay(10);
  831. }
  832. else if (hylde == 1 && pakke1 != 0 && pakke2 == 0){
  833. lcd.clear();
  834. lcd.setCursor(0,0);
  835. lcd.print("2-Hvilken hylde?");
  836. lcd.setCursor(3,1);
  837. lcd.print("Hylde 2?");
  838. delay(10);
  839. }
  840. else if (hylde == 2 && pakke1 != 0 && pakke2 == 0){
  841. lcd.clear();
  842. lcd.setCursor(0,0);
  843. lcd.print("2-Hvilken hylde?");
  844. lcd.setCursor(3,1);
  845. lcd.print("Hylde 3?");
  846. delay(10);
  847. }
  848.  
  849.  
  850. }
  851.  
  852. if (antal == 3){
  853. if (hylde == 0 && pakke1 == 0){
  854. lcd.clear();
  855. lcd.setCursor(0,0);
  856. lcd.print("1-Hvilken hylde?");
  857. lcd.setCursor(3,1);
  858. lcd.print("Hylde 1?");
  859. delay(10);
  860. }
  861. else if (hylde == 1 && pakke1 == 0){
  862. lcd.clear();
  863. lcd.setCursor(0,0);
  864. lcd.print("1-Hvilken hylde?");
  865. lcd.setCursor(3,1);
  866. lcd.print("Hylde 2?");
  867. delay(10);
  868. }
  869. else if (hylde == 2 && pakke1 == 0){
  870. lcd.clear();
  871. lcd.setCursor(0,0);
  872. lcd.print("1-Hvilken hylde?");
  873. lcd.setCursor(3,1);
  874. lcd.print("Hylde 3?");
  875. delay(10);
  876. }
  877. else if (hylde == 0 && pakke1 != 0 && pakke2 == 0){
  878. lcd.clear();
  879. lcd.setCursor(0,0);
  880. lcd.print("2-Hvilken hylde?");
  881. lcd.setCursor(3,1);
  882. lcd.print("Hylde 1?");
  883. delay(10);
  884. }
  885. else if (hylde == 1 && pakke1 != 0 && pakke2 == 0){
  886. lcd.clear();
  887. lcd.setCursor(0,0);
  888. lcd.print("2-Hvilken hylde?");
  889. lcd.setCursor(3,1);
  890. lcd.print("Hylde 2?");
  891. delay(10);
  892. }
  893. else if (hylde == 2 && pakke1 != 0 && pakke2 == 0){
  894. lcd.clear();
  895. lcd.setCursor(0,0);
  896. lcd.print("2-Hvilken hylde?");
  897. lcd.setCursor(3,1);
  898. lcd.print("Hylde 3?");
  899. delay(10);
  900. }
  901. else if (hylde == 0 && pakke1 != 0 && pakke2 != 0){
  902. lcd.clear();
  903. lcd.setCursor(0,0);
  904. lcd.print("3-Hvilken hylde?");
  905. lcd.setCursor(3,1);
  906. lcd.print("Hylde 1?");
  907. delay(10);
  908. }
  909. else if (hylde == 1 && pakke1 != 0 && pakke2 != 0){
  910. lcd.clear();
  911. lcd.setCursor(0,0);
  912. lcd.print("3-Hvilken hylde?");
  913. lcd.setCursor(3,1);
  914. lcd.print("Hylde 2?");
  915. delay(10);
  916. }
  917. else if (hylde == 2 && pakke1 != 0 && pakke2 != 0){
  918. lcd.clear();
  919. lcd.setCursor(0,0);
  920. lcd.print("3-Hvilken hylde?");
  921. lcd.setCursor(3,1);
  922. lcd.print("Hylde 3?");
  923. delay(10);
  924. }
  925.  
  926. }
  927.  
  928. if (antal == 4){
  929. if (hylde == 0 && pakke1 == 0){
  930. lcd.clear();
  931. lcd.setCursor(0,0);
  932. lcd.print("1-Hvilken hylde?");
  933. lcd.setCursor(3,1);
  934. lcd.print("Hylde 1?");
  935. delay(10);
  936. }
  937. else if (hylde == 1 && pakke1 == 0){
  938. lcd.clear();
  939. lcd.setCursor(0,0);
  940. lcd.print("1-Hvilken hylde?");
  941. lcd.setCursor(3,1);
  942. lcd.print("Hylde 2?");
  943. delay(10);
  944. }
  945. else if (hylde == 2 && pakke1 == 0){
  946. lcd.clear();
  947. lcd.setCursor(0,0);
  948. lcd.print("1-Hvilken hylde?");
  949. lcd.setCursor(3,1);
  950. lcd.print("Hylde 3?");
  951. delay(10);
  952. }
  953. else if (hylde == 0 && pakke1 != 0 && pakke2 == 0){
  954. lcd.clear();
  955. lcd.setCursor(0,0);
  956. lcd.print("2-Hvilken hylde?");
  957. lcd.setCursor(3,1);
  958. lcd.print("Hylde 1?");
  959. delay(10);
  960. }
  961. else if (hylde == 1 && pakke1 != 0 && pakke2 == 0){
  962. lcd.clear();
  963. lcd.setCursor(0,0);
  964. lcd.print("2-Hvilken hylde?");
  965. lcd.setCursor(3,1);
  966. lcd.print("Hylde 2?");
  967. delay(10);
  968. }
  969. else if (hylde == 2 && pakke1 != 0 && pakke2 == 0){
  970. lcd.clear();
  971. lcd.setCursor(0,0);
  972. lcd.print("2-Hvilken hylde?");
  973. lcd.setCursor(3,1);
  974. lcd.print("Hylde 3?");
  975. delay(10);
  976. }
  977. else if (hylde == 0 && pakke1 != 0 && pakke2 != 0 && pakke3 == 0){
  978. lcd.clear();
  979. lcd.setCursor(0,0);
  980. lcd.print("3-Hvilken hylde?");
  981. lcd.setCursor(3,1);
  982. lcd.print("Hylde 1?");
  983. delay(10);
  984. }
  985. else if (hylde == 1 && pakke1 != 0 && pakke2 != 0 && pakke3 == 0){
  986. lcd.clear();
  987. lcd.setCursor(0,0);
  988. lcd.print("3-Hvilken hylde?");
  989. lcd.setCursor(3,1);
  990. lcd.print("Hylde 2?");
  991. delay(10);
  992. }
  993. else if (hylde == 2 && pakke1 != 0 && pakke2 != 0 && pakke3 == 0){
  994. lcd.clear();
  995. lcd.setCursor(0,0);
  996. lcd.print("3-Hvilken hylde?");
  997. lcd.setCursor(3,1);
  998. lcd.print("Hylde 3?");
  999. delay(10);
  1000. }
  1001. else if (hylde == 0 && pakke1 != 0 && pakke2 != 0 && pakke3 != 0 && pakke4 == 0){
  1002. lcd.clear();
  1003. lcd.setCursor(0,0);
  1004. lcd.print("4-Hvilken hylde?");
  1005. lcd.setCursor(3,1);
  1006. lcd.print("Hylde 1?");
  1007. delay(10);
  1008. }
  1009. else if (hylde == 1 && pakke1 != 0 && pakke2 != 0 && pakke3 != 0 && pakke4 == 0){
  1010. lcd.clear();
  1011. lcd.setCursor(0,0);
  1012. lcd.print("4-Hvilken hylde?");
  1013. lcd.setCursor(3,1);
  1014. lcd.print("Hylde 2?");
  1015. delay(10);
  1016. }
  1017. else if (hylde == 2 && pakke1 != 0 && pakke2 != 0 && pakke3 != 0 && pakke4 == 0){
  1018. int fejl = 0;
  1019. lcd.clear();
  1020. lcd.setCursor(0,0);
  1021. lcd.print("4-Hvilken hylde?");
  1022. lcd.setCursor(3,1);
  1023. lcd.print("Hylde 3?");
  1024. venstremenu();
  1025. hojremenu();
  1026. OKmenu();
  1027. delay(10);
  1028. }
  1029.  
  1030.  
  1031.  
  1032. }
  1033. }
  1034. if (menu == 4){
  1035. lcd.clear();
  1036. lcd. setCursor(0,0);
  1037. lcd. print("Hylde");
  1038. lcd. setCursor(0,1);
  1039. lcd. print("Lager");
  1040. lcd.setCursor(9,0);
  1041. lcd.print("1");
  1042. lcd. setCursor(11,0);
  1043. lcd. print("2");
  1044. lcd. setCursor(13,0);
  1045. lcd. print("3");
  1046. lcd. setCursor(9,1);
  1047. lcd. print(hylde1);
  1048. lcd. setCursor(11,1);
  1049. lcd. print(hylde2);
  1050. lcd. setCursor(13,1);
  1051. lcd. print(hylde3);
  1052. delay(5000);
  1053. menu = 4;
  1054. }
  1055. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement