Kali ini saya akan membahas mengenai bagaimana cara membuat alat dengan menggunakan board MSP EXP430G2553, ini adalah project pertama saya dengan board ini, setelah saya coba board ini ternyata hasilnya luar biasa stabil dan arus / tegangan yang dipakai tetap, selain itu saat proses upload benar2 smooth sekali, yang perlu diingat pada board Launchpad ini yaitu VCC = 3,3 volt bukan 5 volt, maka dari itu ubah Vref adc dengan 3,3 volt. Alat ini menggunakan sensor LM35 sebagai sensor temperature, kemudian interface menggunakan 7 segment CA 2 digit dan drivernya adalah IC shift register 74HC164. untuk penjelasan lebih lanjut berikut program dan skemanya. Jika belum tau cara mem-programnya silahkan kunjungi link ini ==>> LINK
a. Board MSP EXP430G2553
b. Skema 7Segment Interface & LM35
c. Cara Memasang Sensor & 7segment
- Hubungkan CLK ke pin 7 , Data ke pin 8, Vout LM35 ke A0
- Hubungkan VCC dan GND
- Jika menggunakan Board Arduino maka sesuaikan Pin I/0 nya
d. Program Energia IDE
#define data 8
#define clock 7
byte zero = B00000011;
byte one = B10011111;
byte two = B00100101;
byte three = B00001101;
byte four = B10011001;
byte five = B01001001;
byte six = B01000001;
byte seven = B00011111;
byte eight = B00000001;
byte nine = B00001001;
void setup()
{
// put your setup code here, to run once:
pinMode(clock, OUTPUT); // make the clock pin an output
pinMode(data , OUTPUT); // make the data pin an output3
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop()
{
int sensorValue = analogRead(A0);
int volt = ((sensorValue * 3.3) / 1023.0) * 100.0;
Serial.println(volt);
int puluhan = volt / 10;
int satuan = volt % 10;
//digitalWrite(9, HIGH); //satuan
//digitalWrite(10, HIGH); //puluhan
switch(puluhan){
case 0:
puluhan = zero;
break;
case 1:
puluhan = one;
break;
case 2:
puluhan = two;
break;
case 3:
puluhan = three;
break;
case 4:
puluhan = four;
break;
case 5:
puluhan = five;
break;
case 6:
puluhan = six;
break;
case 7:
puluhan = seven;
break;
case 8:
puluhan = eight;
break;
case 9:
puluhan = nine;
break;
}
switch(satuan){
case 0:
satuan = zero;
break;
case 1:
satuan = one;
break;
case 2:
satuan = two;
break;
case 3:
satuan = three;
break;
case 4:
satuan = four;
break;
case 5:
satuan = five;
break;
case 6:
satuan = six;
break;
case 7:
satuan = seven;
break;
case 8:
satuan = eight;
break;
case 9:
satuan = nine;
break;
}
digitalWrite(9, LOW); //satuan
digitalWrite(10, HIGH); //puluhan
shiftOut(data, clock, LSBFIRST, puluhan);
delay(10);
digitalWrite(9, HIGH); //satuan
digitalWrite(10, LOW); //puluhan
shiftOut(data, clock, LSBFIRST, satuan);
delay(10);
}
#define clock 7
byte zero = B00000011;
byte one = B10011111;
byte two = B00100101;
byte three = B00001101;
byte four = B10011001;
byte five = B01001001;
byte six = B01000001;
byte seven = B00011111;
byte eight = B00000001;
byte nine = B00001001;
void setup()
{
// put your setup code here, to run once:
pinMode(clock, OUTPUT); // make the clock pin an output
pinMode(data , OUTPUT); // make the data pin an output3
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop()
{
int sensorValue = analogRead(A0);
int volt = ((sensorValue * 3.3) / 1023.0) * 100.0;
Serial.println(volt);
int puluhan = volt / 10;
int satuan = volt % 10;
//digitalWrite(9, HIGH); //satuan
//digitalWrite(10, HIGH); //puluhan
switch(puluhan){
case 0:
puluhan = zero;
break;
case 1:
puluhan = one;
break;
case 2:
puluhan = two;
break;
case 3:
puluhan = three;
break;
case 4:
puluhan = four;
break;
case 5:
puluhan = five;
break;
case 6:
puluhan = six;
break;
case 7:
puluhan = seven;
break;
case 8:
puluhan = eight;
break;
case 9:
puluhan = nine;
break;
}
switch(satuan){
case 0:
satuan = zero;
break;
case 1:
satuan = one;
break;
case 2:
satuan = two;
break;
case 3:
satuan = three;
break;
case 4:
satuan = four;
break;
case 5:
satuan = five;
break;
case 6:
satuan = six;
break;
case 7:
satuan = seven;
break;
case 8:
satuan = eight;
break;
case 9:
satuan = nine;
break;
}
digitalWrite(9, LOW); //satuan
digitalWrite(10, HIGH); //puluhan
shiftOut(data, clock, LSBFIRST, puluhan);
delay(10);
digitalWrite(9, HIGH); //satuan
digitalWrite(10, LOW); //puluhan
shiftOut(data, clock, LSBFIRST, satuan);
delay(10);
}
e. VIDEO HASILNYA
No comments:
Post a Comment