วิธีที่ง่ายและถูกที่สุดในการเชื่อมต่อกับ USB คืออะไร?


17

หากฉันต้องการสร้างอุปกรณ์อย่างง่ายที่สื่อสารกับคอมพิวเตอร์ของฉันได้ว่าสวิตช์ที่สามารถปิดเสียงคอมพิวเตอร์เมื่อเปิดและปิดและเสียบเข้ากับ USB สิ่งที่จะเป็นวิธีที่ประหยัดที่สุดและง่ายที่สุดในการทำสิ่งนี้


4
ดูที่ขอบเขตชิป usb เดี่ยวของฉันที่นี่มันเป็นเรื่องยากที่จะทำกับส่วนที่น้อยกว่า 1 ATTiny45 และสองซีเนอร์ 2

โครงการเจ๋งมาก!
รหัสจิตรกร

คำตอบ:


10

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

รหัสตัวอย่าง

Python: เรียกใช้สคริปต์นี้เป็นบริการ ฉันใช้ Ubuntu ดังนั้นสคริปต์นี้จะปรากฏขึ้นเพื่อแจ้งให้คุณทราบเมื่อมีการกดปุ่มบน Arduino

#! /usr/bin/python

import serial
import pynotify

ser = serial.Serial('/dev/ttyUSB0', 9600)
while True:
  x = ser.read()
  if x == 'b':
    # Show notification
    n = pynotify.Notification("Arduino", "The button was pressed.")
    n.show()

Arduino:

void setup(){
  // Assuming button is active low and on pin 4
  pinMode(4, INPUT);
  Serial.begin(9600);
}

void loop(){
  if(digitalRead(4) == LOW){
    Serial.print('b');
  }
}

 


คุณสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับการใช้ pyserial เพื่อเชื่อมต่อกับ Arduino ได้หรือไม่? ตัวอย่างรหัสหรือลิงค์ชื่นชม
LeanerRocky

1
แน่นอนค่ะ ลองดูตัวอย่าง
Nick Pascucci

ฉันขอขอบคุณตัวอย่าง คุณเป็นตำนาน !!
LeanerRocky

จะไม่ถูกที่สุดแม้ว่า
quick_now

นั่นไม่ใช่ "อินเตอร์เฟสกับ usb" แต่เป็นอนุกรม ftdi เท่านั้น
nonchip

8

สร้างอุปกรณ์คลาส Human Interface Device USB นั่นคือคลาสเดียวกันที่ใช้โดยคีย์บอร์ด, เม้าส์, จอยสติ๊ก, แผ่นเกมและสิ่งที่คล้ายกัน พีซีของคุณรองรับไดรเวอร์อุปกรณ์อย่างครบถ้วนแล้วสำหรับอุปกรณ์ HID ดังนั้นการเข้าถึงซอฟต์แวร์จึงเป็นเรื่องง่าย จำนวนมากของตัวชี้และแม้กระทั่งรหัสตัวอย่างสามารถพบได้ที่ยานแอเซลสันของหน้า HID สำรวจเว็บไซต์ของเธอเพื่อรับข้อมูลที่ดีมากมายเกี่ยวกับการพัฒนาอุปกรณ์ USB

ตระกูลไมโครโปรเซสเซอร์ขนาดเล็กจำนวนมากสามารถทำ HIDs ได้ ฉันเคยเห็นมันทำที่ USB Low Speed ​​ด้วย ATtiny 8-pin AVR ในซอฟต์แวร์ทั้งหมด

เลือกชิปที่คุณต้องการจากนั้นค้นหา "แหล่งข้อมูลปกติ" เพื่อหาตัวอย่าง HID

อีกวิธีหนึ่งคือการสร้างอุปกรณ์สื่อสารแบบอนุกรม มีชิปตัวเดียวจากFTDIอยู่หลายตัว FT232Rเป็นทางเลือกที่ได้รับความนิยม จำเป็นต้องมีไดรเวอร์ แต่ไดรเวอร์ของ Windows Certified นั้นรู้จักกับ Found New Hardware ดังนั้นการติดตั้งจึงไม่ยาก เมื่อติดตั้งแล้วคุณจะมีอุปกรณ์ที่ดูเหมือนพอร์ต COM มีไดรเวอร์อื่นให้ใช้ซึ่งจะช่วยให้คุณเข้าถึงหมุด GPIO และใช้งานในโหมดขั้นสูงเพิ่มเติม

ปรับปรุง 2015นี้มีการเชื่อมโยงไปยังhttp://www.lvr.com/hidpage.htmซึ่งดูเหมือนว่าจะมีการเชื่อมโยงผุและค้นพบสถานที่ใหม่ต้องขอบคุณเอ Marce Jan Lakeview Research ยังคงเป็นแหล่งข้อมูลที่ยอดเยี่ยมเกี่ยวกับการใช้งาน USB ได้ในทางปฏิบัติ


ลิงก์ของ Jan Axelson หัก ฉันพบสิ่งนี้ ( janaxelson.com/hidpage.htm ) โดย googling: "jan axelson hid page" นี่เป็นสิ่งที่ยืนยันได้ใช่ไหม? ขอบคุณ!
El Marce

ขอบคุณ นั่นคือเว็บไซต์ของเธอตอนนี้ ฉันคาดเดาว่า Lakeview Research จะสูญเสียหรือปล่อยชื่อโดเมนเก่าของพวกเขาและมันก็โดนคนใหม่
RBerteig

1
หากคุณเลือกที่จะใช้เส้นทาง FTDI ตรวจสอบให้แน่ใจว่าคุณได้รับสายเคเบิลที่มีชิ้นส่วน FTDI ของแท้ FTDI (บริษัท จีน) ป่วยและเบื่อที่จะมีชิปปลอมดังนั้นพวกเขาจึงสอนให้คนขับรู้ถึงชิปของตัวเอง สิ่งนี้ทำให้เกิดปัญหามากมายสำหรับผู้ที่ซื้อวิทยุแบบสองทางด้วยสายเคเบิลโปรแกรมที่สร้างขึ้นด้วยชิปปลอมเนื่องจากผู้ผลิตวิทยุซื้อชิปปลอม (หวังว่าจะเข้าใจผิด!)
John R. Strohm

1
FTDI เป็น บริษัท ภาษาอังกฤษ (จริง ๆ แล้วสก็อตแลนด์) ตั้งอยู่ในกลาสโกว์
quick_now

@RBerteig ลิงก์ทำงานอย่างไร
หอยทากเร็ว

6

นี่คือโพสต์บล็อกที่มีรายละเอียดมากhttp://msdn.microsoft.com/en-us/devlabs/dd491992พร้อมซอฟต์แวร์เพื่อใช้ PIC18F4550 ราคาไม่เกิน 5 ดอลลาร์เพื่อเชื่อมต่อผ่าน USB เป็นอุปกรณ์ HID มาตรฐาน ซอฟต์แวร์ที่มีให้สามารถใช้เชื่อมต่อกับอุปกรณ์ HID ใดก็ได้ดังนั้นหากคุณต้องการชิปสำรองซอฟต์แวร์จะยังคงทำงานได้

ข้อดีเพิ่มเติมคือโพสต์บล็อกแสดงวิธีการสื่อสารแบบสองทิศทางดังนั้นไม่เพียง แต่คุณสามารถเชื่อมต่อสวิตช์ที่คุณสามารถเปิดและปิดไฟ LED


3

นี่เป็นโครงการง่าย ๆ ของฉันที่ใช้ PIC18F2455 อิงจากซอฟต์แวร์ USB ของ Brad Minch PCBs มีให้บริการจาก Olimex


2

หากคุณไม่ทราบ Cortex-M3 ไมโครคอนโทรลเลอร์ตามมาดูที่ NXP ของLPC1343 เพียง $ 6.30 ที่ Digikey (1 ชิ้น) มีคุณสมบัติที่ยอดเยี่ยมอย่างหนึ่ง - เฟิร์มแวร์สำหรับการจัดเก็บและอุปกรณ์ HID ใน ROM ของชิป!

เปรียบเทียบกับโซลูชันที่ใช้ชิป FTDI + ไมโครคอนโทรลเลอร์มีชิปน้อยลงหนึ่งตัว :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.