เรียบเรียงเนื้อหาโดย ครูมานะ อินทรสว่าง
1.1 บอร์ดสมองกลฝังตัว Arduino
บอร์ดสมองกลฝังตัว Arduino พัฒนาขึ้นจากจากผลงานวิทยานิพนธ์เรื่อง Wiring : Prototyping Physical Interaction Design ของ Hernando Barragan ขณะทำการศึกษาที่ Interaction Design Institute Ivrea ประเทศอิตาลี โดยมี Casey Reas และ Massimo Banzi เป็นอาจารย์ที่ปรึกษาวิทยานิพนธ์ ในการสร้างบอร์ดสมองกลฝังตัว Wiring ได้ใช้ไมโครคอนโทรลเลอร์ AVR เบอร์ ATmega 128 ซึ่งมีขาการใช้งานจำนวน 64 ขา ตัวถังแบบ Surface Mount Device (SMD) และใช้ Wiring IDE เขียนโปรแกรมภาษาซีสั่งการให้บอร์ด Wiring ทำงานตามที่ต้องการ โครงการพัฒนาบอร์ด Wiring เป็นการพัฒนาที่มีการเปิดเผยรายละเอียดส่วนประกอบต่างๆ (Open Source) ดังแสดงในรูปบอร์ด Wiring ไม่ค่อยได้รับความนิยม เนื่องจากมีขนาดใหญ่และบอร์ดสำเร็จรูปที่มีขายอยู่ทั่วไปมีราคาค่อนข้างแพง
สืบค้นเกี่ยวกับประวัติ Arduino ได้ที่ https://arduinohistory.github.io/
บอร์ดสมองกลฝังตัว Wiring
โปรแกรม Wiring IDE
คำว่า Arduino เป็นภาษาอิตาลีอ่านว่า อาดุยโน่ ซึ่งเป็นชื่อสถานที่จำหน่ายเครื่องดื่ม di Re Arduino ในเมือง Ivrea ซึ่งตั้งอยู่ทางทิศเหนือของประเทศอิตาลี ในการพัฒนาบอร์ด Arduino ได้การนำโครงสร้างของบอร์ด Wiring และรหัสต้นฉบับ (Source Code) ของ Wiring IDE มาปรับปรุงใหม่ให้สามารถใช้งานกับไมโครคอนโทรลเลอร์ AVR ATmega328 ซึ่งมีขาใช้งาน 28 ขา มีตัวถังแบบ Dual In-line Package (DIP) ซึ่งมีขนาดเล็กกว่า โดยเริ่มพัฒนาในปี พ.ศ. 2548 ซึ่งมีทีมงานในการพัฒนา 5 คน ประกอบด้วย Massimo Banzi,Gianluca Martino ชาวอิตาเลี่ยน Tom Igoe, David Mellis ชาวอเมริกัน และ David Cuartielles ชาวสเปน ซึ่งในการพัฒนาบอร์ด Arduino และ Arduino IDE ก็เป็นการพัฒนาในรูปแบบ Open Source
บอร์ดสมองกลฝังตัว Arduino UNO
แผนผังของ Arduino UNO
L to R: David Mellis, David Cuartielles, GIanluca Martino, Massimo Banzi, Tom Igoe
บอร์ดสมองกลฝังตัว Arduino ช่วยลดความยุ่งยากในการทำงานกับไมโครคอนโทรลเลอร์ จึงเหมาะที่จะนำไปใช้ศึกษาเพื่อการเชื่อมต่อและควบคุมอุปกรณ์ภายนอกต่างๆ เช่น การรับค่าจากอุปกรณ์ตรวจจับ (Sensor) การส่งค่าออกไปควบคุมการหมุนของมอเตอร์ เป็นต้น บอร์ด Arduino รุ่น UNO จะมีส่วนประกอบที่สำคัญดังนี้
1) ขารับและส่งสัญญาณระบบดิจิทัล (Digital I/O pin) จะมีด้วยกันทั้งหมด 14 ขา โดยที่จะสามารถเชื่อมต่อได้ที่ขา D0 – D13 โดยที่ขา D0 และ D1 ถูกสงวนไว้ใช้เป็นขาสำหรับติดต่อทางพอร์ตอนุกรม เป็นขา Rx และ Tx เพื่อการอัพโหลดโปรแกรม ส่วนขา D2-D13 จะสามารถรับสัญญาณดิจิตอลจากตัวตรวจจับหรือส่งสัญญาณดิจิตอลออกไปเพื่อควบคุมหรือกระตุ้นการทำงานของอุปกรณ์ภายนอก เช่น หลอดไฟ มอเตอร์ เป็นต้น โดยที่ในการเขียนโปรแกรมเพื่อสั่งงานขารับและส่งสัญญาณระบบดิจิทัล สามารถกำหนดให้รับค่าสัญญาณ(Input) หรือส่งออกค่าสัญญาณ(Output) ได้เพียง HIGH หรือ LOW เท่านั้น
2) ขารับสัญญาณระบบอนาลอก (Analog In pin) จะมีด้วยกันทั้งหมด 6 ขา โดยที่จะสามารถรับสัญญาณอนาลอกได้ที่ขา A0 – A5 โดยที่ขารับสัญญาณระบบอนาลอกจะสามารถวัดแรงดันไฟฟ้าจากตัวตรวจจับที่มีค่าแรงดันไฟฟ้าแตกต่างกัน ตั้งแต่ 0 – 1023 เมื่อเทียบกับแรงดันไฟฟ้าอ้างอิง
3) ขาส่งสัญญาณระบบอนาลอก (Analog Out pin) จะมีด้วยกันทั้งหมด 6 ขา ซึ่งจะมีสัญลักษณ์ ~ อยู่ที่ขาสัญญาณที่สามารถส่งสัญญาณแบบอนาลอกได้ ซึ่งประกอบด้วย D3, D5, D6, D9, D10 และ D11 โดยที่จะมีการส่งสัญญาณออกไปในรูปแบบ Pulse Width Modulation (PWM)
4) แหล่งจ่ายพลังงานไฟฟ้า (Power) จะประกอบด้วยแหล่งจ่ายแรงดันไฟฟ้า 5 โวลต์ และ 3.3 โวลต์ จุดอ้างอิงในการวัดแรงดันไฟฟ้าของบอร์ด (GND) จุดป้อนแรงดันไฟฟ้าเขาสู่บอร์ด (Vin)
5) ช่องเชื่อมต่อพอร์ต USB ซึ่งจะใช้ในการเชื่อมต่อกับคอมพิวเตอร์เพื่ออัพโหลดโปรแกรมเข้าสู่บอร์ด
6) ช่องเชื่อมต่อกับแหล่งจ่ายไฟ (Power jack) จะใช้ในกรณีที่เราใช้งานบอร์ด Arduino เพียงลำพัง โดยไม่ได้เชื่อมต่อกับคอมพิวเตอร์ ซึ่งจะรองรับไฟฟ้ากระแสตรงได้ในช่วง 7 – 12 โวลต์
ขารับสัญญาณระบบอนาลอก
ขาส่งสัญญาณระบบอนาลอก (Analog Out pin) จะมีสัญลักษณ์ ~