- เขียนโค้ดสำหรับบอร์ด Arduino โดยสร้างเป็น C++ Class ดังต่อไปนี้ => Class StringQueue เป็นโครงสร้างข้อมูลแบบ Queue สำหรับเก็บ String objects สร้างคลาส StringQueue และทดสอบการทำงานโดยใช้โค้ดตัวอย่างต่อไปนี้ และทดสอบโดยใช้ฮาร์ดแวร์จริง (ใช้บอร์ด Arduino และแสดงผลผ่าน Serial Monitor ของ Arduino IDE)
- ใช้คลาส StringQueue ในข้อแรก นำมาเขียนโค้ด Arduino เพื่อให้มีพฤติกรรมการทำงานดังนี้ กำหนดให้มีความจุเช่น 10 ข้อความ
- บอร์ด Arduino มีวงจรปุ่มกด Get ทำงานแบบ Active-Low (ใช้ตัวต้านทานแบบ Pull-up, 10k)
- ผู้ใช้สามารถส่งข้อความ (ภาษาอังกฤษ) ทีละบรรทัด (ไม่เกิน 16 ตัวอักขระต่อบรรทัด) จาก คอมพิวเตอร์ โดยส่งผ่าน Serial Monitor ของ Arduino IDE ไปยังบอร์ด Arduino ใช้ baudrate 115200
- ข้อความแต่ละบรรทัดที่ถูกส่งไปยัง Arduino จะถูกจัดเก็บใน StringQueue ถ้าไม่เต็มความจุ แต่ถ้าเต็มความจุ ไม่สามารถเก็บข้อความใหม่ได้ Arduino จะต้องส่งข้อความ "Full" กลับมา และมี LED "Full" ติด
- เมื่อมีการกดปุ่ม Get แล้วปล่อยหนึ่งครั้ง ข้อความแรก (ถ้ามี) ของ StringQueue จะถูกดึงออกมาแล้วส่งผ่าน Serial Monitor ไปยังคอมพิวเตอร์ และนำไปแสดงผลบนจอ 16x2 LCD ที่ต่อกับบอร์ด Arduino ด้วย แต่ถ้าไม่ข้อความใดๆ Arduino จะต้องส่งข้อความ "Empty" กลับมา เมื่อกดปุ่มแล้วปล่อย และให้มี LED "Empty" ติด
- บรรทัดแรกของ LCD แสดงข้อความที่ถูกอ่านออกมาล่าสุดจาก StringQueue บรรทัดที่สอง ให้แสดงจำนวนข้อความที่มีอยู่ใน StackQueue ในขณะนั้น
- การเขียนโค้ดเพื่อใช้งาน LCD สามารถใช้ไลบรารี่ของ Arduino ได้
วันพฤหัสบดีที่ 25 กันยายน พ.ศ. 2557
StringQueue กับบอร์ด Arduino
วันศุกร์ที่ 12 กันยายน พ.ศ. 2557
String Stack กับบอร์ด Arduino
โจทย์ปัญหา ข้อ 1
- เขียนโค้ดสำหรับบอร์ด Arduino โดยสร้างเป็น C++ Class ดังต่อไปนี้
- Class StringStack เป็นโครงสร้างข้อมูลแบบ Stack (กองซ้อน) สำหรับเก็บ String objects (http://arduino.cc/en/Reference/StringObject) และกำหนด API สำหรับคลาสดังกล่าว เป็นดังนี้
วันศุกร์ที่ 29 สิงหาคม พ.ศ. 2557
[Warm-up] การใช้ภาษา C++ เพื่อควบ RGB LED ผ่านบอร์ด Arduino
สำหรับในตอนนี้นั้น เราจะมาเขียนโค้ดภาษา C++ เพื่อใช้งานบอร์ด Arduino ในการควบคุม RGB LED โดยโปรแกรมและวงจรที่เราจะสร้างขึ้นมานั้นมีคุณสมบัติดังนี้
วันเสาร์ที่ 23 สิงหาคม พ.ศ. 2557
บอร์ด Raspberry Pi
ภาพจาก: https://learn.adafruit.com/assets/16384 |
บอร์ด Raspberry Pi เป็นบอร์ดคอมพิวเตอร์ 32 บิต ขนาดเล็กเท่ากับบัตรเครดิต รองรับระบบปฏิบัติการ Linux ที่พัฒนาโดย Raspberry Pi Foundation ที่ช่วงแรกหวังว่าจะใช้เป็นสื่อการเรียนการสอน การเขียนโปรแกรมคอมพิวเตอร์สำหรับเด็กๆ แต่ด้วยเป็นบอร์ดที่มีราคาไม่แพงมาก ใช้งานง่ายเมื่อเทียบกับบอร์ดอื่น เหมาะสำหรับผู้เริ่มต้น ทำให้เป็นที่นิยมแพร่หลายสู่บุคคลทั่วไปอย่างรวดเร็ว
วันศุกร์ที่ 22 สิงหาคม พ.ศ. 2557
บอร์ด Arduino Yún
|
|
"Arduino Yún" เป็นบอร์ด microcontroller ซึ่งเกิดจากการรวมกันของ ATmega32u4 (datasheet) และ Atheros AR9331 โดยที่ ATmega32u4 จะมีหน้าที่เกี่ยวข้องกับการใช้งานทรัพยากรของ Arduino และ Atheros AR9331 มีหน้าที่เกี่ยวข้องกับการใช้งานทรัพยากรของ Linux ทำให้สามารถใช้งาน Wifi, Ethernet, USB Port และ SD card ซึ่งจะมี Bridge library ช่วยอำนวยความสะดวกในการติดต่อสื่อสารกันระหว่างทั้งสอง processor
วันพฤหัสบดีที่ 21 สิงหาคม พ.ศ. 2557
เปรียบเทียบข้อมูลเชิงเทคนิคระหว่าง Arduino Yún กับ Raspberry Pi
ในตอนนี้เราจะทำการเปรียบเทียบคุณสมบัติต่างๆ ระหว่าง บอร์ด Aduino Yún กับ บอร์ด Raspberry Pi
แหล่งอ้างอิง: http://arduino.cc/en/Main/ArduinoBoardYun http://en.wikipedia.org/wiki/Raspberry_Pi
http://elinux.org/RPi_Hardware
https://learn.adafruit.com/embedded-linux-board-comparison/overview
Aduino Yún | Raspberry Pi | |
รูปภาพ | ||
SoC | Atheros AR9331 | Broadcom BCM2835 |
CPU | MIPS32 24K และ ATmega32U4 | ARM1176 |
Architecture สถาปัตยกรรม | MIPS และ AVR | ARMv6 |
ความเร็ว CPU | 400MHz (AR9331) และ 16MHz (ATmega) | 700MHz |
Memory หน่วยความจำ | 64MB (AR9331) และ 2.5KB (ATmega) | 256MB (model A) และ 512MB (model B) |
FPU | None (Software) | Hardware |
GPU | None | Broadcom VideoCore IV |
Internal Storage หน่วยความจำภายใน | 16MB (AR9331) และ 32KB (ATmega) | None |
External Storage หน่วยความจำภายนอก | MicroSD (AR9331) | SD card |
Networking | 10/100Mbit ethernet และ 802.11b/g/n WiFi | None (model A) และ 10/100Mbit ethernet (model B) |
Power Source | 5V from USB micro B connector, หรือ header pin | 5V from USB micro B connector, หรือ header pin |
Dimensions ขนาด | 2.7in x 2.1in (68.6mm x 53.3mm) | 3.4in x 2.2in (85.6mm x 56mm) |
Weight น้ำหนัก | 1.4oz (41g) | 1.6oz (45g) |
Approximate Price ราคาโดยประมาณ | $75 หรือประมาณ 2,396.30 บาท | $25 (model A) 798.77 บาท, $35 (model B) 1,118.27 บาท |
Digital I/O Pins | 20 | 17 |
Digital I/O Power | 5V | 3.3V |
Analog Input | 12 with 10-bit ADC, 0-5V (supports external reference) | None |
PWM Output | 7 | 1 |
UART | 2 (1 wired to AR9331) | 1 |
SPI | 1 | 2 |
I2C | 1 | 1 |
USB Host | 1 standard A connector (AR9331) | 1 (Model A) และ 2 (Model B) standard A connector |
USB Client | 1 micro B connector (ATmega) | None |
Video Output | None | HDMI, Composite RCA, DSI |
Video Input | None | CSI (camera) |
Audio Output | None | HDMI, 3.5mm jack |
Power Output | 3.3V up to 50mA, 5V | 3.3V up to 50mA, 5V up to 300-500mA |
แหล่งอ้างอิง: http://arduino.cc/en/Main/ArduinoBoardYun http://en.wikipedia.org/wiki/Raspberry_Pi
http://elinux.org/RPi_Hardware
https://learn.adafruit.com/embedded-linux-board-comparison/overview
สมัครสมาชิก:
บทความ (Atom)