Bisa menampilkan nama , pembacaann adc, dan kondisi sensor

Dependencies:   TextLCD mbed

Committer:
Sufa
Date:
Sat Nov 28 08:31:45 2015 +0000
Revision:
0:c3a8fe9645c5
_Tugas_Hybrid_LCD_Sulhan

Who changed what in which revision?

UserRevisionLine numberNew 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 }