Sustav kontrole pristupa prostoru ostvaren je unosom numeričke lozinke s membranske tipkovnice. Ovisno o ispravnosti lozinke servo motor otključava vrata. Omogućeno je i mijenjanje same lozinke kao i prikaz datuma i vremena na LCD-u.
Dependencies: mbed Servo RGB-LED KeypadLib TextLCD RTC-DS1307
main.cpp@0:a30e079fa744, 2020-02-02 (annotated)
- Committer:
- boki96
- Date:
- Sun Feb 02 10:22:43 2020 +0000
- Revision:
- 0:a30e079fa744
The area access control system is implemented by entering a numeric password from the keyboard. Depending on the password, the servo motor unlocks the door. It is also possible to change the password itself, as well as display the date and time.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
boki96 | 0:a30e079fa744 | 1 | #include "mbed.h" |
boki96 | 0:a30e079fa744 | 2 | #include "Rtc_Ds1307.h" |
boki96 | 0:a30e079fa744 | 3 | #include "keypad.h" |
boki96 | 0:a30e079fa744 | 4 | #include "TextLCD.h" |
boki96 | 0:a30e079fa744 | 5 | #include "Servo.h" |
boki96 | 0:a30e079fa744 | 6 | #include "rgb.h" |
boki96 | 0:a30e079fa744 | 7 | |
boki96 | 0:a30e079fa744 | 8 | #define duljinaLozinke 4 |
boki96 | 0:a30e079fa744 | 9 | |
boki96 | 0:a30e079fa744 | 10 | RGBLed lediceRGB(PA_5, PA_6, PA_7); |
boki96 | 0:a30e079fa744 | 11 | Keypad tipkovnica(PB_4, PB_14, PB_5, PB_13, PA_8, PB_1, PB_10, PB_15); |
boki96 | 0:a30e079fa744 | 12 | TextLCD lcd(PC_10, PC_11, PC_12, PD_2, PC_3, PC_0); |
boki96 | 0:a30e079fa744 | 13 | Rtc_Ds1307 rtc(PB_9, PB_8); |
boki96 | 0:a30e079fa744 | 14 | Servo mojServo(PB_2); |
boki96 | 0:a30e079fa744 | 15 | |
boki96 | 0:a30e079fa744 | 16 | Ticker blicanje; |
boki96 | 0:a30e079fa744 | 17 | Timer ledBlicanje; |
boki96 | 0:a30e079fa744 | 18 | Timer debounce; |
boki96 | 0:a30e079fa744 | 19 | InterruptIn tipkaloIzlaz(PB_3); |
boki96 | 0:a30e079fa744 | 20 | PwmOut piezoZvucnik(PC_7); |
boki96 | 0:a30e079fa744 | 21 | |
boki96 | 0:a30e079fa744 | 22 | void pocetniPrikaz(void); |
boki96 | 0:a30e079fa744 | 23 | void postaviLozinku_pristup(void); |
boki96 | 0:a30e079fa744 | 24 | void led_flip(void); |
boki96 | 0:a30e079fa744 | 25 | void unosLozinkePristup(void); |
boki96 | 0:a30e079fa744 | 26 | void otkljucavanje(void); |
boki96 | 0:a30e079fa744 | 27 | void promjenaLozinkePristup(void); |
boki96 | 0:a30e079fa744 | 28 | void satDatum(void); |
boki96 | 0:a30e079fa744 | 29 | |
boki96 | 0:a30e079fa744 | 30 | int lozinka_pristup[duljinaLozinke]; |
boki96 | 0:a30e079fa744 | 31 | int unos_lozinkePristup[duljinaLozinke]; |
boki96 | 0:a30e079fa744 | 32 | int lozinkaPromjena[duljinaLozinke]; |
boki96 | 0:a30e079fa744 | 33 | |
boki96 | 0:a30e079fa744 | 34 | |
boki96 | 0:a30e079fa744 | 35 | int main() { |
boki96 | 0:a30e079fa744 | 36 | Rtc_Ds1307::Time_rtc tm = {}; |
boki96 | 0:a30e079fa744 | 37 | tipkovnica.enablePullUp(); |
boki96 | 0:a30e079fa744 | 38 | mojServo.write(0.0); |
boki96 | 0:a30e079fa744 | 39 | pocetniPrikaz(); |
boki96 | 0:a30e079fa744 | 40 | postaviLozinku_pristup(); |
boki96 | 0:a30e079fa744 | 41 | debounce.start(); |
boki96 | 0:a30e079fa744 | 42 | tipkaloIzlaz.rise(&otkljucavanje); |
boki96 | 0:a30e079fa744 | 43 | |
boki96 | 0:a30e079fa744 | 44 | while (1) { |
boki96 | 0:a30e079fa744 | 45 | char utipkano = tipkovnica.getKey(); |
boki96 | 0:a30e079fa744 | 46 | switch (utipkano) { |
boki96 | 0:a30e079fa744 | 47 | case 'A': |
boki96 | 0:a30e079fa744 | 48 | promjenaLozinkePristup(); |
boki96 | 0:a30e079fa744 | 49 | break; |
boki96 | 0:a30e079fa744 | 50 | case '#': |
boki96 | 0:a30e079fa744 | 51 | unosLozinkePristup(); |
boki96 | 0:a30e079fa744 | 52 | break; |
boki96 | 0:a30e079fa744 | 53 | default: |
boki96 | 0:a30e079fa744 | 54 | { |
boki96 | 0:a30e079fa744 | 55 | if (rtc.getTime(tm)) { |
boki96 | 0:a30e079fa744 | 56 | lcd.locate(3, 0); |
boki96 | 0:a30e079fa744 | 57 | lcd.printf("%02d.%02d.%04d.", tm.date, tm.mon, tm.year); |
boki96 | 0:a30e079fa744 | 58 | lcd.locate(4, 1); |
boki96 | 0:a30e079fa744 | 59 | lcd.printf("%02d:%02d:%02d", tm.hour, tm.min, tm.sec); |
boki96 | 0:a30e079fa744 | 60 | } |
boki96 | 0:a30e079fa744 | 61 | } |
boki96 | 0:a30e079fa744 | 62 | } |
boki96 | 0:a30e079fa744 | 63 | } |
boki96 | 0:a30e079fa744 | 64 | } |
boki96 | 0:a30e079fa744 | 65 | |
boki96 | 0:a30e079fa744 | 66 | |
boki96 | 0:a30e079fa744 | 67 | void pocetniPrikaz(void) { |
boki96 | 0:a30e079fa744 | 68 | blicanje.attach(&led_flip, 0.5); |
boki96 | 0:a30e079fa744 | 69 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 70 | lcd.printf("DULJINA LOZINKE"); |
boki96 | 0:a30e079fa744 | 71 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 72 | lcd.printf(" %d ZNAKA ", duljinaLozinke); |
boki96 | 0:a30e079fa744 | 73 | wait(2.0); |
boki96 | 0:a30e079fa744 | 74 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 75 | lcd.printf("* POSTAVLJANJE *"); |
boki96 | 0:a30e079fa744 | 76 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 77 | lcd.printf("* LOZINKE *"); |
boki96 | 0:a30e079fa744 | 78 | wait(2.0); |
boki96 | 0:a30e079fa744 | 79 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 80 | blicanje.detach(); |
boki96 | 0:a30e079fa744 | 81 | lediceRGB.prikaz(0.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 82 | |
boki96 | 0:a30e079fa744 | 83 | } |
boki96 | 0:a30e079fa744 | 84 | |
boki96 | 0:a30e079fa744 | 85 | void led_flip(void) { |
boki96 | 0:a30e079fa744 | 86 | lediceRGB.prikaz(0.0, 0.0, 1.0); |
boki96 | 0:a30e079fa744 | 87 | ledBlicanje.start(); |
boki96 | 0:a30e079fa744 | 88 | if (ledBlicanje.read_ms() >= 500) { |
boki96 | 0:a30e079fa744 | 89 | lediceRGB.prikaz(0.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 90 | ledBlicanje.reset(); |
boki96 | 0:a30e079fa744 | 91 | } |
boki96 | 0:a30e079fa744 | 92 | } |
boki96 | 0:a30e079fa744 | 93 | |
boki96 | 0:a30e079fa744 | 94 | void postaviLozinku_pristup(void) { |
boki96 | 0:a30e079fa744 | 95 | blicanje.attach(&led_flip, 0.2); |
boki96 | 0:a30e079fa744 | 96 | lcd.printf("POSTAVI LOZINKU"); |
boki96 | 0:a30e079fa744 | 97 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 98 | lcd.printf(" ZA PRISTUP "); |
boki96 | 0:a30e079fa744 | 99 | wait(1.5); |
boki96 | 0:a30e079fa744 | 100 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 101 | lcd.printf("POSTAVI LOZINKU"); |
boki96 | 0:a30e079fa744 | 102 | lcd.locate(6, 1); |
boki96 | 0:a30e079fa744 | 103 | |
boki96 | 0:a30e079fa744 | 104 | uint8_t i = 0; |
boki96 | 0:a30e079fa744 | 105 | do { |
boki96 | 0:a30e079fa744 | 106 | char utipkano = tipkovnica.getKey(); |
boki96 | 0:a30e079fa744 | 107 | if (utipkano != KEY_RELEASED && utipkano >= '0' && utipkano <= '9') { |
boki96 | 0:a30e079fa744 | 108 | lozinka_pristup[i] = utipkano - 48; |
boki96 | 0:a30e079fa744 | 109 | lcd.printf("*"); |
boki96 | 0:a30e079fa744 | 110 | wait(0.2); |
boki96 | 0:a30e079fa744 | 111 | ++i; |
boki96 | 0:a30e079fa744 | 112 | } else if ((utipkano != KEY_RELEASED) && (utipkano < '0' || utipkano > '9')) { |
boki96 | 0:a30e079fa744 | 113 | blicanje.detach(); |
boki96 | 0:a30e079fa744 | 114 | lediceRGB.prikaz(1.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 115 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 116 | lcd.printf(" POGRESAN UNOS! "); |
boki96 | 0:a30e079fa744 | 117 | piezoZvucnik.period(0.006); |
boki96 | 0:a30e079fa744 | 118 | piezoZvucnik.write(0.1); |
boki96 | 0:a30e079fa744 | 119 | wait(1.0); |
boki96 | 0:a30e079fa744 | 120 | piezoZvucnik.write(0.0); |
boki96 | 0:a30e079fa744 | 121 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 122 | lediceRGB.prikaz(0.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 123 | lcd.printf("POSTAVI LOZINKU"); |
boki96 | 0:a30e079fa744 | 124 | lcd.locate(6, 1); |
boki96 | 0:a30e079fa744 | 125 | i = 0; |
boki96 | 0:a30e079fa744 | 126 | blicanje.attach(&led_flip, 0.2); |
boki96 | 0:a30e079fa744 | 127 | } |
boki96 | 0:a30e079fa744 | 128 | } while (i < duljinaLozinke); |
boki96 | 0:a30e079fa744 | 129 | |
boki96 | 0:a30e079fa744 | 130 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 131 | blicanje.detach(); |
boki96 | 0:a30e079fa744 | 132 | lcd.printf(" LOZINKA "); |
boki96 | 0:a30e079fa744 | 133 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 134 | lcd.printf(" JE POSTAVLJENA "); |
boki96 | 0:a30e079fa744 | 135 | piezoZvucnik.period(0.001); |
boki96 | 0:a30e079fa744 | 136 | piezoZvucnik.write(0.5); |
boki96 | 0:a30e079fa744 | 137 | lediceRGB.prikaz(0.0, 1.0, 0.0); |
boki96 | 0:a30e079fa744 | 138 | wait(2.0); |
boki96 | 0:a30e079fa744 | 139 | blicanje.detach(); |
boki96 | 0:a30e079fa744 | 140 | lediceRGB.prikaz(0.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 141 | piezoZvucnik.write(0.0); |
boki96 | 0:a30e079fa744 | 142 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 143 | } |
boki96 | 0:a30e079fa744 | 144 | |
boki96 | 0:a30e079fa744 | 145 | void unosLozinkePristup(void) { |
boki96 | 0:a30e079fa744 | 146 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 147 | lcd.printf("UNESITE LOZINKU"); |
boki96 | 0:a30e079fa744 | 148 | blicanje.attach(&led_flip, 0.2); |
boki96 | 0:a30e079fa744 | 149 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 150 | lcd.printf(" UNOS LOZINKE "); |
boki96 | 0:a30e079fa744 | 151 | lcd.locate(6, 1); |
boki96 | 0:a30e079fa744 | 152 | |
boki96 | 0:a30e079fa744 | 153 | uint8_t i = 0; |
boki96 | 0:a30e079fa744 | 154 | do { |
boki96 | 0:a30e079fa744 | 155 | char utipkano = tipkovnica.getKey(); |
boki96 | 0:a30e079fa744 | 156 | if (utipkano != KEY_RELEASED && utipkano >= '0' && utipkano <= '9') { |
boki96 | 0:a30e079fa744 | 157 | unos_lozinkePristup[i] = utipkano - 48; |
boki96 | 0:a30e079fa744 | 158 | lcd.printf("*"); |
boki96 | 0:a30e079fa744 | 159 | wait(0.2); |
boki96 | 0:a30e079fa744 | 160 | ++i; |
boki96 | 0:a30e079fa744 | 161 | } |
boki96 | 0:a30e079fa744 | 162 | } while (i < duljinaLozinke); |
boki96 | 0:a30e079fa744 | 163 | blicanje.detach(); |
boki96 | 0:a30e079fa744 | 164 | |
boki96 | 0:a30e079fa744 | 165 | uint8_t brojac = 0; |
boki96 | 0:a30e079fa744 | 166 | for (uint8_t i = 0; i < duljinaLozinke; ++i) { |
boki96 | 0:a30e079fa744 | 167 | if (unos_lozinkePristup[i] == lozinka_pristup[i]) |
boki96 | 0:a30e079fa744 | 168 | brojac++; |
boki96 | 0:a30e079fa744 | 169 | } |
boki96 | 0:a30e079fa744 | 170 | |
boki96 | 0:a30e079fa744 | 171 | if (brojac == duljinaLozinke) { |
boki96 | 0:a30e079fa744 | 172 | lediceRGB.prikaz(0.0, 1.0, 0.0); |
boki96 | 0:a30e079fa744 | 173 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 174 | lcd.printf(" PRISTUP "); |
boki96 | 0:a30e079fa744 | 175 | lcd.locate(4, 1); |
boki96 | 0:a30e079fa744 | 176 | lcd.printf("OMOGUCEN"); |
boki96 | 0:a30e079fa744 | 177 | piezoZvucnik.period(0.001); |
boki96 | 0:a30e079fa744 | 178 | piezoZvucnik.write(0.5); |
boki96 | 0:a30e079fa744 | 179 | wait(2.0); |
boki96 | 0:a30e079fa744 | 180 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 181 | otkljucavanje(); |
boki96 | 0:a30e079fa744 | 182 | } else if (brojac != duljinaLozinke) { |
boki96 | 0:a30e079fa744 | 183 | lediceRGB.prikaz(1.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 184 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 185 | lcd.printf(" PRISTUP "); |
boki96 | 0:a30e079fa744 | 186 | lcd.locate(3, 1); |
boki96 | 0:a30e079fa744 | 187 | lcd.printf("ONEMOGUCEN"); |
boki96 | 0:a30e079fa744 | 188 | piezoZvucnik.period(0.004); |
boki96 | 0:a30e079fa744 | 189 | piezoZvucnik.write(0.1); |
boki96 | 0:a30e079fa744 | 190 | wait(2.0); |
boki96 | 0:a30e079fa744 | 191 | lediceRGB.prikaz(0.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 192 | piezoZvucnik.write(0.0); |
boki96 | 0:a30e079fa744 | 193 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 194 | } |
boki96 | 0:a30e079fa744 | 195 | } |
boki96 | 0:a30e079fa744 | 196 | |
boki96 | 0:a30e079fa744 | 197 | void promjenaLozinkePristup(void) { |
boki96 | 0:a30e079fa744 | 198 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 199 | blicanje.attach(&led_flip, 0.2); |
boki96 | 0:a30e079fa744 | 200 | lcd.printf("PROMJENA LOZINKE"); |
boki96 | 0:a30e079fa744 | 201 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 202 | lcd.printf(" ZA PRISTUP "); |
boki96 | 0:a30e079fa744 | 203 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 204 | lcd.printf("TRENUTNA LOZINKA"); |
boki96 | 0:a30e079fa744 | 205 | lcd.locate(6, 1); |
boki96 | 0:a30e079fa744 | 206 | |
boki96 | 0:a30e079fa744 | 207 | uint8_t i = 0; |
boki96 | 0:a30e079fa744 | 208 | do { |
boki96 | 0:a30e079fa744 | 209 | char utipkano = tipkovnica.getKey(); |
boki96 | 0:a30e079fa744 | 210 | if (utipkano != KEY_RELEASED && utipkano >= '0' && utipkano <= '9') { |
boki96 | 0:a30e079fa744 | 211 | lozinkaPromjena[i] = utipkano - 48; |
boki96 | 0:a30e079fa744 | 212 | lcd.printf("*"); |
boki96 | 0:a30e079fa744 | 213 | wait(0.2); |
boki96 | 0:a30e079fa744 | 214 | ++i; |
boki96 | 0:a30e079fa744 | 215 | } |
boki96 | 0:a30e079fa744 | 216 | } while (i < duljinaLozinke); |
boki96 | 0:a30e079fa744 | 217 | blicanje.detach(); |
boki96 | 0:a30e079fa744 | 218 | |
boki96 | 0:a30e079fa744 | 219 | uint8_t brojac = 0; |
boki96 | 0:a30e079fa744 | 220 | for (uint8_t i = 0; i < duljinaLozinke; ++i) { |
boki96 | 0:a30e079fa744 | 221 | if (lozinkaPromjena[i] == lozinka_pristup[i]) |
boki96 | 0:a30e079fa744 | 222 | brojac++; |
boki96 | 0:a30e079fa744 | 223 | } |
boki96 | 0:a30e079fa744 | 224 | |
boki96 | 0:a30e079fa744 | 225 | if (brojac == duljinaLozinke) { |
boki96 | 0:a30e079fa744 | 226 | lediceRGB.prikaz(0.0, 1.0, 0.0); |
boki96 | 0:a30e079fa744 | 227 | wait(1.0); |
boki96 | 0:a30e079fa744 | 228 | lediceRGB.prikaz(0.0, 1.0, 0.0); |
boki96 | 0:a30e079fa744 | 229 | blicanje.attach(&led_flip, 0.2); |
boki96 | 0:a30e079fa744 | 230 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 231 | lcd.printf(" NOVA LOZINKA"); |
boki96 | 0:a30e079fa744 | 232 | lcd.locate(6, 1); |
boki96 | 0:a30e079fa744 | 233 | |
boki96 | 0:a30e079fa744 | 234 | uint8_t i = 0; |
boki96 | 0:a30e079fa744 | 235 | do { |
boki96 | 0:a30e079fa744 | 236 | char utipkano = tipkovnica.getKey(); |
boki96 | 0:a30e079fa744 | 237 | if (utipkano != KEY_RELEASED && utipkano >= '0' && utipkano <= '9') { |
boki96 | 0:a30e079fa744 | 238 | lozinka_pristup[i] = utipkano - 48; |
boki96 | 0:a30e079fa744 | 239 | lcd.printf("*"); |
boki96 | 0:a30e079fa744 | 240 | wait(0.2); |
boki96 | 0:a30e079fa744 | 241 | ++i; |
boki96 | 0:a30e079fa744 | 242 | } |
boki96 | 0:a30e079fa744 | 243 | } while (i < duljinaLozinke); |
boki96 | 0:a30e079fa744 | 244 | blicanje.detach(); |
boki96 | 0:a30e079fa744 | 245 | |
boki96 | 0:a30e079fa744 | 246 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 247 | lcd.locate(4, 0); |
boki96 | 0:a30e079fa744 | 248 | lcd.printf("LOZINKA"); |
boki96 | 0:a30e079fa744 | 249 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 250 | lcd.printf("JE PROMIJENJENA!"); |
boki96 | 0:a30e079fa744 | 251 | piezoZvucnik.period(0.001); |
boki96 | 0:a30e079fa744 | 252 | piezoZvucnik.write(0.5); |
boki96 | 0:a30e079fa744 | 253 | lediceRGB.prikaz(0.0, 1.0, 0.0); |
boki96 | 0:a30e079fa744 | 254 | wait(2.0); |
boki96 | 0:a30e079fa744 | 255 | piezoZvucnik.write(0.0); |
boki96 | 0:a30e079fa744 | 256 | lediceRGB.prikaz(0.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 257 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 258 | } else if (brojac != duljinaLozinke) { |
boki96 | 0:a30e079fa744 | 259 | lediceRGB.prikaz(1.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 260 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 261 | lcd.printf("KRIVA LOZINKA..."); |
boki96 | 0:a30e079fa744 | 262 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 263 | lcd.printf("UNESITE PONOVNO!"); |
boki96 | 0:a30e079fa744 | 264 | wait(1.0); |
boki96 | 0:a30e079fa744 | 265 | lediceRGB.prikaz(0.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 266 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 267 | } |
boki96 | 0:a30e079fa744 | 268 | } |
boki96 | 0:a30e079fa744 | 269 | |
boki96 | 0:a30e079fa744 | 270 | void otkljucavanje(void) { |
boki96 | 0:a30e079fa744 | 271 | if (debounce.read_ms() > 200) { |
boki96 | 0:a30e079fa744 | 272 | piezoZvucnik.period(0.001); |
boki96 | 0:a30e079fa744 | 273 | piezoZvucnik.write(0.2); |
boki96 | 0:a30e079fa744 | 274 | wait(0.5); |
boki96 | 0:a30e079fa744 | 275 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 276 | lediceRGB.prikaz(0.0, 1.0, 0.0); |
boki96 | 0:a30e079fa744 | 277 | lcd.printf(" OTKLJUCAVANJE! "); |
boki96 | 0:a30e079fa744 | 278 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 279 | lcd.printf("****************"); |
boki96 | 0:a30e079fa744 | 280 | mojServo.write(90.0); |
boki96 | 0:a30e079fa744 | 281 | wait(1.5); |
boki96 | 0:a30e079fa744 | 282 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 283 | lcd.printf("****************"); |
boki96 | 0:a30e079fa744 | 284 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 285 | lcd.printf(" OTKLJUCANO "); |
boki96 | 0:a30e079fa744 | 286 | piezoZvucnik.write(0.0); |
boki96 | 0:a30e079fa744 | 287 | |
boki96 | 0:a30e079fa744 | 288 | wait(10.0); |
boki96 | 0:a30e079fa744 | 289 | |
boki96 | 0:a30e079fa744 | 290 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 291 | piezoZvucnik.period(0.001); |
boki96 | 0:a30e079fa744 | 292 | piezoZvucnik.write(0.5); |
boki96 | 0:a30e079fa744 | 293 | lediceRGB.prikaz(1.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 294 | lcd.printf(" ZAKLJUCAVANJE! "); |
boki96 | 0:a30e079fa744 | 295 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 296 | lcd.printf("****************"); |
boki96 | 0:a30e079fa744 | 297 | mojServo.write(0.0); |
boki96 | 0:a30e079fa744 | 298 | wait(1.5); |
boki96 | 0:a30e079fa744 | 299 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 300 | lcd.printf("****************"); |
boki96 | 0:a30e079fa744 | 301 | lcd.locate(0, 1); |
boki96 | 0:a30e079fa744 | 302 | lcd.printf(" ZAKLJUCANO "); |
boki96 | 0:a30e079fa744 | 303 | wait(1.5); |
boki96 | 0:a30e079fa744 | 304 | lediceRGB.prikaz(0.0, 0.0, 0.0); |
boki96 | 0:a30e079fa744 | 305 | piezoZvucnik.write(0.0); |
boki96 | 0:a30e079fa744 | 306 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 307 | debounce.reset(); |
boki96 | 0:a30e079fa744 | 308 | lcd.cls(); |
boki96 | 0:a30e079fa744 | 309 | } |
boki96 | 0:a30e079fa744 | 310 | } |