Sulhan Fauzi
/
_Tugas_Hybrid_LCD_SulhanF
Bisa menampilkan nama , pembacaann adc, dan kondisi sensor
LCD_Sulhan.cpp@0:c3a8fe9645c5, 2015-11-28 (annotated)
- Committer:
- Sufa
- Date:
- Sat Nov 28 08:31:45 2015 +0000
- Revision:
- 0:c3a8fe9645c5
_Tugas_Hybrid_LCD_Sulhan
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Sufa | 0:c3a8fe9645c5 | 1 | /*********************************************************************/ |
Sufa | 0:c3a8fe9645c5 | 2 | /** **/ |
Sufa | 0:c3a8fe9645c5 | 3 | /** PROGRAM TAMPIL LCD **/ |
Sufa | 0:c3a8fe9645c5 | 4 | /** **/ |
Sufa | 0:c3a8fe9645c5 | 5 | /** 28, Sabtu, 2015 **/ |
Sufa | 0:c3a8fe9645c5 | 6 | /** **/ |
Sufa | 0:c3a8fe9645c5 | 7 | /** Dibuat oleh : **/ |
Sufa | 0:c3a8fe9645c5 | 8 | /** Sulhan Fauzi **/ |
Sufa | 0:c3a8fe9645c5 | 9 | /** 13214101 **/ |
Sufa | 0:c3a8fe9645c5 | 10 | /** **/ |
Sufa | 0:c3a8fe9645c5 | 11 | /*********************************************************************/ |
Sufa | 0:c3a8fe9645c5 | 12 | |
Sufa | 0:c3a8fe9645c5 | 13 | #include "mbed.h" |
Sufa | 0:c3a8fe9645c5 | 14 | #include "TextLCD.h" |
Sufa | 0:c3a8fe9645c5 | 15 | |
Sufa | 0:c3a8fe9645c5 | 16 | /* Program ini akan menampilkan tampilan di LCD dengan pemilihan menu |
Sufa | 0:c3a8fe9645c5 | 17 | */ |
Sufa | 0:c3a8fe9645c5 | 18 | |
Sufa | 0:c3a8fe9645c5 | 19 | TextLCD lcd (D7, D6, D5, D4, D3, D2, TextLCD :: LCD20x4); //rs, e, d4-d7 |
Sufa | 0:c3a8fe9645c5 | 20 | DigitalIn butA (PA_12); |
Sufa | 0:c3a8fe9645c5 | 21 | DigitalIn butB (PA_11);; |
Sufa | 0:c3a8fe9645c5 | 22 | DigitalIn butC (PB_12); |
Sufa | 0:c3a8fe9645c5 | 23 | DigitalOut led (D13); |
Sufa | 0:c3a8fe9645c5 | 24 | DigitalOut SelA (D11); |
Sufa | 0:c3a8fe9645c5 | 25 | DigitalOut SelB (D12); |
Sufa | 0:c3a8fe9645c5 | 26 | DigitalOut SelC (D14); |
Sufa | 0:c3a8fe9645c5 | 27 | AnalogIn sensorkanan (A0); |
Sufa | 0:c3a8fe9645c5 | 28 | AnalogIn sensorkiri (A1); |
Sufa | 0:c3a8fe9645c5 | 29 | |
Sufa | 0:c3a8fe9645c5 | 30 | void Selektor (int output) { |
Sufa | 0:c3a8fe9645c5 | 31 | if (output == 0) { |
Sufa | 0:c3a8fe9645c5 | 32 | SelA = 0; SelB = 0; SelC = 0; |
Sufa | 0:c3a8fe9645c5 | 33 | } |
Sufa | 0:c3a8fe9645c5 | 34 | else if (output == 1) { |
Sufa | 0:c3a8fe9645c5 | 35 | SelA = 1; SelB = 0; SelC = 0; |
Sufa | 0:c3a8fe9645c5 | 36 | } |
Sufa | 0:c3a8fe9645c5 | 37 | else if (output == 3) { |
Sufa | 0:c3a8fe9645c5 | 38 | SelA = 0; SelB = 1; SelC = 0; |
Sufa | 0:c3a8fe9645c5 | 39 | } |
Sufa | 0:c3a8fe9645c5 | 40 | else if (output == 4) { |
Sufa | 0:c3a8fe9645c5 | 41 | SelA = 0; SelB = 0; SelC = 1; |
Sufa | 0:c3a8fe9645c5 | 42 | } |
Sufa | 0:c3a8fe9645c5 | 43 | else if (output == 5) { |
Sufa | 0:c3a8fe9645c5 | 44 | SelA = 1; SelB = 0; SelC = 1; |
Sufa | 0:c3a8fe9645c5 | 45 | } |
Sufa | 0:c3a8fe9645c5 | 46 | else if (output == 6) { |
Sufa | 0:c3a8fe9645c5 | 47 | SelA = 0; SelB = 1; SelC = 1; |
Sufa | 0:c3a8fe9645c5 | 48 | } |
Sufa | 0:c3a8fe9645c5 | 49 | else if (output == 7) { |
Sufa | 0:c3a8fe9645c5 | 50 | SelA = 1; SelB = 1; SelC = 1; |
Sufa | 0:c3a8fe9645c5 | 51 | } |
Sufa | 0:c3a8fe9645c5 | 52 | } |
Sufa | 0:c3a8fe9645c5 | 53 | char sensor_ki (int urutan) |
Sufa | 0:c3a8fe9645c5 | 54 | { |
Sufa | 0:c3a8fe9645c5 | 55 | char s; |
Sufa | 0:c3a8fe9645c5 | 56 | Selektor(urutan); |
Sufa | 0:c3a8fe9645c5 | 57 | wait_ms(1); |
Sufa | 0:c3a8fe9645c5 | 58 | if (sensorkiri.read() >= 1) |
Sufa | 0:c3a8fe9645c5 | 59 | { |
Sufa | 0:c3a8fe9645c5 | 60 | |
Sufa | 0:c3a8fe9645c5 | 61 | s='1'; |
Sufa | 0:c3a8fe9645c5 | 62 | } |
Sufa | 0:c3a8fe9645c5 | 63 | else |
Sufa | 0:c3a8fe9645c5 | 64 | { |
Sufa | 0:c3a8fe9645c5 | 65 | s='0'; |
Sufa | 0:c3a8fe9645c5 | 66 | } |
Sufa | 0:c3a8fe9645c5 | 67 | |
Sufa | 0:c3a8fe9645c5 | 68 | return s; |
Sufa | 0:c3a8fe9645c5 | 69 | } |
Sufa | 0:c3a8fe9645c5 | 70 | char sensor_ka (int urutan ) |
Sufa | 0:c3a8fe9645c5 | 71 | { |
Sufa | 0:c3a8fe9645c5 | 72 | char s; |
Sufa | 0:c3a8fe9645c5 | 73 | Selektor(urutan); |
Sufa | 0:c3a8fe9645c5 | 74 | wait_ms(1); |
Sufa | 0:c3a8fe9645c5 | 75 | if (sensorkanan.read() >= 1) |
Sufa | 0:c3a8fe9645c5 | 76 | { |
Sufa | 0:c3a8fe9645c5 | 77 | s='1'; |
Sufa | 0:c3a8fe9645c5 | 78 | } |
Sufa | 0:c3a8fe9645c5 | 79 | else |
Sufa | 0:c3a8fe9645c5 | 80 | { |
Sufa | 0:c3a8fe9645c5 | 81 | s='0'; |
Sufa | 0:c3a8fe9645c5 | 82 | } |
Sufa | 0:c3a8fe9645c5 | 83 | |
Sufa | 0:c3a8fe9645c5 | 84 | return s; |
Sufa | 0:c3a8fe9645c5 | 85 | } |
Sufa | 0:c3a8fe9645c5 | 86 | float adcsensorkiri (int urutan) |
Sufa | 0:c3a8fe9645c5 | 87 | { |
Sufa | 0:c3a8fe9645c5 | 88 | Selektor(urutan); |
Sufa | 0:c3a8fe9645c5 | 89 | wait_ms(10); |
Sufa | 0:c3a8fe9645c5 | 90 | return sensorkiri.read(); |
Sufa | 0:c3a8fe9645c5 | 91 | } |
Sufa | 0:c3a8fe9645c5 | 92 | float adcsensorkanan (int urutan) |
Sufa | 0:c3a8fe9645c5 | 93 | { |
Sufa | 0:c3a8fe9645c5 | 94 | Selektor(urutan); |
Sufa | 0:c3a8fe9645c5 | 95 | wait_ms(10); |
Sufa | 0:c3a8fe9645c5 | 96 | return sensorkiri.read(); |
Sufa | 0:c3a8fe9645c5 | 97 | } |
Sufa | 0:c3a8fe9645c5 | 98 | void tampil () |
Sufa | 0:c3a8fe9645c5 | 99 | { |
Sufa | 0:c3a8fe9645c5 | 100 | int i, j; |
Sufa | 0:c3a8fe9645c5 | 101 | i=2; |
Sufa | 0:c3a8fe9645c5 | 102 | j=1; |
Sufa | 0:c3a8fe9645c5 | 103 | while (1) |
Sufa | 0:c3a8fe9645c5 | 104 | { |
Sufa | 0:c3a8fe9645c5 | 105 | for (j==1; j++; j==7) |
Sufa | 0:c3a8fe9645c5 | 106 | { |
Sufa | 0:c3a8fe9645c5 | 107 | lcd.locate(i,3); |
Sufa | 0:c3a8fe9645c5 | 108 | lcd.putc(adcsensorkanan(j)); |
Sufa | 0:c3a8fe9645c5 | 109 | i = i + 1; |
Sufa | 0:c3a8fe9645c5 | 110 | } |
Sufa | 0:c3a8fe9645c5 | 111 | lcd.locate(8,3); |
Sufa | 0:c3a8fe9645c5 | 112 | for (j==1; j++; j==7) |
Sufa | 0:c3a8fe9645c5 | 113 | { |
Sufa | 0:c3a8fe9645c5 | 114 | lcd.locate(i,3); |
Sufa | 0:c3a8fe9645c5 | 115 | lcd.putc(adcsensorkiri(j)); |
Sufa | 0:c3a8fe9645c5 | 116 | i = i + 1; |
Sufa | 0:c3a8fe9645c5 | 117 | } |
Sufa | 0:c3a8fe9645c5 | 118 | } |
Sufa | 0:c3a8fe9645c5 | 119 | } |
Sufa | 0:c3a8fe9645c5 | 120 | void tampil_adc() |
Sufa | 0:c3a8fe9645c5 | 121 | { |
Sufa | 0:c3a8fe9645c5 | 122 | int k,j,i; |
Sufa | 0:c3a8fe9645c5 | 123 | i=0; |
Sufa | 0:c3a8fe9645c5 | 124 | |
Sufa | 0:c3a8fe9645c5 | 125 | while(i <= 3) |
Sufa | 0:c3a8fe9645c5 | 126 | { |
Sufa | 0:c3a8fe9645c5 | 127 | j=0; |
Sufa | 0:c3a8fe9645c5 | 128 | k=7; |
Sufa | 0:c3a8fe9645c5 | 129 | while(j<16 && k>3) |
Sufa | 0:c3a8fe9645c5 | 130 | { |
Sufa | 0:c3a8fe9645c5 | 131 | lcd.locate(j,i); |
Sufa | 0:c3a8fe9645c5 | 132 | if(i==0) |
Sufa | 0:c3a8fe9645c5 | 133 | { |
Sufa | 0:c3a8fe9645c5 | 134 | //lcd.locate(j,i); |
Sufa | 0:c3a8fe9645c5 | 135 | lcd.printf("%1.2f",adcsensorkiri(k)); |
Sufa | 0:c3a8fe9645c5 | 136 | } |
Sufa | 0:c3a8fe9645c5 | 137 | else if(i==1) |
Sufa | 0:c3a8fe9645c5 | 138 | { |
Sufa | 0:c3a8fe9645c5 | 139 | //lcd.locate(j,i); |
Sufa | 0:c3a8fe9645c5 | 140 | lcd.printf("%1.2f",adcsensorkiri(k-4)); |
Sufa | 0:c3a8fe9645c5 | 141 | } |
Sufa | 0:c3a8fe9645c5 | 142 | else if(i==2) |
Sufa | 0:c3a8fe9645c5 | 143 | { |
Sufa | 0:c3a8fe9645c5 | 144 | //lcd.locate(j,i); |
Sufa | 0:c3a8fe9645c5 | 145 | lcd.printf("%1.2f",adcsensorkanan(k)); |
Sufa | 0:c3a8fe9645c5 | 146 | } |
Sufa | 0:c3a8fe9645c5 | 147 | else if(i==3) |
Sufa | 0:c3a8fe9645c5 | 148 | { |
Sufa | 0:c3a8fe9645c5 | 149 | //lcd.locate(j,i); |
Sufa | 0:c3a8fe9645c5 | 150 | lcd.printf("%1.2f",adcsensorkanan(k-4)); |
Sufa | 0:c3a8fe9645c5 | 151 | } |
Sufa | 0:c3a8fe9645c5 | 152 | |
Sufa | 0:c3a8fe9645c5 | 153 | j=j+5; |
Sufa | 0:c3a8fe9645c5 | 154 | k--; |
Sufa | 0:c3a8fe9645c5 | 155 | } |
Sufa | 0:c3a8fe9645c5 | 156 | i++; |
Sufa | 0:c3a8fe9645c5 | 157 | } |
Sufa | 0:c3a8fe9645c5 | 158 | } |
Sufa | 0:c3a8fe9645c5 | 159 | |
Sufa | 0:c3a8fe9645c5 | 160 | int main () { |
Sufa | 0:c3a8fe9645c5 | 161 | int i; |
Sufa | 0:c3a8fe9645c5 | 162 | while (1) { |
Sufa | 0:c3a8fe9645c5 | 163 | if ((butA == 1) and (butB == 0) and (butC == 0)) |
Sufa | 0:c3a8fe9645c5 | 164 | { |
Sufa | 0:c3a8fe9645c5 | 165 | i = 0; |
Sufa | 0:c3a8fe9645c5 | 166 | while ( i < 5) |
Sufa | 0:c3a8fe9645c5 | 167 | { |
Sufa | 0:c3a8fe9645c5 | 168 | lcd.cls (); |
Sufa | 0:c3a8fe9645c5 | 169 | lcd.locate(5,0); |
Sufa | 0:c3a8fe9645c5 | 170 | lcd.printf(" Sulhan "); |
Sufa | 0:c3a8fe9645c5 | 171 | lcd.locate(4,1); |
Sufa | 0:c3a8fe9645c5 | 172 | lcd.printf(" 13214101 "); wait_ms(1000); |
Sufa | 0:c3a8fe9645c5 | 173 | lcd.cls(); |
Sufa | 0:c3a8fe9645c5 | 174 | wait_ms(1000); |
Sufa | 0:c3a8fe9645c5 | 175 | i = i + 1; |
Sufa | 0:c3a8fe9645c5 | 176 | } |
Sufa | 0:c3a8fe9645c5 | 177 | } |
Sufa | 0:c3a8fe9645c5 | 178 | else if ((butA == 0) and (butB == 1) and (butC == 0)) |
Sufa | 0:c3a8fe9645c5 | 179 | { |
Sufa | 0:c3a8fe9645c5 | 180 | lcd.cls(); |
Sufa | 0:c3a8fe9645c5 | 181 | lcd.locate(4,0); |
Sufa | 0:c3a8fe9645c5 | 182 | lcd.printf("Pembacaan ADC"); |
Sufa | 0:c3a8fe9645c5 | 183 | lcd.locate(4,1); |
Sufa | 0:c3a8fe9645c5 | 184 | wait_ms(1000); |
Sufa | 0:c3a8fe9645c5 | 185 | lcd.cls(); |
Sufa | 0:c3a8fe9645c5 | 186 | tampil_adc(); |
Sufa | 0:c3a8fe9645c5 | 187 | wait_ms(1000); |
Sufa | 0:c3a8fe9645c5 | 188 | } |
Sufa | 0:c3a8fe9645c5 | 189 | else if ((butA == 0) and (butB == 0) and (butC == 1)) |
Sufa | 0:c3a8fe9645c5 | 190 | { |
Sufa | 0:c3a8fe9645c5 | 191 | while (1) |
Sufa | 0:c3a8fe9645c5 | 192 | { |
Sufa | 0:c3a8fe9645c5 | 193 | led =1; |
Sufa | 0:c3a8fe9645c5 | 194 | wait_ms(200); |
Sufa | 0:c3a8fe9645c5 | 195 | led=0; |
Sufa | 0:c3a8fe9645c5 | 196 | wait_ms(200); |
Sufa | 0:c3a8fe9645c5 | 197 | tampil (); |
Sufa | 0:c3a8fe9645c5 | 198 | } |
Sufa | 0:c3a8fe9645c5 | 199 | } |
Sufa | 0:c3a8fe9645c5 | 200 | else |
Sufa | 0:c3a8fe9645c5 | 201 | { |
Sufa | 0:c3a8fe9645c5 | 202 | lcd.cls(); |
Sufa | 0:c3a8fe9645c5 | 203 | lcd.locate (0,0); |
Sufa | 0:c3a8fe9645c5 | 204 | lcd.printf (" Pilih menu "); |
Sufa | 0:c3a8fe9645c5 | 205 | lcd.locate (1,1); |
Sufa | 0:c3a8fe9645c5 | 206 | lcd.printf ("1. Nama"); |
Sufa | 0:c3a8fe9645c5 | 207 | lcd.locate (1,2); |
Sufa | 0:c3a8fe9645c5 | 208 | lcd.printf ("2. Pembacaan ADC"); |
Sufa | 0:c3a8fe9645c5 | 209 | lcd.locate (1,3); |
Sufa | 0:c3a8fe9645c5 | 210 | lcd.printf("3. LED dan Sensor"); |
Sufa | 0:c3a8fe9645c5 | 211 | wait_ms(1000); |
Sufa | 0:c3a8fe9645c5 | 212 | } |
Sufa | 0:c3a8fe9645c5 | 213 | } |
Sufa | 0:c3a8fe9645c5 | 214 | } |