ความรู้พื้นฐานทางด้านอิเล็กทรอนิกส์ การเขียนโปรแกรม Arduino และ หุ่นยนต์เบื้องต้น ที่เคยลงไว้แล้ว
นำมาปรับปรุง ในเนื้อหาที่เพิ่มขึ้น
สามารถติดตามได้ในส่วนนี้ ครับ


กลับหน้าหลัก บทความ

ตอนที่ 75 เขียน code เลขฐาน16 ตอนที่ 3


บทความและพื้นฐาน ที่เกี่ยวข้องที่จะทำโครรงานก่อนหน้านี้

ตอนที่ 73การเขียนแบบ
ฐาน 16 ตอน 1

ตอนที่ 74 การแบบเลขฐาน16 ตอนที่ 2 รับค่า Input จาก สวิตช์

 

การใช้งาน port B (ขา 9 -13)



ขา Digital 8 - 13 นั้น จะเป็นขาของ port B ซึ่งก็สามารใช้งานได้เหมือนกัน


void setup()
{
DDRB=0xFF; // 0ฺฺB11111111
}

void loop()
{
PORTB = 0x00;
delay(1000);
PORTB = 0xFF;
delay(1000);
}


ไฟกระพริบโดยใช้ port b คือขา 9 - 13

 

การใช้งาน port B และ port D พร้อมกัน

การต่อวงจรทั้ง

การทำงาย LED

void setup()
{
DDRB=0xFF; // 0B11111111
DDRD=0xFF; // 0B11111111
}

void loop()
{

PORTD = 0x00;//ลำดับที่ 1
PORTB = 0x00;
delay(1000);


PORTD = 0x04; //ลำดับที่ 2
PORTB = 0x00;
delay(1000);


PORTD = 0x14; // ลำดับที่ 3
PORTB = 0x00;
delay(1000);


PORTD = 0x34; // ลำดับที่ 4
PORTB = 0x00;
delay(1000);


PORTD = 0x34; // ลำดับที่ 5
PORTB = 0x02;
delay(1000);

PORTD = 0x34;// ลำดับทืี่ 6
PORTB = 0x0A;
delay(1000);

PORTD = 0x34;// ลำดับที่ 7
PORTB = 0x1A;
delay(1000);
}

การใช้งาน port B เป็น input และ port D เป็น output


ให้ portb เป็น Input รับค่าจากสวิตช์ และ portd เป็น Output แสดงผลที่ LED

int buttonPin = 10;
int sw ;
void setup()
{
DDRB=0x00; // 0B0000000 INPUT
DDRD=0xFF; // 0B11111111 OUTPUT
}

void loop()
{
sw = digitalRead(buttonPin);
if (sw==1) //กด
{
PORTD = 0x20;//0
delay(10);
}
else // ไม่กด
{
PORTD = 0x00;
delay(10);
}
}

สำหรับการเขียนแบบเลขฐาน16นั้น อาจะมองดูุว่ายุ่งยากมาก แต่ใน
การเขียนโปรแกรมไมโครคอลโทรลอเลอร์ในสมัย ที่ PIC หรือ MCS-51
กำลังเป็นที่นิยม เขาก็เขียนกันแบบนี้หละครับแต่มา
สมัย Arduino เป็นที่นิยม การเขียนโปรแกรมก้จะดูง่ายขึ้น
ซึ่งการเขียนแบบ ฐาน16 ก็ถือเป็นอีกทางเลือกหนึ่งเท่านั้น ซึ่งอาจจะเหมาะสม
กับบาง โครงงาน ครับ

ติดตามตอนต่อไปครับ เขียนเมื่อ 15 กพ 66