Các cách tôi có thể làm cho mạch của tôi giao tiếp với máy tính là gì?


8

Tôi là một người mới ở hack điện tử. Tôi muốn biết làm thế nào tôi có thể làm cho một mạch giao tiếp với PC. Lấy ví dụ, một mạch đơn giản, với một đèn LED và công tắc. Tuy nhiên, công tắc trên mạch không được sử dụng để điều khiển đèn LED. Nhấn nó sẽ truyền đạt trạng thái hiện tại của đèn LED. Tôi có một chương trình đang chạy trên máy tính của mình, có một giao diện người dùng, nút và đối tượng đồ họa; một vòng tròn đầy màu đen.

  • Tôi có thể bật và tắt đèn LED từ máy tính của mình bằng cách nhấp vào nút trên màn hình.
  • Nhấn công tắc trên bảng, sẽ liên lạc với chương trình trạng thái của đèn LED. Nếu đèn LED bật, vòng tròn màu đen sẽ chuyển sang màu xanh lục, mặt khác nó sẽ chuyển sang màu đen.

Đây là một tình huống giả định tôi đã mô tả để giải thích vấn đề. Tôi không tìm kiếm một giải pháp để thực hiện điều này, nhưng muốn biết làm thế nào có thể đạt được sự giao tiếp giữa mạch của tôi và máy tính, theo cách đơn giản, rẻ tiền, qua

  1. dây điện?
  2. không dây?

Và nếu bạn có thể đề xuất nơi tôi nên tìm và những gì tôi nên học để bắt đầu với dự án điện tử của mình, điều đó sẽ giúp ích rất nhiều.

Câu trả lời:


17

Có khá nhiều cách khác nhau bạn có thể đạt được điều này. Ở đây có một ít:

  1. Bạn có thể lập trình một bộ vi điều khiển nhỏ như Microchip PIC16F84A để xem nút và đèn LED. Bất cứ khi nào nhấn nút, PIC16F84A sẽ gửi một ký tự thông qua chip nối tiếp FTDI đến cổng USB trên máy tính của bạn. Trên máy tính của bạn, một chương trình được viết trong Chế biến sẽ xem cổng USB và cập nhật hình ảnh trên màn hình. Tổng chi phí: $ 20 cho một số chip và bánh mì.

  2. Bạn có thể mua một Arduino Bluetooth với một lá chắn nguyên mẫu. Arduino nói chuyện qua chip Bluetooth với thẻ Bluetooth trong PC của bạn. Một chương trình được viết bằng Python lắng nghe thẻ Bluetooth và vẽ hình ảnh phù hợp trên màn hình với thư viện Pygame . Tổng chi phí: $ 150 cho một Arduino Bluetooth.

  3. Bạn có thể gắn webcam vào PC để xem đèn LED và nút. Một chương trình được viết bằng Ruby đang phân tích mọi hình ảnh đến từ webcam, so sánh nó với hình ảnh trước đó. Khi phát hiện sự thay đổi trong vùng của hình ảnh gần nút, nó sẽ nhìn vào màu của các pixel trong vùng LED và cập nhật giá trị trong cơ sở dữ liệu . Trang web tự động làm mới bằng cách sử dụng plugin hẹn giờ jQuery và cập nhật hình ảnh trên màn hình dựa trên giá trị trong cơ sở dữ liệu. Tổng chi phí: $ 25 cho một webcam crappy.

  4. Bạn có thể tìm thấy một PC cũ có cổng song song và cài đặt Ubuntu Linux trên đó. Bạn kết nối đèn LED và nút với các chân trên cổng song song và sau đó viết chương trình bằng C đọc địa chỉ 0x378. Dựa trên dữ liệu được trả về, nó thực hiện các cuộc gọi vào thư viện đồ họa C thực hiện bản vẽ màn hình phù hợp. Tổng chi phí: miễn phí, nếu bạn có thể tìm thấy một PC đủ cũ.

  5. Bạn thay thế nút nguồn trên máy tính của bạn bằng nút được đề cập và đèn LED nguồn bằng đèn LED được đề cập. Bạn thay thế BIOS của mình bằng phiên bản OpenBIOS đã được sửa đổi để hiển thị vòng tròn màu xanh lá cây trên màn hình và không bao giờ khởi động bất kỳ hệ điều hành nào. Tổng chi phí: có thể là chi phí của một PC mới.

Nhưng trong tất cả sự nghiêm túc

Tôi nghĩ rằng tôi muốn giới thiệu một ArduinoXử lý . Chúng đơn giản và tuyệt vời cho người mới bắt đầu. Tổng chi phí: $ 30 cho Arduino.

May mắn nhất.


Bạn không cần một BIOS đặc biệt để đọc trạng thái của nút nguồn. Bạn sẽ có thể làm điều đó từ Linux mà không cần hack nhân hay bất cứ thứ gì. Tôi khá chắc chắn rằng bạn có thể định cấu hình những gì xảy ra khi nhấn nút nguồn.
davr

2
Tôi nghĩ Arduino và Chế biến nên là cách tốt nhất để bắt đầu.
sauparna

7

Đi lấy cuốn sách "Making Things Talk" của Tom Igoe: http://oreilly.com/catalog/9780596510510

Không phải là về lời nói, mà là về tất cả các phương pháp khác nhau để tạo ra các thiết bị khác nhau của bạn - ví dụ: máy tính và mạch của bạn - nối với nhau. Trong đó, bạn sẽ tìm thấy các chi tiết chính của tất cả các phương pháp mà mọi người đang phác thảo trong các câu trả lời khác ở đây, hoàn chỉnh với sơ đồ mạch và mã nguồn (nếu thích hợp).

Nếu bạn muốn tìm hiểu bất kỳ hoặc tất cả các cách khác nhau để làm điều này, bạn không thể có một điểm khởi đầu tốt hơn.


6

Python + FT245

Bỏ mô-đun PyUSB và đột nhiên chỉ mất ba dòng (tốt, bốn, nếu bạn bao gồm nhập) mã để Python nói chuyện với không gian thông qua 8 dòng IO song song.

import d2xx
hardwareHandle = d2xx.open(0)
#Open the First FTDI device on the computer
hardwareHandle.setBitMode(0xff, 0x01)      
#Put the hardware in Async Bit-bang mode, set all pins as outputs

#Finally
hardwareHandle.write(data)
#And suddenly
#`data` shows up on the FT245 pins!

hardwareHandle.setBitMode(0x00, 0x01)
#set the IO lines to inputs (the first byte is the IO mask)
input = hardwareHandle.read()
#and input is equal to the value on the IO lines!

Đó là IO song song đơn giản chết người từ một ngôn ngữ cấp cao.

Như một phần thưởng, phần cứng có giá tổng cộng 17,95 đô la


4

Hãy xem TI Chronos

TI tạo ra họ vi điều khiển 16 bit tuyệt vời này dựa trên chip MSP430. Một biến thể của con chip đó là CC430, có không dây được nhúng trong gói.

Đồng hồ bấm giờ là một "ban phát triển" mà họ bán với giá 49 đô la. Nó đi kèm với một yếu tố hình thức đồng hồ đeo tay (mà tôi sử dụng hàng ngày, thậm chí nó còn hợp thời trang bên ngoài thế giới đam mê :-)) Nó cũng đi kèm với hai khóa USB, một cho JTAG (lập trình viên) và một cái khác là đối tác không dây.

Một trong những ví dụ trong devboard là điều khiển chuột không dây bằng đồng hồ, điều này khá tuyệt. Đồng hồ cũng đi kèm với cảm biến gia tốc kế, phong vũ biểu (độ cao) và nhiệt kế.


Chronos của tôi sẽ đến vào thứ Sáu! Nghiêm túc, mặc dù, đây chỉ là một hình thức phức tạp hơn một chút của thiết lập PIC -> FTDI.
Kevin Vermeer

1

Có dây hoặc không dây là khá đơn giản những ngày này. Bạn có thể nhận bộ dụng cụ bluetooth cung cấp cho bạn I / O và bạn cũng có thể mua bảng I / O USB rất rẻ. Những gì bạn muốn sử dụng hoàn toàn tùy thuộc vào nhu cầu và ngân sách của bạn.

http://www.hexwax.com/Sản phẩm / expandIO-USB /

Một cái gì đó như thế (không bao giờ sử dụng nó, không liên kết với công ty) có thể sẽ giúp bạn thoát khỏi và chạy rất nhanh và với sự ồn ào tối thiểu. Chúng dường như có sẵn từ Digikey và Mouser, và có lẽ những người khác nữa.


1

Giả sử rằng PC của bạn có cổng nối tiếp, bạn chỉ có thể sử dụng USART trên chip và bộ thu phát RS-232 để liên lạc giữa chip và PC. Nếu PC của bạn không có cổng nối tiếp, bạn nên đầu tư vào bộ chuyển đổi USB <-> RS-232.


1

Nếu bạn quan tâm chính là khởi động và chạy nhanh, thì có một loạt các bộ I / O kỹ thuật số dựa trên USB bao gồm các thư viện lập trình để đọc / ghi trạng thái của các chân. Không giống như làm việc với Arduino hoặc các bo mạch vi mô khác, điều này có nghĩa là bạn chỉ phải lo lắng về việc lập trình PC (so với việc phải viết và gỡ lỗi mã chạy trên bảng vi điều khiển).

Trước đây, việc kết nối đầu vào và đầu ra thông qua cần điều khiển hoặc cổng song song của PC là cách tốt nhất. Nhưng đó là vào thời của DOS và Windows cho đến khoảng Windows 95. Kể từ đó, việc truy cập trực tiếp vào các thanh ghi để đến phần cứng ngày càng khó thực hiện hơn. Điều đó nói rằng, nó vẫn có thể thực hiện được - bạn sẽ phải nhảy qua các vòng lập trình để đến các chân đó từ chương trình của mình. Ví dụ, dock máy tính xách tay của My ThinkPad có cổng song song kiểu cũ và nó vẫn được HĐH hỗ trợ, nếu tôi quyết định cắm LaserJet II. :)



0

Phương pháp nhanh nhất và dễ nhất của bạn để thực hiện điều đó sẽ thông qua Labview và các thiết bị I / O USB liên quan. Tất nhiên, điều này không rẻ (hàng ngàn đô la). Những gì bạn mô tả không phải là cấp nhập cảnh, chắc chắn không phải là cấp độ 'Xin chào thế giới'.

Khác với việc chi nhiều tiền như vậy, có lẽ bạn sẽ tốt nhất khi sử dụng Arduino và liên lạc với chương trình của mình qua nối tiếp và để Arduino bật và tắt đèn.


Ôi trời, nó không dễ như tôi nghĩ đâu. Cảm ơn cho quan điểm này.
sauparna

Có một Gói Lab Lab Home (được cấp phép cho người sử dụng sở thích / nhà sản xuất phi thương mại) có sẵn với giá $ 50. Điều này có thể được sử dụng với Arduino, Raspberry Pi hoặc các bảng giá rẻ khác để tạo I / O từ máy tính hoặc tạo phần mềm nhúng để chạy trên bảng. Mặc dù có thể quá mức cho vấn đề đặc biệt này so với các câu trả lời khác, chi phí là hợp lý và các công cụ nên có khả năng sử dụng phức tạp hơn nhiều.
mbmcavoy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.