อ่าน 5 นาที
ไอโอไอโอ
IOIO (อ่านว่า โยโย่ ) เป็นชุด บอร์ด ไมโครคอนโทรลเลอร์ PIC แบบโอเพนซอร์ส ที่อนุญาตให้ แอปพลิเคชันมือถือ Android โต้ตอบกับอุปกรณ์อิเล็กทรอนิกส์ภายนอกได้ [ 2 ] [ 3 ] [ 4 ]...
ไอโอไอโอ
บอร์ด IOIO-OTG โดดเด่นด้วยแผงวงจรพิมพ์ (PCB) สีขาวล้วนอันเป็นเอกลักษณ์ | |
| ปล่อยแล้ว | เมษายน 2554 |
|---|---|
ราคาโปรโมชั่นแนะนำ | 39.95 ดอลลาร์ (IOIO-OTG) [ 1 ] |
| ซีพียู | ไมโครชิปPIC24FJ256 [ 1 ] |
| การเชื่อมต่อ | โฮสต์ : USB / USB-OTG , บลูทูธอินพุต/เอาต์พุต : GPIO , PWM , I2C , SPI , UART , การจับสัญญาณอินพุต, การตรวจจับแบบคาปาซิทีฟ |
| เว็บไซต์ | github.com/ytai/ioio/ |
IOIO (อ่านว่าโยโย่ ) เป็นชุด บอร์ด ไมโครคอนโทรลเลอร์ PIC แบบโอเพนซอร์ส ที่อนุญาตให้แอปพลิเคชันมือถือAndroidโต้ตอบกับอุปกรณ์อิเล็กทรอนิกส์ภายนอกได้[ 2 ] [ 3 ] [ 4 ]อุปกรณ์นี้คิดค้นโดย Ytai Ben-Tsvi ในปี 2011 และผลิตครั้งแรกโดยSparkFun Electronics [ 2 ] [ 5 ] [ 6 ] [ 7 ] ชื่อ "IOIO" ได้รับแรงบันดาลใจจากฟังก์ชันของอุปกรณ์ ซึ่งช่วยให้แอปพลิเคชันสามารถรับอินพุตภายนอก ("I") และสร้างเอาต์พุตภายนอก ("O") ได้[ 4 ]
คุณสมบัติ
บอร์ด IOIO ประกอบด้วยไมโครคอนโทรลเลอร์ PIC ตัวเดียว ที่ทำหน้าที่เป็นโฮสต์ USB / สเลฟ USBและสื่อสารกับแอป Androidที่ทำงานบนอุปกรณ์ Android ที่เชื่อมต่ออยู่[ 8 ]บอร์ดนี้รองรับการเชื่อมต่อผ่านUSB , USB-OTGหรือBluetoothและสามารถควบคุมได้จากภายในแอปพลิเคชัน Android โดยใช้ Java API [ 1 ] [ 4 ] [ 9 ] [ 10 ] [ 11 ]
นอกจากอินพุต/เอาต์พุตดิจิทัล พื้นฐาน และอินพุตอะนาล็อกแล้ว ไลบรารี IOIO ยังรองรับPWM , I2C , SPI , UART , การจับอินพุต, การตรวจจับแบบคาปาซิทีฟและการควบคุมมอเตอร์ขั้นสูง[ 3 ]เพื่อเชื่อมต่อกับอุปกรณ์ Android รุ่นเก่าที่ใช้USB 2.0ในโหมดสเลฟ รุ่น IOIO ใหม่กว่าจะใช้USB On-The-Goเพื่อทำหน้าที่เป็นโฮสต์สำหรับอุปกรณ์ดังกล่าว[ 1 ]บางรุ่นยังรองรับ โปรโตคอล Google Open Accessory USB อีกด้วย [ 4 ]
API ควบคุมมอเตอร์ IOIO สามารถขับเคลื่อนมอเตอร์ได้สูงสุด 9 ตัว และแอคทูเอเตอร์แบบไบนารีจำนวนเท่าใดก็ได้ให้ทำงานประสานกันและมีความแม่นยำระดับรอบ[ 12 ] [ 13 ]นักพัฒนาสามารถส่งลำดับคำสั่งระดับสูงไปยัง IOIO ซึ่งจะทำการสร้างรูปคลื่นระดับต่ำบนชิป[ 12 ] [ 13 ]เฟิร์มแวร์ IOIO รองรับมอเตอร์ 3 ชนิดที่แตกต่างกัน ได้แก่มอเตอร์สเต็ปเปอร์มอเตอร์DCและมอเตอร์เซอร์โว[ 12 ] [ 13 ]
ผู้ใช้สามารถอัปเดตเฟิร์มแวร์ของอุปกรณ์ได้ในสถานที่[ 3 ]สำหรับอุปกรณ์รุ่นแรก การอัปเดตจะดำเนินการโดยใช้อุปกรณ์ Android และ แอปพลิเคชัน IOIO Managerที่มีให้บริการบนGoogle Play [ 3 ] [ 14 ] อุปกรณ์ IOIO-OTG รุ่นที่สองจะต้องได้รับการอัปเดตโดยใช้คอมพิวเตอร์เดสก์ท็อปที่ใช้งานแอปพลิ เคชัน IOIODude [ 15 ]
IOIO รองรับทั้งคอมพิวเตอร์และอุปกรณ์ Android เป็นโฮสต์หลัก และมี API ที่แน่นอนบนอุปกรณ์ทั้งสองประเภท[ 3 ]อุปกรณ์รุ่นแรกสามารถสื่อสารกับพีซีผ่าน Bluetooth เท่านั้น ในขณะที่อุปกรณ์ IOIO-OTG สามารถใช้ได้ทั้ง Bluetooth หรือ USB [ 3 ]แอปพลิเคชันพีซีอาจใช้ API สำหรับJavaหรือC#เพื่อสื่อสารกับบอร์ด โดย Java เป็น API อย่างเป็นทางการ[ 11 ] [ 16 ]
แอปพลิเคชัน
ฮาร์ดแวร์และซอฟต์แวร์ IOIO เป็นโอเพนซอร์สทั้งหมด[ 17 ]และช่วยให้สามารถสร้างโครงการหุ่นยนต์ DIY หลายร้อยโครงการทั่วโลกได้[ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ]
บอร์ดนี้ได้รับการนำเสนอในชุดการเรียนรู้ต่างๆ ซึ่งมีจุดมุ่งหมายเพื่อช่วยให้นักเรียนเขียนแอปพลิเคชัน Android ที่สามารถโต้ตอบกับโลกภายนอกได้[ 3 ] [ 23 ] [ 24 ] [ 25 ]
Qualcomm Snapdragon Micro Rover เป็น หุ่นยนต์ ที่พิมพ์ด้วยเครื่องพิมพ์ 3 มิติซึ่งใช้สมาร์ทโฟนAndroid และ IOIO ในการควบคุมมอเตอร์และเซ็นเซอร์ของหุ่นยนต์[ 26 ] [ 27 ]ทีมที่นำโดย ดร. Guy Hoffman นักประดิษฐ์ชาวอิสราเอล ได้สร้างหุ่นยนต์ที่ไวต่ออารมณ์ ซึ่งอาศัย IOIO ในการควบคุมฮาร์ดแวร์ของหุ่นยนต์[ 28 ]
รีวิว
IOIO ได้รับการอธิบายในหลายแง่มุมว่าเป็น "สวรรค์ของเหล่าผู้เชี่ยวชาญด้านเทคโนโลยี" "วิธีง่ายๆ ในการรับ I/O จากการเชื่อมต่อ USB ของอุปกรณ์ Android" และ "บอร์ดแยก I/O USB สำหรับสมาร์ทโฟน Android ที่เปลี่ยนโทรศัพท์ของคุณให้กลายเป็น Arduino ระดับสูง" [ 18 ] [ 29 ] [ 30 ] [ 31 ]นอกจากนี้ยังได้รับการแนะนำว่าเป็น "ของขวัญสำหรับผู้เชี่ยวชาญด้านเทคโนโลยี" ในบทความScientific Computing อีกด้วย [ 25 ]
จากข้อมูลของ SlashGear นิตยสารอิเล็กทรอนิกส์ออนไลน์:
คุณสามารถเชื่อมต่อ IOIO สำหรับ Android และเซ็นเซอร์วัดความร้อนสองสามตัว แล้วสร้างแอปที่วัดอุณหภูมิห้องและส่งอีเมลแจ้งเตือนคุณหากอุณหภูมิสูงเกินไป ด้วยตัวเลือกอินพุต/เอาต์พุตที่หลากหลาย – รวมถึงอินพุต/เอาต์พุตดิจิทัล, PWM, อินพุตแบบอนาล็อก, I2C, SPI และการควบคุม UART – คุณยังสามารถเชื่อมต่อเทอร์โมสตัทในบ้านของคุณเพื่อปรับความร้อนโดยอัตโนมัติได้อีกด้วย
— คริส เดวีส์, "IOIO สำหรับ Android ได้รับการสาธิตวิดีโอ: สวรรค์ของเหล่าคนไอที!", SlashGear [ 18 ] [ 32 ]
ตามข้อมูลจากSparkFunซึ่งเป็นผู้ผลิตอุปกรณ์รายแรก:
คุณสามารถผสานรวมพลังการประมวลผลอันน่าทึ่ง การเชื่อมต่ออินเทอร์เน็ต/บลูทูธ หน้าจอสัมผัส และเซ็นเซอร์หลากหลายชนิดจากอุปกรณ์ Android ของคุณเข้ากับความสามารถในการเพิ่มอุปกรณ์ต่อพ่วงเพื่อโต้ตอบกับโลกภายนอกได้อย่างง่ายดาย นอกจากนี้ การใช้ IOIO ไม่จำเป็นต้องแก้ไขฮาร์ดแวร์หรือซอฟต์แวร์ใดๆ ในอุปกรณ์ Android ของคุณ จึงช่วยรักษาสิทธิ์การรับประกันและทำให้ผู้ใช้งานทั่วไปที่ไม่ใช่แฮกเกอร์สามารถใช้งานฟังก์ชันนี้ได้
ตามคำกล่าวของ Ytai Ben-Tsvi ผู้ประดิษฐ์อุปกรณ์ชิ้นนี้:
โทรศัพท์ Android เป็นคอมพิวเตอร์พกพาที่มีประสิทธิภาพสูง มีการเชื่อมต่ออินเทอร์เน็ตและเซ็นเซอร์ในตัวที่หลากหลาย (กล้อง, GPS, IMU, หน้าจอสัมผัส) นอกจากนี้ยังเขียนแอปพลิเคชันได้ง่ายมากด้วยผลงานที่ยอดเยี่ยมของนักพัฒนา Android SDK สำหรับแอปพลิเคชันจำนวนมาก สิ่งที่ขาดไปจริงๆ ก็คือการเชื่อมต่อกับอุปกรณ์ต่อพ่วงภายนอก นี่คือจุดที่ IOIO เข้ามามีบทบาท: มันช่วยเสริมความสามารถพื้นฐานของอุปกรณ์ Android ด้วยความสามารถในการสื่อสารกับวงจรภายนอก
— Ytai Ben-Tsvi, "พบกับ IOIO - I/O สำหรับ Android" [ 33 ]
รายละเอียดทางเทคนิค
IOIO V1

บอร์ด IOIO รุ่นแรก (ที่รู้จักกันในชื่อIOIO V1 ) มีคุณสมบัติบนบอร์ดดังต่อไปนี้: [ 34 ] [ 35 ]รุ่นนี้รองรับเฉพาะโหมด USB slave และต้องใช้ USB master เป็นโฮสต์ (พีซีหรือโทรศัพท์ Android รุ่นใหม่กว่า) [ 2 ] [ 7 ]
IOIO V1 เป็น อุปกรณ์ ระดับลอจิก 3.3 V และมีตัวควบคุมการสลับ DC/DC 5 V และตัวควบคุมเชิงเส้น 3.3 V [ 36 ]ตัวควบคุม 5 V รองรับช่วงอินพุต 5–15 V และโหลดสูงสุด 1.5 A [ 7 ]ซึ่งช่วยให้สามารถชาร์จอุปกรณ์ Android ที่เชื่อมต่ออยู่ได้ เช่นเดียวกับการขับเคลื่อนมอเตอร์ขนาดเล็กหลายตัวหรือโหลดที่คล้ายกัน
| คุณสมบัติ | รายละเอียด | คำอธิบาย |
|---|---|---|
| ขั้วต่อ USB | ประเภท A เพศหญิง | ใช้สำหรับเชื่อมต่อกับอุปกรณ์ Android |
| ขา GND | 9 พิน | การต่อสายดิน |
| หมุด VIN | 3 พิน | ใช้สำหรับจ่ายไฟให้กับแผงวงจร ควรจ่ายแรงดันไฟฟ้าระหว่าง 5 ถึง 15 โวลต์ |
| 5 พิน V | 3 พิน | โดยปกติจะใช้เป็นเอาต์พุต 5 โวลต์สำหรับอุปกรณ์อิเล็กทรอนิกส์ของผู้ใช้ เมื่อบอร์ดได้รับพลังงานจาก VIN สามารถใช้เป็นอินพุต 5 โวลต์ได้ในกรณีที่ไม่ได้เชื่อมต่อ VIN |
| 3.3 V พิน | 3 พิน | จ่ายไฟ 3.3 โวลต์ไปยังอุปกรณ์อิเล็กทรอนิกส์ของผู้ใช้งาน |
| พิน I/O | 48 พิน | ขา I/O อเนกประสงค์ บางขามีฟังก์ชันพิเศษ เช่น ADC, การจับสัญญาณอินพุต, UART, PWM, ตัวเปรียบเทียบ หรือสำหรับการเขียนโปรแกรม PIC MCU ( ICSP ) |
| ไฟ LED แสดงสถานะการทำงาน | ไฟจะสว่างขึ้นเมื่อ IOIO ได้รับพลังงาน | |
| ไฟ LED สแตท | ไฟจะสว่างขึ้นชั่วครู่ระหว่างการเปิดเครื่อง จากนั้นจะอยู่ภายใต้การควบคุมของแอปพลิเคชัน | |
| พิน MCLR | โดยปกติไม่ได้ใช้งาน วัตถุประสงค์คือเพื่อตั้งโปรแกรมเฟิร์มแวร์บูตโหลดเดอร์ใหม่บนบอร์ด IOIO | |
| ตัวปรับกระแสไฟชาร์จ (CHG) | ปรับปริมาณกระแสไฟชาร์จที่จ่ายผ่านสาย VBUS ของ USB ไปยังอุปกรณ์ Android การหมุนไปทาง (+) จะเพิ่มกระแสไฟชาร์จ |
IOIO OTG

บอร์ด IOIO รุ่นที่สอง (เรียกว่าIOIO-OTG ) มีคุณสมบัติในตัวดังต่อไปนี้: [ 37 ] [ 38 ] [ 39 ]ดังที่ชื่อบ่งบอก คุณสมบัติหลักของรุ่นนี้คือการแนะนำUSB-OTGซึ่งรองรับโหมด USB master หรือ slave นอกจากนี้ ยังช่วยให้ IOIO สามารถเชื่อมต่อกับโทรศัพท์ Android รุ่นเก่าที่รองรับเฉพาะโหมด USB slave ได้อีกด้วย[ 1 ] [ 9 ]
IOIO-OTG เป็น อุปกรณ์ ระดับลอจิก 3.3 V โดยมีขาบางส่วนที่ทนต่อแรงดัน 5 V ประกอบด้วยตัวควบคุมการสลับ DC/DC 5 V และตัวควบคุมเชิงเส้น 3.3 V ตัวควบคุม 5 V รองรับช่วงอินพุต 5–15 V และโหลดสูงสุด 3 A [ 1 ]ซึ่งช่วยให้สามารถชาร์จ อุปกรณ์ Android ที่เชื่อมต่ออยู่ได้ เช่นเดียวกับการขับเคลื่อนมอเตอร์ขนาดเล็กหลายตัวหรือโหลดที่คล้ายกัน
| คุณสมบัติ | รายละเอียด | คำอธิบาย |
|---|---|---|
| ขั้วต่อ USB | ไมโคร-เอบี เพศหญิง | ใช้สำหรับเชื่อมต่อกับคอมพิวเตอร์หลัก อุปกรณ์ Android หรือดองเกิลบลูทูธ |
| แจ็คไฟ | ขั้วต่อ JST 2 ขา ตัวเมีย | ใช้สำหรับจ่ายไฟให้กับแผงวงจร ควรจ่ายแรงดันไฟฟ้าระหว่าง 5–15 โวลต์ |
| ขา GND | 10 พิน | การต่อสายดิน |
| หมุด VIN | 3 พิน | ใช้สำหรับจ่ายแรงดันไฟฟ้าไปยังวงจรของคุณ หรือใช้เป็นอินพุตทางเลือกแทนแจ็คจ่ายไฟ |
| ขา 5V | 3 พิน | เอาต์พุต 5V จากตัวควบคุมแรงดันไฟฟ้าในตัว ซึ่งสามารถนำไปใช้ในวงจรของคุณได้ |
| 3.3 V พิน | 3 พิน | แรงดัน 3.3 V จากตัวควบคุมแรงดันไฟบนบอร์ด ซึ่งสามารถนำไปใช้ในวงจรของคุณได้ |
| พิน I/O | 46 พิน | ขา I/O อเนกประสงค์ บางขามีฟังก์ชันพิเศษ เช่น ADC, การจับสัญญาณอินพุต, UART, PWM, ตัวเปรียบเทียบ หรือสำหรับการเขียนโปรแกรม PIC MCU ( ICSP ) |
| ไฟ LED | สีแดง | ไฟจะสว่างขึ้นเมื่อ IOIO ได้รับพลังงาน |
| ไฟ LED แสดงสถานะ | สีเหลือง | ไฟ LED อเนกประสงค์แบบติดตั้งบนบอร์ด ควบคุมการทำงานได้ตามต้องการ |
| พิน MCLR | โดยปกติไม่ได้ใช้งาน วัตถุประสงค์คือเพื่อตั้งโปรแกรมเฟิร์มแวร์บูตโหลดเดอร์ใหม่บนบอร์ด IOIO | |
| พินบูต | ขาพินพิเศษที่ใช้สำหรับนำ IOIO เข้าสู่โหมดบูตโหลดเดอร์เมื่อเปิดเครื่อง โปรดทราบว่าขาพินนี้ใช้ร่วมกับไฟ LED แสดงสถานะ | |
| ตัวปรับกระแสไฟชาร์จ (CHG) | ปรับปริมาณกระแสไฟที่จ่ายผ่านสาย VBUS ของ USB เมื่อทำหน้าที่เป็นโฮสต์ USB โดยทั่วไปจะใช้ในแอปพลิเคชันที่ใช้แบตเตอรี่บนระบบ Android เพื่อป้องกันไม่ให้ Android ใช้พลังงานแบตเตอรี่หมดเร็ว การหมุนไปทางทิศ (+) จะเพิ่มกระแสไฟชาร์จ | |
| สวิตช์โฮสต์ | ในโหมด "A" IOIO-OTG จะตรวจจับโดยอัตโนมัติว่าควรทำหน้าที่เป็นโฮสต์หรืออุปกรณ์ตามชนิดของขั้วต่อ USB ที่เสียบอยู่ (micro-A หรือ micro-B) หากต้องการรองรับสาย USB หรืออะแดปเตอร์ที่ไม่เป็นไปตามมาตรฐานซึ่งใช้ขั้วต่อ micro-B ให้เลื่อนสวิตช์ไปที่ตำแหน่ง "H" เพื่อบังคับให้ทำงานในโหมดโฮสต์ |
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ไอโอไอโอ
IOIO (อ่านว่า โยโย่ ) เป็นชุด บอร์ด ไมโครคอนโทรลเลอร์ PIC แบบโอเพนซอร์ส ที่อนุญาตให้ แอปพลิเคชันมือถือ Android โต้ตอบกับอุปกรณ์อิเล็กทรอนิกส์ภายนอกได้ [ 2 ] [ 3 ] [ 4 ]...
คุณสมบัติ
บอร์ด IOIO ประกอบด้วย ไมโครคอนโทรลเลอร์ PIC ตัวเดียว ที่ทำหน้าที่เป็น โฮสต์ USB / สเลฟ USB และสื่อสารกับ แอป Android ที่ทำงานบนอุปกรณ์ Android ที่เชื่อมต่ออยู่ [ 8 ] บอร์ดนี้รองรับการเชื่อมต่อผ่าน USB , USB-OTG หรือ Bluetooth...
แอปพลิเคชัน
ฮาร์ดแวร์และซอฟต์แวร์ IOIO เป็นโอเพนซอร์สทั้งหมด [ 17 ] และช่วยให้สามารถสร้างโครงการหุ่นยนต์ DIY หลายร้อยโครงการทั่วโลกได้ [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ]
รีวิว
IOIO ได้รับการอธิบายในหลายแง่มุมว่าเป็น "สวรรค์ของเหล่าผู้เชี่ยวชาญด้านเทคโนโลยี" "วิธีง่ายๆ ในการรับ I/O จากการเชื่อมต่อ USB ของอุปกรณ์ Android" และ "บอร์ดแยก I/O USB สำหรับสมาร์ทโฟน Android ที่เปลี่ยนโทรศัพท์ของคุณให้กลายเป็น Arduino ระดับสูง" [ 18 ] [ 29 ]...