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

อ่าน 5 นาที

ไอโอไอโอ

IOIO (อ่านว่า โยโย่ ) เป็นชุด บอร์ด ไมโครคอนโทรลเลอร์ PIC แบบโอเพนซอร์ส ที่อนุญาตให้ แอปพลิเคชันมือถือ Android โต้ตอบกับอุปกรณ์อิเล็กทรอนิกส์ภายนอกได้ [ 2 ] [ 3 ] [ 4 ]...

ไอโอไอโอ

ไอโอไอโอ
บอร์ด IOIO-OTG โดดเด่นด้วยแผงวงจรพิมพ์ (PCB) สีขาวล้วนอันเป็นเอกลักษณ์
ปล่อยแล้วเมษายน 2554 ( เมษายน 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 ของคุณ จึงช่วยรักษาสิทธิ์การรับประกันและทำให้ผู้ใช้งานทั่วไปที่ไม่ใช่แฮกเกอร์สามารถใช้งานฟังก์ชันนี้ได้

— ทีมจัดพิมพ์ "IOIO Android Interface Board Retail", SparkFun [ 8 ] [ 32 ]

ตามคำกล่าวของ Ytai Ben-Tsvi ผู้ประดิษฐ์อุปกรณ์ชิ้นนี้:

โทรศัพท์ Android เป็นคอมพิวเตอร์พกพาที่มีประสิทธิภาพสูง มีการเชื่อมต่ออินเทอร์เน็ตและเซ็นเซอร์ในตัวที่หลากหลาย (กล้อง, GPS, IMU, หน้าจอสัมผัส) นอกจากนี้ยังเขียนแอปพลิเคชันได้ง่ายมากด้วยผลงานที่ยอดเยี่ยมของนักพัฒนา Android SDK สำหรับแอปพลิเคชันจำนวนมาก สิ่งที่ขาดไปจริงๆ ก็คือการเชื่อมต่อกับอุปกรณ์ต่อพ่วงภายนอก นี่คือจุดที่ IOIO เข้ามามีบทบาท: มันช่วยเสริมความสามารถพื้นฐานของอุปกรณ์ Android ด้วยความสามารถในการสื่อสารกับวงจรภายนอก

— Ytai Ben-Tsvi, "พบกับ IOIO - I/O สำหรับ Android" [ 33 ]

รายละเอียดทางเทคนิค

IOIO V1

แผนผังการเชื่อมต่อ/ตำแหน่งขาของ IOIO รุ่นแรก

บอร์ด 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-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" เพื่อบังคับให้ทำงานในโหมดโฮสต์

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=IOIO&oldid=1335973949 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ไอโอไอโอ

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 ]...