Showcase dự án '14


25

Logo là một dẫn xuất của Logo Cộng đồng Arduino được cấp phép theo giấy phép Creative Commons CC-SA-BY-NC 3.0

Cập nhật: Người chiến thắng được công bố

Những người chiến thắng của cuộc thi đã được công bố. Vui lòng xem bài viết Meta để biết chi tiết .

Để kỷ niệm 10 năm của Arduino , chúng tôi tự hào công bố sự kiện đầu tiên chưa từng có trên Arduino Stack Exchange.

Lấy bảng và thiết bị hàn của bạn ra, đào IC và điện trở. Cuộc thi trao đổi Arduino Stack đầu tiên chỉ diễn ra ở một góc. Chúng tôi sẽ tìm kiếm các dự án thú vị được xây dựng bằng Arduinos. Cuộc thi nhằm mục đích chia sẻ, thảo luận và cung cấp phản hồi về các dự án mà bạn và các thành viên khác đang thực hiện. Xem bài thông báo

Chi tiết:

  • Giải thưởng là một chiếc áo thun Stack Exchange chính thức
  • Giới hạn hai mục nhập mỗi người. Nếu có nhiều hơn hai được cung cấp, chỉ hai cái đầu tiên sẽ được xem xét.
  • Bản sao được cho phép.
  • Các dự án để xem xét sẽ được chấp nhận cho đến ngày 29 tháng 3 năm 2014 lúc 4:00 UTC. Câu hỏi sẽ vẫn còn mở trong trường hợp ai đó muốn thể hiện dự án của họ mà họ đã thực hiện vào Ngày Arduino 2014.

Truy cập bài viết Meta để thảo luận về sự kiện này và biết thêm thông tin.

Định dạng câu trả lời

Bạn có thể đăng tối đa hai dự án (dưới dạng hai câu trả lời riêng biệt) làm bài dự thi cho cuộc thi. Tất cả các mục bổ sung sẽ bị xóa. Xem xét theo mẫu sau cho các mục:

Tên dự án

Mô tả rất ngắn gọn

Sự miêu tả

Dự án của bạn là gì? Nó làm gì? vấn đề gì nó giải quyết?

Thiết kế

Những điều cần bao gồm trong phần này:

  • Sơ đồ và tài liệu thiết kế khác. Fritzing là một công cụ tốt để vẽ sơ đồ bánh mì giống như biểu đồ trong logo dự án ở trên.
  • Các thành phần được sử dụng để xây dựng dự án
  • Hình ảnh hoặc video

Phần kết luận

Suy nghĩ cuối cùng. Bạn đã học được gì khi làm dự án này? Bạn sẽ làm gì khác nếu bạn phải bắt đầu lại?

Bạn có thể sao chép / dán văn bản sau nếu bạn muốn sử dụng mẫu này.

# Project Title
**Very Brief Description**

# Description
What is your project? What does it do? What problem does it solve?

# Design
Things to include in this section:

- Schematics and other design documentation. [Fritzing][8] is a good tool for drawing breadboard schematics like the one shown in the project logo above.
- Components used to build the project
- Pictures or video

# Conclusion
Final thoughts. What did you learn from doing this project? What would you do differently if you had to start over?

Giải thưởng

Có hai giải thưởng! Người chiến thắng sẽ là người gửi số lượng upvote tối đa (số lần tải xuống không được tính) và sẽ nhận được áo phông Stack Exchange *! Sẽ có một cái gì đó cho Á hậu là tốt. Á hậu sẽ được quyết định theo quyết định của ban tổ chức sự kiện.

* Một số hạn chế có thể được áp dụng. Vận chuyển quốc tế có thể mất một vài tuần.

Tôi gửi dự án của mình ở đâu?

Gửi dự án của bạn như là câu trả lời cho bài viết này.


Có gì chính xác là đủ điều kiện trở thành một "Arduino" dự án? Tôi sử dụng optiboot ở nhiều nơi, nhưng tôi không thể thấy đó là "arduino", vì đó chỉ là một dự án mà chuỗi công cụ arduino sử dụng. Không sử dụng bảng trong yếu tố hình thức arduino, tôi không thể thấy một cách phân định rõ ràng giữa "arduino" và "không phải arduino", trừ khi bạn yêu cầu rõ ràng rằng dự án phải được biên dịch bằng trình soạn thảo văn bản arduino, và điều đó có thể sẽ loại bỏ tất cả các dự án tử tế vì trình soạn thảo arduino là khủng khiếp, và tất cả các lập trình viên giỏi đã ngừng sử dụng nó từ lâu.
Sói Connor

@FakeName hãy đưa cuộc thảo luận này đến Meta Post
sachleen

Câu trả lời:


14

Questbox nhà nước

Một GPS hộp trợ mà làm cho bạn truy cập một vài điểm trước khi mở

Sự miêu tả

Nó tương tự như Questbox , nhưng nó lưu trữ một lượng nhỏ thông tin trong EEPROM , vì vậy bạn phải truy cập hai hoặc ba địa điểm khác nhau trước khi mở.

Thiết kế

Phần cứng cần thiết:

  • Arduino Uno
  • Reverse Geocache Phiên bản 2 (hoặc một protoshield)
  • Mô-đun GPS GlobalSat EM-406A
  • LCD màu xanh 2 × 8 với đầu nối và cáp
  • Động cơ servo Hitec HS-55
  • Thanh đẩy 4-40 và giá đỡ cho chốt (một số phiên bản cung cấp thanh uốn Z thay thế)
  • 2 giá đỡ pin AA
  • Nút ấn kim loại với đèn LED màu xanh nhúng và cáp 4 chân
  • Công tắc điện áp thấp Pololu
  • Bộ điều chỉnh tăng áp Pololu 5 V
  • Đầu nối JST cho mô-đun GPS EM-406A
  • Các chân tiêu đề thẳng và góc phải cho các đầu nối màn hình, servo và nút nhấn
  • Hai điện trở cho giới hạn hiện tại và điều chỉnh độ tương phản
  • Hai tụ điện nhỏ để làm mịn điện
  • tụ lớn hơn cho mạch tương phản hiển thị

Tổng chi phí phần cứng: 137 $ + vận chuyển

Tài liệu bổ trợ:

  • Một hộp đẹp
  • Keo epoxy, gỗ để bọc miếng, dụng cụ

Bạn có thể tìm thấy hướng dẫn lắp ráp trong trang chủ nhật (bạn có thể mua hầu hết các tài liệu từ họ)

Tôi sẽ tải lên mã trạng thái và đăng một liên kết ở đây, tiếc là tôi sẽ không nhận được tất cả phần cứng cần thiết đúng thời gian, vì vậy đây chỉ là một ý tưởng :)

Mã được viết cho đến nay :

Cảm hứng:Questbox gốc

Phần kết luận

Đã học cách tích hợp nhiều thành phần và thư viện, tôi sẽ phải đi một chút để kiểm tra nó :)

Ngân sách có thể được cắt giảm một chút thay đổi khái niệm một chút:

  • Thay đổi GPS bằng bàn phím số: 'người chơi' phải đoán / lấy mã thay vì di chuyển đến một vị trí
  • Công tắc và bộ điều chỉnh Polulu có thể được trao đổi cho một rơle chốt với khớp nối điện dung

11

Tiết kiệm năng lượng cho người dùng PC đãng trí

Thiết bị này bật / tắt đèn bàn của tôi khi trời tối (ish) và đồng bộ hóa với trình bảo vệ màn hình PC của tôi.

Sự miêu tả

Dự án không chỉ là sự kết hợp của cảm biến nhạy sáng, rơle và một số mã thông minh theo dõi trình bảo vệ màn hình trên PC của tôi. Khi trời chạng vạng và khi trình bảo vệ màn hình không hoạt động, nó sẽ bật đèn trên bàn của tôi. Khi tôi rời khỏi bàn làm việc, trình bảo vệ màn hình sẽ kích hoạt, điều này sẽ lần lượt kích hoạt đèn bàn bị tắt. Khi có đủ ánh sáng vào ban ngày, đèn không được bật lên. Vấn đề được giải quyết là giảm lãng phí năng lượng do ánh sáng trong văn phòng của tôi được bật khi tôi rời khỏi phòng.

Thiết kế

Bởi vì sức mạnh của vi điều khiển / Arduino chỉ cần thêm một chút phần cứng để tạo ra một dự án hữu ích. Điều tương tự cũng xảy ra với dự án này khi phần cứng ít hơn:

  • Một Arduino
  • Một vài lá chắn vít để kết nối các thành phần bên ngoài
  • Một LDR nối tiếp với một điện trở để đo ánh sáng xung quanh
  • Một thẻ chuyển tiếp để bật và tắt đèn nguồn chính
  • Một tụ điện 10 FF từ GND đến RST để ngăn bảng được đặt lại và vô tình được lập trình.

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

Phần kết luận

Tôi đã học cách giao tiếp với PC qua liên kết nối tiếp USB với Arduino và cách đọc trạng thái hiện tại của trình bảo vệ màn hình trên PC. Nếu tôi bắt đầu lại, tôi sẽ sử dụng bộ điều khiển nhỏ hơn nhiều vì tôi thực sự chỉ cần một đầu ra kỹ thuật số duy nhất và một đầu vào tương tự. Có lẽ dựa trên dự án trên V-USB . Arduino tuy nhiên là tuyệt vời cho bằng chứng nhanh chóng và dễ dàng của khái niệm (PoC). (PoC đã ở trên bàn của tôi ít nhất hai năm rồi).


Thật tuyệt khi thấy hình ảnh của bảng và thiết lập cuối cùng của bạn. Thời gian đáp ứng như thế nào? Tức thì? Sau một phút?
sachleen

@sachleen Trình nền trên PC của tôi thăm dò trình bảo vệ màn hình chạy cứ sau 30 giây khi trình bảo vệ màn hình tắt (khi tôi đang làm việc trên PC) và cứ sau 5 giây khi bật. Tôi có thể tăng tốc độ đó, nhưng điều đó ảnh hưởng đến tải CPU và với việc sử dụng năng lượng đó ... Ngoài ra còn có một tụ điện đi kèm để ngăn Arduino đặt lại và vô tình được lập trình.
Jippie

@sachleen khi hoàng hôn buông xuống chậm theo thời gian, 30 giây này thực sự không phải là vấn đề. Không ai nhận thấy sự khác biệt trong bóng tối hơn 30 giây. Trong vòng 5 giây sau khi di chuyển chuột hoặc nhấn bàn phím khi tôi bật lại đèn. Có một độ trễ nhẹ để chuyển tiếp những gì được coi là tối và sáng, để ngăn đèn bật / tắt cứ sau nhiều giây khi nó bị tối đủ để kích hoạt.
jippie

Bạn nên sửa đổi nó để làm mờ nó ở mức 50% trong 10 - 15 giây để bạn không hoàn toàn chìm trong bóng tối và nó sẽ cho bạn một "cảnh báo" nhỏ
Chim cánh cụt ẩn danh

@AnnonomusPerson Tôi đang chuyển đổi phía 240VAC của SMPS có đầu vào 100-250VAC. Sẽ không xảy ra Tôi sợ vì tôi không muốn chuyển sang bên thứ cấp. Mặc dù vậy, ý tưởng tuyệt vời, có lẽ tôi có thể thêm một đèn LED nhỏ màu trắng thông minh bằng cách nào đó.
jippie

8

Tôi nghĩ rằng loại này hầu như không phù hợp với các quy tắc, nhưng nó đủ thú vị mà tôi nghĩ rằng tôi sẽ đăng nó bằng mọi cách.

Máy tạo dấu thời gian được đồng bộ hóa với độ chính xác cao, GPS cho mục đích thu thập dữ liệu.

Đây là một dự án khá thú vị được dự định sẽ được sử dụng để cung cấp một cách dễ dàng đồng bộ hóa nhiều hệ thống thu thập dữ liệu độc lập.

Về cơ bản, tôi làm việc trong phòng thí nghiệm nghiên cứu và chúng tôi thường có các công cụ có nhiều hệ thống thu thập dữ liệu độc lập, có thể cách nhau đến 50 feet. Chúng ta cần có khả năng tương quan thời gian lấy mẫu từ mỗi hệ thống, điều này có thể khó khăn nếu bạn muốn giải quyết thời gian lấy mẫu với độ chính xác cao. Sử dụng một cái gì đó giống như hệ thống thu thập dữ liệu USB, chỉ cần độ trễ USB có thể giới thiệu vài trăm mili giây có độ trễ không xác định, có thể thay đổi từ thu thập sang thu nhận.

Giải pháp trước đây là một bộ đếm song song 24 bit chỉ đơn giản là được đặt ở khắp mọi nơi, đòi hỏi một dây nối khổng lồ và là một loại đau ở mông.

Hệ thống này sử dụng mô-đun GPS thời gian chuyên dụng có thể tổng hợp các đồng hồ tần số tùy ý, đó là pha và tần số được khóa với các đồng hồ nguyên tử trong các vệ tinh GPS.

MCU chịu trách nhiệm liên kết các thông điệp dữ liệu GPS với nhau (tôi đã phải mở rộng và tối ưu hóa một trình phân tích cú pháp giao thức hiện có cho dữ liệu GPS). GPS được cấu hình để sử dụng giao thức nhị phân độc quyền và tất cả được phân tích cú pháp bởi trình phân tích cú pháp mà tôi đã viết.

Dự án đã trải qua một số sửa đổi (hình dưới).

Thiết kế

Sửa đổi! nhập mô tả hình ảnh ở đây
Rev 1: Chưa bao giờ hoạt động, do thực tế ban đầu tôi hy vọng sử dụng một phần mềm dPLL từ một GPS rẻ hơn nhiều, để tổng hợp đồng hồ tần số cao hơn chỉ từ đầu ra 1 PPS. Có thể có thể làm cho nó hoạt động, nhưng đầu tư thời gian chỉ làm cho nó không đáng giá. (và tôi quá ngu ngốc một lập trình viên)

Đã sử dụng một MCU chân vịt thị sai. Việc thiếu các ngôn ngữ biên dịch đàng hoàng cũng là một vấn đề lớn.


nhập mô tả hình ảnh ở đây
Rev 2: Đã chuyển sang ATmega2560. Đã làm việc, có rất nhiều khía cạnh thiết kế thú vị được kế thừa từ vòng quay đầu tiên. Về cơ bản, việc tiếp tục sử dụng các thanh ghi thay đổi cho đầu ra 32 bit, mặc dù số lượng IO trên ATmega2560 đủ nhiều hơn.

Ban đầu tiên chạy Optiboot và thực sự được lập trình hoàn toàn bằng cách sử dụng công cụ Arduino tiêu chuẩn, trước khi tôi phát cáu với nó và bắt đầu sửa đổi chuỗi công cụ để phù hợp hơn với mục đích của tôi.


nhập mô tả hình ảnh ở đây
Rev 3: Cũng đã làm việc. Hệ thống dây cót là do bo mạch này tích hợp bộ chia USB tích hợp để giảm số lượng cổng USB cần thiết (giao diện FTDI yêu cầu 1 USB và GPS cũng có giao diện USB). Thật không may, GPS sẽ không liệt kê đúng, mặc dù thiết bị FTDI hoạt động tốt và tôi đã sử dụng trung tâm này ở nơi khác mà không gặp vấn đề gì. Kỳ dị.

Tôi không có trình gỡ lỗi USB thích hợp, vì vậy tôi chỉ bỏ hoàn toàn bộ chia USB, sau đó cố gắng khắc phục sự cố. USB GPS không thực sự được sử dụng nhiều ngoài các thiết lập.


nhập mô tả hình ảnh ở đây
Rev 4: Bán kết phiên bản ATmega2560. Đã thêm một màn hình LCD cho trạng thái GPS, được gắn với đèn LED và vv. Ngoài ra, dấu chân tốt hơn cho các siêu tụ điện có thể để duy trì trạng thái GPS khi không được cấp nguồn.

Đây là phiên bản Optiboot cuối cùng.

MStimeMSTOW, hoặc Millisecond-Time-Of-Week, là tên của giá trị dữ liệu GPS được xuất ra trên dấu thời gian. Đây là biến 32 bit tăng một lần trên mỗi milliseond và cuộn qua mỗi tuần. Đó là một phần tối nghĩa hơn của tiêu chuẩn GPS.

ITOWlà một giá trị khác liên quan đến GPS, là giá trị tương ứng với tín hiệu 1PPS. Mối tương quan giữa cả hai không được phản ánh đúng trên LCD, vì tôi không có thời gian CPU để cập nhật LCD theo tốc độ tôi muốn. Đây thực sự là một trong những điều quan trọng được cải thiện trong quá trình nâng cấp lên các thiết bị Xmega.


nhập mô tả hình ảnh ở đây
Rev 5: Chuyển đổi kiến ​​trúc hoàn chỉnh. Bây giờ sử dụng bộ xử lý ATxmega128A1U. Không thực sự là "Arduino" nữa, nhưng khả năng có nhiều cấp độ ngắt trên loạt bộ xử lý xmega cho phép tôi cải thiện đáng kể cấu trúc mã.

Hai dây điện là do tôi thực hiện một số thử nghiệm, bảng hoạt động tốt mà không có chúng là tốt.

Nhìn về phía trước:

Rev 6! nhập mô tả hình ảnh ở đây
Thêm khả năng sử dụng các kích thước LCD khác nhau, bảo vệ nhiều hơn trên kết nối ăng-ten GPS (đó là một vấn đề), khả năng sử dụng pin CR2032 để duy trì đồng hồ GPS thay vì siêu tụ điện.

Ngoài ra, ghi nhãn tốt hơn của đèn LED gỡ lỗi và trạng thái.

nhập mô tả hình ảnh ở đây
Và thưởng Nyan-Cat!

nhập mô tả hình ảnh ở đây

(Các bảng này đã được chế tạo ngay bây giờ. Khi tôi nhận được chúng, tôi sẽ thêm hình ảnh của bảng thật.)


Tôi đã thực hiện một số thử nghiệm thời gian dài giữa hai bảng ATmega2560 và hơn 72 giờ, lỗi thời gian RMS giữa hai đơn vị là ~ 20 uS. Đây là với hai ăng ten hoàn toàn độc lập quá. Mục tiêu thiết kế của tôi là <1 ms, vì vậy tôi khá hài lòng với điều đó.

Nhìn chung, tôi nghĩ rằng đây là một công việc tốt minh họa làm thế nào Arduino có thể là một công cụ hữu ích để tạo mẫu sớm cho các sản phẩm / hệ thống "thực". Tôi sử dụng nó để chạy phiên bản thử nghiệm ban đầu với nỗ lực tối thiểu và khi tôi tự tin rằng ý tưởng sẽ hoạt động, tôi thực sự đã đưa công việc vào để chuyển sang triển khai hoàn toàn theo mục đích cụ thể.


Các tệp thiết kế:
https://fake-server.no-ip.org/svn/FPGAStuff/DAQ%20systems/
(Trong loạt thư mục "Dấu thời gian GPS").
(Lưu ý: Tệp từ Altium Designer. Không phải tệp đại bàng).

Mã nguồn:
https://fake-server.no-ip.org/svn/Programming/Code/AVR/
Một lần nữa, trong loạt thư mục "gpsTimeStamp".

Xin lỗi cho hình ảnh điện thoại di động crappy.


Bạn có thể vui lòng giảm số lượng hình ảnh? 3-4 nên là đủ để có được ý tưởng trên. Phải mất một thời gian khá dài để tải trên các kết nối chậm.
asheeshr

7
@AsheeshR - Tôi mạnh mẽ không đồng ý. Tôi có thể bỏ một trong những hình ảnh từ lần quay trước, nhưng có sự tiến bộ của thiết kế hệ thống tôi nghĩ là khá có giá trị.
Sói Connor

1
Có niềm vui với màn hình lụa?
TheDoctor

Oooh, 3D xem PCB. À, nó là Altium và khá đắt? : $ Khá thú vị khi xem các dự án này hoặc để xem bất kỳ dự án nào mà người khác đang làm ..
Paul

7

Súng thần công

Hai dự án của trẻ em

Tôi đang làm việc với một vài đứa trẻ được giáo dục tại nhà và chúng tôi đang có rất nhiều niềm vui với một arduino. Dự án đầu tiên của họ là một quả bom giả, giống như bạn thấy trong các bộ phim, với đồng hồ đếm ngược LCD và một câu kinh điển "bạn có cắt dây màu đỏ hay màu xanh không?" loại vấn đề.

Dự án hai bắt đầu với việc hiển thị cho họ ví dụ toneMelody và một loa nhỏ. Nhanh chóng phát hiện ra rằng nếu bạn biến tần số lên đến 15kHz thì điều đó khá khó chịu với thanh thiếu niên. Một giờ sau họ đã cải tiến thiết kế với một cái cốc, cuộn giấy vệ sinh và một công tắc được làm từ kẹp giấy tạo ra một khẩu súng tia âm thanh định hướng.

Đáng buồn là không có hình ảnh.

Phần kết luận

Đừng để trẻ em không được giám sát với một arduino.


3
Bạn có thể mô tả nó nhiều hơn một chút (mã, Fritzing, vv?)?
Chim cánh cụt vô danh

7

(giả) Linux trên Arduino

Gần đây tôi đã có được một màn hình LCD tổng hợp nhỏ, mà tôi nhanh chóng bắt đầu chơi bằng thư viện Arduino TVout. Điều gì đến tiếp theo? Linux!

Sự miêu tả

Trong khi chơi xung quanh với màn hình TV và thư viện TVout, tôi phát hiện ra có một trình xử lý thiết bị đầu cuối cho TV. Tôi sớm bắt đầu thử nghiệm sử dụng nó như một thiết bị đầu cuối TV được nối với bàn phím PS / 2. Có một số vấn đề với thư viện PS / 2 tôi đã sử dụng, vì vậy tôi đã chuyển nó sang sử dụng thư viện USB trên Mega ADK của tôi cùng với bàn phím USB. Điều đó đã làm việc tốt hơn nhiều. Bây giờ để lưu trữ.

Tấm khiên thẻ SD của tôi không tương thích với Mega của tôi, vì vậy tôi đã kết nối nó với SPI ở cuối bảng. Tôi đã viết xử lý lệnh để tạo ra một số tác vụ như liệt kê các tệp và tìm kích thước đĩa, dung lượng trống, v.v. Toàn bộ quá trình lắp ráp không phải là hoàn thành, nhưng tôi hài lòng với tiến trình tôi đã thực hiện.

Mã sẽ được chuyển đến Github cuối cùng, xem các bình luận.

Thiết kế

thu nhỏ pic

clse lên màn hình

Thử thách

Tôi đã gặp rất nhiều khó khăn khi nối các charactar đã nhập vào chuỗi lưu trữ lệnh hiện tại vì tôi không truyền đúng. Khi tôi đã tìm ra điều đó, tôi cũng cần khắc phục sự cố trong đó một số phím được in rác ngẫu nhiên ra màn hình. Điều này được gây ra bởi việc đọc bộ nhớ trước khi định nghĩa chữ cái, vì vậy một vài ifgiây đã xóa nó.

Phần kết luận

Tôi rất hài lòng với mã. Khi tôi thêm một vài tiện ích cho nó, tôi sẽ đưa nó lên Github, vì vậy hãy xem các bình luận. Nhìn chung, đó là một dự án rất thú vị. Tôi đã học cách sử dụng Stino trong quá trình này.


Điều này nghe có vẻ thú vị. Tôi thực sự muốn xem mã của bạn sớm!
asheeshr


LCD có tốn nhiều tiền không?
Chim cánh cụt vô danh


@AnnonomusPerson tôi đã tháo rời nó vì nó quá cồng kềnh
TheDoctor

5

ShiftLCD

Bảng điều khiển dựa trên Arduino, tương thích với Arduino, gắn vào mặt sau của màn hình LCD nhân vật có kích thước lên tới 20x4.

Sự miêu tả

Tôi chỉ thiết kế bảng này và thư viện tùy chỉnh để dễ sử dụng và LCD hơn. Mặc dù chúng khá dễ sử dụng vào lúc này. Nó cắt giảm số lượng chân đầu ra được sử dụng từ 6 xuống 3. Nó cũng có tùy chọn để mở rộng I / O bằng cách thêm nhiều thanh ghi thay đổi vào cái điều khiển màn hình. Bộ xử lý được sử dụng là ATTiny45 hoặc ATTiny85, sau khi sử dụng thanh ghi thay đổi, chân kỹ thuật số 1 (PWM) và 4 chân có sẵn và chân tương tự 2 (cùng pin với chân số 4) có sẵn.

Thiết kế

Sơ đồ Công viên OSH kết xuất Bảng chưa bán

Thử thách

Một thách thức không lường trước mà tôi gặp phải là khi tôi bắt đầu sử dụng các chân kỹ thuật số 0-2 để chạy thanh ghi thay đổi, đây cũng là các chân lập trình (MISO, MOSI, SCK). Vì vậy, mỗi lần tôi lập trình lại thiết bị, màn hình LCD sẽ nhận được một loạt các thông điệp vô nghĩa trong đó nguồn điện sẽ phải được tắt để đặt lại màn hình. Tôi đã giải quyết vấn đề này bằng cách di chuyển các chốt đăng ký chốt chốt sang chân số 3 không phải là chân lập trình. Việc giải quyết vấn đề này cũng giải quyết được một vấn đề khác cho tôi bởi vì khi tôi di chuyển chốt chốt, nó đã mở ra chân số 1 có sử dụng PWM, cho phép thực hiện nhiều thao tác hơn với bảng.

Phần kết luận

Cấp này có thể không phải là sản phẩm hay ý tưởng tuyệt vời nhất, nó vẫn có công dụng của nó. Câu trả lời trực tiếp cho câu hỏi, "Bạn đã học được gì khi thực hiện dự án này" Tôi đã học cách thiết kế từ đầu đến cuối để hoàn thành một bảng mạch PCB. Nếu tôi có thể làm bất cứ điều gì khác biệt thì đó là sử dụng các bộ phận gắn trên bề mặt thay vì xuyên qua lỗ, thì một lần nữa, nó chỉ là một nguyên mẫu, bảng một lần.


Làm thế nào bạn lập trình ATtiny của bạn? Mã nào có liên quan? Ý tưởng? (Xin vui lòng chỉ nhận xét, không chỉnh sửa bài đăng của bạn. )
Penguin Penguin

@AnnonomusPerson Trông giống như người đã đăng những gì tôi đã làm trước khi xóa bình luận của họ, vì vậy đây là nơi tôi có những thứ cần thiết (tệp Arduino IDE và sơ đồ lập trình) để lập trình ATTiny. highlowtech.org/?p=1695
Jesse Laning

Tại sao nên sử dụng bề mặt gắn kết? Hàn qua lỗ ở nhà dễ hơn nhiều? Tôi nghĩ rằng SMD chỉ dành cho hoạt động sản xuất, hoặc có cái gì khác cho nó?
Paul

5

Robot đẩy nút.

Một robot bắn laser điều khiển từ xa bốn bánh tám pound, nhấn nút.

Sự miêu tả

Tôi đã thực hiện dự án này trong suốt năm học vừa qua. Tôi học lớp người máy, và chúng tôi quyết định có một cuộc thi. Mỗi đội sẽ tạo ra một robot có nút lớn và cách đẩy các nút khác. Vào cuối năm, chúng tôi sẽ có cuộc thi cuối cùng, nơi ba robot sẽ cố gắng nhấn nút của nhau.

Đến cuối năm, robot của tôi chỉ hoạt động một phần. Mọi bộ phận của robot đã có lúc hoạt động, nhưng giữa một Arduino chiên, trình điều khiển động cơ chiên, tổ chức mã khủng khiếp và tôi là người duy nhất trong nhóm của tôi làm việc với robot trong tổng cộng hơn năm giờ, tôi không thể làm cho nó hoàn toàn làm việc.

Tôi đã không chạm vào robot của tôi trong gần một năm, vì vậy tôi biết rằng nếu tôi muốn nó hoạt động trở lại, tôi sẽ phải viết lại bot và viết lại mã. Tôi có thể quyết định làm điều đó một ngày nào đó, nhưng bây giờ tôi sẽ thực hiện các dự án ít tham vọng hơn.

Thiết kế

Thiết kế tổng thể

nhập mô tả hình ảnh ở đây

Thông tin / dòng điện

+--------------------------+   +-------------------------------------------------+
|         Computer         |   |      Robot                                      |
|--------------------------|   |-------------------------------------------------|
|                          |   |                                                 |
| Keyboard +--> Processing |   |  Button +-------------+        Motor    Motor   |
|                          |   |                       |          ^       ^      |
|                    +     |   |                       |          |       |      |
|                    |     |   |  Batteries +-----+    |          +       +      |
|                    v     |   |                  |    |   +----> Motor Driver   |
|                          |   |                  v    v   +                     |
|               Bluetooth +-----> Bluetooth +--> Arduino Uno +--> Motor driver   |
|                          |   |                  +    +  +       +       +      |
+--------------------------+   |                  |    |  |       |       |      |
                               |                  |    |  |       v       v      |
                               |                  |    |  |    Motor     Motor   |
                               |                  |    |  |                      |
                               |                  |    |  |                      |
                               |                  |    |  +-----> Laser          |
                               |  +---------------|----|----+                    |
                               |  |       Arm     |    |    |                    |
                               |  |---------------|----|----|                    |
                               |  |     +---------+    v    |                    |
                               |  |     |      Motor Driver |                    |
                               |  |     v              +    |                    |
                               |  |  Servo             |    |                    |
                               |  |                    v    |                    |
                               |  |                  Motor  |                    |
                               |  +-------------------------+                    |
                               +-------------------------------------------------+

Các thành phần

Tôi đã không tổ chức mã của mình rất tốt, vì vậy tôi hy vọng đây là mã đúng.

Nhiều hình hơn

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Video khủng khiếp về một phiên bản đầu tiên chậm chạp, không tay, không nút, không laser và không có bluetooth.

https://www.youtube.com/watch?v=Q7MvE7-Xb0E

Phần kết luận

Tôi thực sự giỏi trong việc chiên đồ điện tử.

Đây là trải nghiệm đầu tiên của tôi trong một cửa hàng máy thực tế. Tôi đã sử dụng máy phay CNC, máy phay thủ công, máy tiện và cưa máy. Nếu tôi bắt đầu một dự án như thế này một lần nữa, tôi sẽ tạo ra tài liệu tốt hơn nhiều, vì vậy tôi có thể tìm ra cái quái gì tôi đã làm một năm sau đó.


1
Công việc tốt đẹp! Không có gì có giá trị như kinh nghiệm và điều quan trọng là bây giờ bạn biết cách làm một công việc tốt hơn vào lần tới.
jippie

5

Màn hình LED 4 chữ số cho Arduino

Bảng nhỏ với 4 chữ số LED 7 đoạn, được quản lý thông qua 3 chân.

Sự miêu tả

Khi tôi bắt đầu làm việc với Arduino, tôi muốn có một cách để hiển thị các giá trị được thu thập bởi các cảm biến khác nhau mà tôi đã thử nghiệm, nhưng tôi không muốn xuất các giá trị này thông qua SerialPC.

Tôi muốn có một bảng nhỏ mà tôi có thể dễ dàng sử dụng lại từ dự án này sang dự án khác và tôi muốn dành một chiếc bánh mì.

Bảng này, cùng với thư viện nhỏ của nó, hiện cho phép hiển thị số có 4 chữ số và không cung cấp bất kỳ dòng Arduino nào trong khi hiển thị (hiện tại chỉ có nguồn gốc khi giao tiếp với bảng giá trị mới để hiển thị từ bây giờ).

bảng hiển thị với quầy

Thiết kế

Thiết kế khá đơn giản khi tôi quyết định sử dụng lại chip MAX-7219 để điều khiển màn hình LED của mình (tôi có sẵn một vài trong số chúng).

Nhờ con chip này, sơ đồ rất đơn giản, nhưng điều quan trọng là phải hiểu chính xác cách sử dụng nó; may mắn thay, bảng dữ liệu của nó là khá rõ ràng.

Thiết kế ban đầu được thực hiện trên bảng mạch và sử dụng 4 chữ số LED 7 đoạn đơn ; nhưng nó đòi hỏi quá nhiều hệ thống dây điện theo sở thích của tôi (cần kết nối các phân đoạn theo nhóm 4). Ngoài ra, trong thử nghiệm đầu tiên của tôi với các chữ số LED 7 đoạn, tôi đã chiên một cái: nó có 2 chân Ground, nhưng tôi chỉ kết nối một với GND thay vì cả hai :-(

Sau đó, tôi quyết định sử dụng màn hình phân đoạn 4x7, cực âm thông thường , với cực dương phân đoạn đã được kết nối cho 4 chữ số: đó chỉ là 4 + 8 chân!

Sơ đồ

Trong các thử nghiệm của mình, tôi đã tìm thấy một thư viện Arduino hữu ích để làm việc với MAX-7219 mà tôi quyết định sử dụng lại. Tôi đã xây dựng thư viện của riêng mình dựa trên nó, với một API rất đơn giản.

Sau khi làm bánh mì, đã đến lúc làm cho thiết kế lâu dài hơn; kể từ khi tôi có một loạt các tấm ván trên tay, tôi quyết định đi tìm nó.

Tôi đã tìm kiếm và tìm thấy một nhà thiết kế Stripboard dễ dàng cho PC mà tôi đã sử dụng để thiết kế bảng của mình.

Thiết kế ván trượt đầu tiên không được tối ưu hóa về mặt không gian và tôi quyết định không thực hiện nó:

THIẾT KẾ CHIẾN LƯỢC # 1

Sau đó, tôi đã xem xét thiết kế để tối ưu hóa chi phí và kích thước (chỉ một bảng nhỏ 50x75mm); điều đó thật dễ dàng với nhà thiết kế thoát y tôi tìm thấy trước đây:

THIẾT KẾ CHIẾN LƯỢC # 2

Khi bo mạch đã sẵn sàng, tôi quyết định kiểm tra nó bằng Arduino UNO và Cảm biến siêu âm:

HÌNH ẢNH

Nó dường như hoạt động ngoại trừ tôi thường có các giá trị hiển thị lạ, không nhất quán; Sau khi điều tra, tôi thấy đó là do tiếng ồn được kích hoạt bởi bảng hiển thị , tiếng ồn đã can thiệp vào cảm biến. Tôi chỉ cần thêm một nắp tách rời càng gần các chân cung cấp hiện tại của cảm biến càng tốt và nó hoạt động hoàn hảo (lưu ý rằng bảng hiển thị đã có nắp tách rời cho chip MAX-7219).

Danh sách các bộ phận:

  • 1 x LN5461AS: khối 7 cực âm phổ biến gồm 4 chữ số
  • 1 x MAX7219: chip điều khiển LED đa kênh
  • Hỗ trợ 1 x IC (24 chân)
  • Điện trở 1 x 22K
  • 1 x 10uF nắp điện phân
  • 1 x 100nF
  • 1 x tiêu đề pin nam (5 chân)
  • 1 x 90x50mm
  • dây, hàn ...

Phần kết luận

30 năm sau thí nghiệm điện tử cuối cùng của tôi, tôi có thể bị nhiễm virut một lần nữa với Arduino và với dự án đầu tiên này, mặc dù khá đơn giản, đã dạy tôi một số điều:

  • diễn giải các bảng dữ liệu cho các thành phần được sử dụng (MAX7219 và màn hình LED)
  • học cách sử dụng và hiệu quả với thiết kế ván trượt
  • tất cả các chân được đánh dấu GND hoặc V + nên được kết nối: bạn không chọn cái mà bạn cảm thấy muốn kết nối!
  • nếu có thứ gì đó có vẻ lạ khi bạn kiểm tra mạch của mình và bạn không hiểu tại sao: không tìm kiếm, đó phải là tiếng ồn, hãy thử thêm nắp tách rời và điều đó sẽ làm điều đó!
  • tìm hiểu cách tạo thư viện Arduino (không chỉ là bản phác thảo)

Nếu tôi bắt đầu lại dự án này ngày hôm nay, tôi sẽ:

  • cố gắng tối ưu hóa hơn nữa thiết kế ván trượt (có lẽ tôi có thể giảm kích thước thêm một chút)
  • thay thế các tiêu đề pin thẳng trên bảng bằng các tiêu đề góc phải để các dây kết nối với Arduino được nhô ra trước bảng

5

Đồng hồ treo tường kỹ thuật số với điều khiển từ xa tần số vô tuyến (RF)

Đồng hồ treo tường hiển thị 7 đoạn lớn (40x30cm / 16x12 ") với điều khiển từ xa R / F.

nhập mô tả hình ảnh ở đây

Sự miêu tả

Dự án này có đồng hồ treo tường kỹ thuật số hiển thị 7 đoạn lớn (40x30cm / 16x12 ") với điều khiển từ xa R / F. Nó có các tính năng sau:

  • Nó hiển thị thời gian và ngày hiện tại (giờ, phút, giây, ngày, tháng, năm) ở hai định dạng (giờ hoặc ngày ở dạng chữ số lớn).
  • Nó cho thấy nhiệt độ hiện tại ở ° C.
  • Có một người dùng xác định đếm ngược sẽ phát ra âm thanh báo động (gây phiền nhiễu) khi nó về không.
  • Tất cả các chức năng được điều khiển từ xa bằng điều khiển từ xa RF.
  • Có bàn phím con trỏ nhỏ để điều khiển các chức năng của nó (khi điều khiển từ xa không khả dụng).
  • Kiểm soát độ sáng độc lập cho từng dòng hiển thị.
  • Nó tiếp tục giữ chính xác thời gian hiện tại ngay cả khi tắt, nhờ vào IC đồng hồ thời gian thực được cung cấp bởi pin đồng xu.

Thiết kế

Các khía cạnh chính của dự án này là:

  • Nó hoàn toàn dựa trên vi điều khiển Arduino và AVR ATmega328.
  • Nó giữ thời gian hiện tại ngay cả khi tắt, nhờ DR1307 RTC được cung cấp bởi pin di động.
  • Các chữ số không bao giờ được ghép. Thay vào đó, mỗi chữ số có IC thanh ghi dịch chuyển nối tiếp 8 bit chuyên dụng (74HC595) giữ cho các phân đoạn được chọn độc lập với những gì được hiển thị trên các chữ số khác và MCU đang làm gì.
  • Các phân đoạn được cung cấp bởi các mảng Darlington do mức tiêu thụ hiện tại vượt quá MCU hoặc các thanh ghi thay đổi.
  • Đồng hồ được điều khiển bằng bàn phím trên bảng điều khiển và cũng bằng điều khiển từ xa RF. Giao tiếp vô tuyến được thực hiện bởi một cặp máy thu và phát vô tuyến 434 MHz rẻ tiền.
  • Dự án có thiết kế mô-đun trong đó một bộ điều khiển duy nhất có thể quản lý tối đa 12 chữ số. Bộ điều khiển cũng chấp nhận các mô-đun có thể mở rộng cho số lượng chữ số không giới hạn (số chữ số tối đa bị giới hạn bởi độ trễ thời gian do chuỗi nối của thanh ghi thay đổi và suy giảm tín hiệu đồng hồ của chúng).
  • Thiết kế hỗ trợ một số chữ số hiển thị 7 đoạn được làm sẵn hoặc chữ số tùy chỉnh được làm bằng đèn LED.

Dưới đây là sơ đồ cho bộ điều khiển và một trong các bảng 7 đoạn:

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Dưới đây là một số hình ảnh của các bảng mà tôi thiết kế, khắc và lắp ráp và điều khiển từ xa:

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Và cuối cùng, đây là hình ảnh của một phiên bản khác của đồng hồ. Trong phần này, tôi đang tự tạo màn hình 7 đoạn bằng đèn LED hình chữ nhật và các thành phần riêng biệt.

nhập mô tả hình ảnh ở đây

Phần kết luận

Dự án này đã cho tôi rất nhiều thời gian, nỗ lực và học hỏi để đi đến giai đoạn này (nó chưa bao giờ kết thúc, như tôi đã học), nhưng nó rất thú vị. Một vài điều tôi đã học được:

  1. Nghiên cứu tất cả các lib bạn sẽ sử dụng trong dự án của bạn trước khi bạn gán các chân GPIO trong bộ điều khiển của mình để tránh xung đột tiềm ẩn. Tôi đã không may mắn khi sử dụng cùng một chân PWM để điều khiển độ sáng được liên kết với bộ đếm thời gian VirtualWire, vì vậy tôi phải vá bảng để có được độ sáng và RF hoạt động cùng một lúc.

  2. Crimping KK molex và modu kết nối mất rất nhiều thời gian !!

  3. Laser cắt miếng acrylic là tương lai. Họ thêm rất nhiều chất lượng cho thiết bị ngay cả khi bạn vụng về.


Làm thế nào bạn thực hiện PCB (khắc và khoan)?
sachleen

1
@sachleen Mình dùng phương thức chuyển mực bằng ủi. Tôi in thiết kế bảng thành giấy in phun mực bằng máy in laser, sau đó tôi ủi nó lên bảng, sau đó tôi khắc bảng trong FeCl. Phải mất một thời gian để tìm đúng cài đặt giấy và máy in. Tôi sử dụng máy khoan khoan để khoan, nhưng tôi chỉ sử dụng bảng phenolic và mũi khoan tốc độ cao. Các tấm sợi thủy tinh khó hơn nhiều đối với các mũi khoan, thường đòi hỏi các mũi khoan cacbua đắt hơn và giòn hơn.
Ricardo

Nơi mà bạn có được những đèn LED? Tôi có một số trông giống hệt như vậy!
Chàng trai với chiếc mũ

1
@TheGuywithTheHat Những hình chữ nhật màu xanh lá cây? Những thứ này khá phổ biến quanh đây ở Brazil. Tôi đã nhận được những người ở một trong các cửa hàng linh kiện điện tử trực tuyến của chúng tôi. Dưới đây là một số liên kết: tại DigiKey , tại eBay . Đây là nơi tôi có chúng .
Ricardo

5

Công cụ quay ăng-ten TV

IR xoay điều khiển từ xa

Không thể rời khỏi đi văng để điều chỉnh hướng của ăng-ten TV? Và ngay cả khi bạn làm thế, đôi khi sự gần gũi của bạn với ăng-ten sẽ thay đổi việc tiếp nhận. Sẽ thật tuyệt khi có thể điều chỉnh ăng-ten từ đi văng. Sử dụng điều khiển TV.

Các thành phần

Arduino Uno, bộ thu hồng ngoại, động cơ bước w / bảng điều khiển, vòng bi ID 1 ", tay cầm lau Swiffer, hộp nhựa,

đằng sau TV Arduino w / IR nhận lên phía trước Đóng hộp và mang Tay cầm Swiffer Hai nút này không làm gì trên TV cả.

Sự miêu tả

Sử dụng một cây lau nhà Swiffer cũ làm cột ăng ten. Có một vòng bi ID 1 "từ cửa hàng trực tuyến yêu thích của tôi, mà cây lau nhà vừa vặn vào và dừng lại. Tôi khoan một lỗ vào hộp nhựa đủ lớn để tay cầm cây lau vừa khít, nhưng không phải cho vòng bi. Tôi đã khoan một hình chữ nhật lỗ vào đầu tay cầm lau để khớp với trục của động cơ bước 28BYJ-48 và nhét vật liệu vào hộp như hình minh họa. Tay cầm lau thực sự nằm trên ổ trục, và ổ trục được dán vào đầu hộp nhựa .

Đã sử dụng thư viện stepper.h để xoay động cơ từ Uno.

Tôi tách một đầu DVD không sử dụng và trục vớt đầu thu IR từ nó. Bạn có thể tách rời bất kỳ thiết bị tiêu dùng nào có điều khiển từ xa và sử dụng bộ thu IR từ thiết bị đó, nó sẽ hoạt động. Bộ thu IR sử dụng thư viện IRremote.h. Sử dụng màn hình nối tiếp, tôi đã in ra mã hex tương ứng với hai nút trên điều khiển TV mà tôi muốn sử dụng để vận hành động cơ ăng ten. Một cho quay trái, một cho phải.

Để tiết kiệm năng lượng, hãy sử dụng hàm small_stepper.motor Offer () để tắt cuộn dây sau mỗi chuyển động.

Phần kết luận

Đây là một dự án thú vị cũng hữu ích cho vợ tôi. Tôi đã không thực hiện bất kỳ gia tốc / giảm tốc nào trong chuyển động, điều này có thể tốt, đặc biệt là nếu ăng-ten có quán tính quay nhiều hơn.

Chỉnh sửa: xin lỗi về hình ảnh đi ngang! Nó nằm ngay trên máy tính của tôi, tôi không biết tại sao nó lại nằm nghiêng trên mạng.


5

Đèn gõ cửa

Một đèn bật / tắt khi bàn được gõ. Hiện đang trong giai đoạn alpha, vẫn đang tạo mẫu, nhưng tôi nghĩ đó là dự án Arduino hữu ích nhất đang tồn tại. Bao gồm máy phát điện trò đùa ... từ những trò đùa gõ cửa được ghi lại trước đó. Lưu ý: Tôi biết tôi không thể thắng trong các quy tắc, nhưng không có quy tắc nào về việc nhập ... Tôi cũng có thể thể hiện dự án của mình.

Sự miêu tả

Cho đến nay tôi đã giải thích khá nhiều về nó. Bạn gõ, và đèn bật và tắt. Tôi hiện đang ở trên Breadboard. Tôi đang sử dụng một yếu tố piezo để phát hiện tiếng gõ cửa có rung. Song song, tôi có điện trở 1 megaohm để bảo vệ Arduino Uno SMD của tôi.

Tôi nghĩ về thiết kế này sau khi gần như gõ (haha trừng phạt) đèn của tôi khỏi bàn trong khi tìm kiếm công tắc bật tắt nhỏ. Tôi không chính xác ... cũng adroit . Thật tuyệt khi chỉ cần gõ bàn và sau đó có ánh sáng. Tôi cũng đang sử dụng SSR Power Switch Tail (rơle trạng thái rắn: không có tiếng ồn) để điều khiển nó bằng hai chân Arduino của tôi.

Thiết kế

tấm ảnh Hình ảnh được chụp bằng webcam treo trên màn hình ... eek!

Sơ đồ Fritzing

Các thành phần được sử dụng để xây dựng dự án:

  • Phần tử Piezo ($ 3,00 USD)
  • Điện trở Megaohm (0,30 USD mỗi cái trong 5pk)
  • Arduino Uno SMD (trên tay)
  • Power Switch Tail SSR (~ $ 25,00 USD với tàu, nhưng đã có trong tay nên không mất phí)
  • Breadboard và jumper / dây thêm (~ $ 5,00 USD, nhưng đã có trong tay nên không mất phí)

Chi phí cho tôi: $ 3,30 USD + $ 0,02 USD (thuế) == Chỉ $ 3,32!

Phần kết luận

Nhìn chung, nó là một dự án đơn giản nhưng nó thực sự hữu ích. Đó là một cuộc đấu tranh với các dự án Arduino của tôi: tôi có thể xây dựng thứ gì đó mà tôi thực sự sẽ sử dụng không? Nháy đèn LED không chính xác sẽ giúp bạn trong cuộc sống. Đó là niềm vui, nhưng đó là về nó.

Vấn đề lớn nhất mà tôi gặp phải (và vẫn còn làm) là không nhận được tín hiệu đủ mạnh. Tôi đã học được rất nhiều về tín hiệu điện: Tôi đã tìm ra cách tìm "cực đại" của xung và không chỉ đọc pin ở một khoảng thời gian ngẫu nhiên và bỏ lỡ điện áp cao hơn. Tôi sẽ cố gắng để có được yếu tố piezo nhạy cảm hơn. Một cái lớn hơn sẽ giúp. Tôi đang cố gắng sửa đổi mạch của mình để không giới hạn điện áp nhiều, nhưng bảo vệ Arduino. Một số loại cầu chì sẽ giúp trong tình huống này. Tôi cũng đang chơi xung quanh với các giá trị điện trở. Nó sẽ giúp rất nhiều để có một phạm vi cho việc này, nhưng tôi đoán là không ...: P

Sau khi tôi hoàn thiện mạch điện, tôi sẽ tiếp tục sử dụng PCB trên ATtiny ... và thậm chí có thể phát triển một số bộ dụng cụ. Tôi sẽ cố gắng công bố những phát hiện của mình về cách làm cho phần tử trở nên nhạy cảm hơn mà không gây nguy hiểm cho hội đồng quản trị của tôi trong quá trình này.

Cập nhật trạng thái: Gần đây tôi rất bận rộn. Tôi sẽ đặt một diode zener (4.3V) ở đây trong một hoặc hai tuần để loại bỏ điện trở megaohm để tránh làm loãng tín hiệu trong khi bảo vệ chip. Tôi có thể xây dựng một amp điện áp đơn giản ở đây nếu cần (bên cạnh zener) để cố gắng làm cho cảm biến nhạy hơn.


1
Di chuyển đến một cái gì đó có vi sai và thu được ADC sẽ giúp bạn có được độ nhạy cao hơn từ piezo. Và có thể sử dụng TVS thay vì điện trở.
Ignacio Vazquez-Abrams

Bạn đang sử dụng ADC để phát hiện hay làm gián đoạn? Bất kỳ ý tưởng về mức điện áp cực đại mà bạn muốn phát hiện?
jippie

@jipie ADC để phát hiện, tôi có mã khá hiệu quả: nó lặp và tìm đỉnh trong mỗi 250 ms. Không chậm trễ. Đối với đỉnh điểm, IIRC là khoảng 14/1024 (quá lười để chuyển đổi ngay bây giờ). Tôi cũng nên nhìn vào chân ISF, nhưng có thể có vấn đề với việc nếu nó bị rơi, nó có thể tạo ra ~ 9V.
Chim cánh cụt vô danh

Hãy thử điều này như bộ đệm đầu vào. Các bóng bán dẫn hoạt động như một bộ phát hiện chỉnh lưu / đỉnh sóng nửa khuếch đại hiện tại. Không cần phải phát hiện một đỉnh đơn với ADC, bóng bán dẫn / tụ điện sẽ tạo ra nó cho bạn. Khi được cấu hình, điện áp đầu ra có độ lệch DC 2.2V, nhưng bạn có thể thay đổi điều đó thành bất cứ điều gì bạn thích bằng cách thay đổi bộ chia điện trở. Bằng cách đó, bạn có thể làm cho đầu vào nhạy hơn nữa bằng cách chọn tham chiếu bandgap 1V1 hoặc 2V56. Điện trở 10M đảm bảo tụ phóng điện trong khoảng một giây và trong thực tế DMM của tôi.
jippie

4

Kiểm duyệt viên

- Tìm hiểu cách tạo cảm biến không dây giá rẻ của riêng bạn và kết nối chúng với thế giới.

http://www.mysensors.org

Chúng tôi gọi nó là "Internet của những thứ của bạn"

Sự miêu tả

Chúng tôi đã kết hợp nền tảng Arduino với một bộ thu phát vô tuyến nhỏ thành một thế giới linh hoạt, vui nhộn với các cảm biến không dây giá rẻ.

Tất cả các chi tiết khó chịu về giao tiếp cảm biến đã được đóng gói vào một thư viện phần mềm tiện lợi để bạn không phải lo lắng về chúng.

Nó dễ dàng như 1, 2, 3. Arduino + NRF24L01 +

  1. Kết nối các bộ phận. 2. Tải về các ví dụ được cung cấp. 3. Bắt đầu đo lường và kiểm soát thế giới!

Đọc thêm về cách mạng cảm biến tự động được hình thành bằng Thư viện Arduino của chúng tôi trên trang web. Về cơ bản nó tạo thành một mạng sao và có thể đạt tới hàng trăm mét.

Mạng cảm biến

Ở giữa, bạn đặt một cổng Arduion hoặc Raspberry thu thập thông tin từ các cảm biến của bạn. Bộ điều khiển quả mâm xôi

Cổng Arduino

Thiết kế và sơ đồ

Đây là một trong những cảm biến chuyển động nguyên mẫu mà tôi tạo ra để điều khiển ánh sáng sân vườn bên ngoài nhà tôi. Trạng thái chuyển động được gửi đến bộ điều khiển HA của tôi bật đèn (qua sóng z) khi phát hiện chuyển động. Một cảm biến ánh sáng (không có trong hình ảnh) đảm bảo chỉ bật đèn vào ban đêm.
nhập mô tả hình ảnh ở đây

Bạn sẽ tìm thấy tất cả các hướng dẫn xây dựng tại đây: http://www.mysensors.org/build/

Trang web của Othe cũng có các hướng dẫn xây dựng dễ thực hiện cho một loạt các cảm biến và bộ truyền động không dây khác. Dưới đây là một số ví dụ:

Cảm biến khoảng cách, Cảm biến chuyển động, Thiết bị truyền động Rơle, Độ ẩm, Ánh sáng, Áp suất, Mưa, Nhiệt độ, ...

Phần kết luận

Dự án vẫn còn trong các khối khởi đầu và chúng tôi hy vọng sẽ cung cấp các plugin cho danh sách các bộ điều khiển Tự động hóa gia đình đang phát triển. Điều đầu tiên trong danh sách của chúng tôi ngay bây giờ là cung cấp bộ điều khiển DIY cung cấp lưu trữ đám mây miễn phí cho dữ liệu cảm biến của bạn.

xin chào

Hẹn gặp lại @ mysensors.org

/ Henrik Ekblad (người tạo ra Thư viện Arduino mã nguồn mở được sử dụng để liên lạc giữa các cảm biến)

  • CẬP NHẬT 27/3. Làm cho ví dụ cụ thể hơn và thêm liên kết của tôi với dự án nguồn mở.

4
Chào mừng bạn đến với Arduino.SE! Tôi sợ trang web của bạn không phù hợp với tiêu chí giới thiệu của chúng tôi. Chúng tôi đang tìm kiếm các dự án cụ thể thể hiện một ứng dụng thực tế của Arduino (như đã thấy trong các ví dụ khác ở đây). Có lẽ bạn có thể cung cấp một ví dụ về một dự án cảm biến bạn đã xây dựng?
Peter Bloomfield

Ok, có lẽ tôi đang thiếu điểm;). "Dự án cụ thể" ở đây là chúng tôi sử dụng Arduinos để tạo mạng cảm biến không dây tự phục hồi. Để lưu trữ điều này, chúng tôi đã tạo một thư viện Arduino mã nguồn mở cho bộ thu phát NRF24L01 +.
hek 26/03 '

4
Điều này nghe giống như một quảng cáo hơn là một dự án. Thay đổi âm báo, có thể làm cho nó cụ thể hơn một chút cho một ứng dụng. Tôi nghi ngờ đó là lý do tại sao bạn có một phiếu bầu xuống.
Cyberg Ribbon

Chào mừng đến với Ard.SE! Dựa trên trang web hồ sơ của bạn, bạn làm việc tại hoặc sở hữu trang web đang được quảng bá ở trên. Chính sách SE là bạn tiết lộ điều này trong câu trả lời của bạn. Vui lòng chỉnh sửa nó để bao gồm đó. Ngoài ra, bạn có thể thêm một ví dụ về việc sử dụng này?
Chim cánh cụt vô danh

Tôi đã phát triển thư viện MySensors (Nguồn mở) này trong 6 tháng qua khi rảnh rỗi. Để giúp những người khác sử dụng thư viện đúng cách, chúng tôi (nhiều người đã tham gia dự án trong vài tháng qua) đã ra mắt trang hướng dẫn xây dựng chỉ 3 ngày trước. Tôi nghĩ rằng nó sẽ là một dự án Arduino tốt để nhận phản hồi trong "Showcase Project" này. Tôi không nghĩ rằng tôi đã cố gắng che giấu sự tham gia của tôi vào dự án bằng mọi cách và tôi xin lỗi nếu mô tả được coi là một quảng cáo. Chúng tôi rất vui về dự án!
Hek

4

Hộp nối tiếp

Một màn hình nối tiếp di động trong một hộp

Sự miêu tả

Đôi khi nó hữu ích cho một thiết bị (Arduino hoặc cách khác) để xuất một số thông tin gỡ lỗi qua nối tiếp. Thật tuyệt nếu bạn có một máy tính trên tay với đầu vào nối tiếp phù hợp. Tuy nhiên, điều đó không phải lúc nào cũng đúng vì nhiều lý do.

Dự án này là nỗ lực của tôi để giải quyết vấn đề đó bằng cách tạo ra một màn hình nối tiếp chạy bằng Arduino, mà tôi có thể kết nối với các thiết bị khác trong lĩnh vực này.

Theo mặc định, nó sẽ chỉ hiển thị văn bản ở định dạng cuộn lại; tức là văn bản xuất hiện ở dòng dưới cùng và mọi thứ cuộn lên để nhường chỗ khi có nhiều hơn. Điều này có nghĩa là nó sẽ hoạt động rất gọn gàng với tất cả các loại thiết bị chung. Tuy nhiên, cũng có thể sử dụng các chuỗi thoát để điều khiển màn hình chính xác hơn, để các thiết bị cũng có thể được lập trình cụ thể để tận dụng các khả năng của nó.

Thiết kế

Thiết kế bao gồm một bộ gồm 4 màn hình LCD chữ và số (mỗi ký tự 16x2), được căn chỉnh trong một hộp giống như thế này:

Mockup 3d của thiết kế Hộp nối tiếp

Các màn hình là của Epson EAX16027AR, không may không tương thích với trình điều khiển tiêu chuẩn Hitachi HD44780. Như vậy, tôi đã phải viết thư viện của riêng mình cho họ.

Tôi đã chọn sử dụng những màn hình này (chứ không phải là một màn hình lớn) chủ yếu vì tôi chỉ để chúng nằm xung quanh và muốn làm điều gì đó thú vị với chúng. Tôi cũng nghĩ rằng nó sẽ khá tiện dụng để có thể điều khiển từng màn hình một cách độc lập cho một số ứng dụng (ví dụ: hiển thị thông tin khác nhau trên mỗi màn hình).

Về mặt thiết kế mạch, các màn hình được kết nối song song, với các chân chọn chip được sử dụng để hướng dữ liệu / lệnh tới từng lệnh khi cần.

ATMega328 sẽ là bộ não của đơn vị cuối cùng, với dữ liệu nối tiếp đến từ dòng cấp độ TTL (để kết nối trực tiếp với TX của MCU tương tự) hoặc tùy chọn từ ổ cắm D-phụ 9 chân RS232 (để kết nối với hệ thống khác nhau). Thiết bị cũng sẽ có nút xoay tương phản, nút để xóa màn hình và nút để bắt đầu chế độ tự kiểm tra. Trong tương lai, tôi cũng muốn thêm các nút cho phép người dùng chuyển qua lịch sử cuộn lại.

Dưới đây là cách bố trí mạch sơ bộ (tôi gặp rất nhiều khó khăn khi Fritzing chơi độc đáo vì một số lý do!). Nó bao gồm một thanh ghi dịch chuyển SIPO 8 bit để điều khiển các dòng dữ liệu của LCD, được hiển thị bằng màu xanh lá cây. Bạn cũng có thể thấy các dòng chọn chip màu cam.

Bố trí mạch sơ bộ

Hiện tại, dự án vẫn đang ở giai đoạn nguyên mẫu hoạt động, được điều khiển từ một bảng Uno (bản sao). Dưới đây, bạn có thể thấy một bức ảnh của nó hoạt động, hiển thị văn bản được truyền qua nối tiếp từ máy tính của tôi.

Nguyên mẫu hoạt động

Mã nguồn

Tôi đang cung cấp thư viện LCD của mình trên GitHub ở liên kết bên dưới. Xin lưu ý rằng đó là ở giai đoạn đầu phát triển. Trong tương lai gần, tôi dự định làm cho nó giống với thư viện LiquidCstall cốt lõi hơn để dễ dàng chuyển đổi giữa hai thư viện hơn.

Bạn có thể tìm thấy một số mã cơ bản cho nguyên mẫu Hộp nối tiếp của tôi trong thư mục "ví dụ".

Phần kết luận

Tôi nghĩ rằng dự án đang diễn ra rất độc đáo, và tôi đã vô cùng hài lòng khi làm cho nguyên mẫu hoạt động. Thử thách chính của tôi là lắp toàn bộ vào hộp. Tôi đã bắt đầu cắt các lỗ phù hợp cho màn hình, nhưng tôi không có nhiều kinh nghiệm về loại điều đó, và tôi thấy khá khó khăn để sắp xếp mọi thứ.

Cuối cùng tôi sẽ đến đó. Nó chỉ có thể trông không đẹp lắm khi tôi hoàn thành! :)


3

Bộ điều khiển nhiệt

Bạn biết nó hoạt động như thế nào - bạn cài đặt hệ thống sưởi vào một thời điểm nhất định và bạn làm việc muộn bao nhiêu ngày và nó đã hết thời gian trong nhiều giờ, hoặc bạn đi trong vài ngày và quên tắt nó? Hay dịp hiếm hoi bạn về nhà sớm và nhà lạnh? Tôi quyết định rằng cách đơn giản để giải quyết vấn đề này là chế tạo một thiết bị cho phép tôi bật hoặc tắt hệ thống sưởi bằng tin nhắn văn bản / tin nhắn. Nó sẽ được bổ sung vào hệ thống kiểm soát hiện có để không làm mất tính linh hoạt có thể cung cấp.

Dự án bao gồm một vài phần chính: bản sao Arduino Uno, tấm khiên Seeedstudio GSM, cảm biến nhiệt độ DHT22 và SSR 25 amp.

Làm thế nào nó hoạt động:

Các điều khiển sưởi hiện có được đặt thành 'Tắt' và bộ điều khiển mới được nối dây để ghi đè lên chúng. Uno được lập trình để trả lời ba thông báo khác nhau - Bật, Tắt và Truy vấn. Trong trường hợp sau, thiết bị sẽ đọc DHT22 và trả lời người gửi với nhiệt độ hiện tại và trạng thái của thiết bị (bật hoặc tắt). Nếu lệnh là Bật hoặc Tắt thì nó sẽ phản hồi với xác nhận hành động được thực hiện. Một khi tin nhắn đã được hành động khi chúng bị xóa; mọi tin nhắn không phù hợp với cấu trúc tin nhắn cụ thể sẽ được để lại trong bộ nhớ thẻ SIM và có thể được kiểm tra sau nếu muốn.

Nguồn điện cho thiết bị được cung cấp bởi nguồn điện chế độ chuyển đổi ba amp ba volt. Vì các chân nguồn trên Arduino chỉ đơn giản là để lộ bus 5v bên trong của bo mạch, tôi quyết định cấp nguồn cho bộ đồng phục thông qua những cái này và cấu hình tấm khiên để lấy năng lượng từ Arduino.

Các đơn vị có ba đèn LED trạng thái. Một màu xanh lá cây để chỉ ra rằng có sức mạnh, một màu xanh để chỉ ra rằng bảng GSM là 'sống' và một màu đỏ để biểu thị trạng thái của hệ thống sưởi. Đây là ngoài các đèn LED trạng thái được cung cấp trên Arduino và lá chắn. Ngoài ra còn có một công tắc nút nhấn cho phép điều khiển thủ công hệ thống sưởi, với một tụ điện 100nF để xử lý việc gỡ lỗi.

Kế tiếp:

Phần lớn mã dựa vào độ trễ cũ () để cung cấp cho khiên đủ thời gian để thực hiện các hành động của nó. Tôi dự định cải thiện mã để nó chờ xác nhận từ tấm khiên thay vì cho rằng nó đã thực hiện những gì nó đã nói trong thời gian được phân bổ! Tôi cũng sẽ thêm một tính năng 'vẫn còn sống' - tại các khoảng thời gian cố định tắt đèn LED màu xanh, gửi lệnh AT đến tấm chắn và trên một xác nhận bật lại đèn LED. Tấm khiên nằm dưới sự kiểm soát của phần mềm, vì vậy nếu nó không phản hồi thì hãy tắt và bật lại.

Toàn bộ trang phục sẽ được gắn trong một bao vây phù hợp và được gắn liền kề với bộ điều khiển hiện có. Tôi có một công tắc nút nhấn được chiếu sáng bên trong mà tôi sẽ sử dụng thay vì công tắc riêng biệt và đèn LED màu đỏ để xử lý ghi đè.

Về lâu dài, tôi dự định thêm RTC, LCD 20 x 4 và các nút ấn bổ sung để cho phép thiết bị được lập trình và hoạt động như một công tắc thời gian.

Tạo mẫu đã bắt đầu!

Phần kết luận.

Có một cái gì đó hơi suy đồi về việc thức dậy vào một ngày nghỉ mùa đông lạnh lẽo, gửi tin nhắn văn bản / tin nhắn để bật máy sưởi, và lăn qua lăn lại và ngủ một tiếng! Và khi bạn nhận ra rằng bạn đã không tắt nó vào một đêm, bạn có thể làm như vậy từ sự thoải mái trên giường của bạn!

Hình ảnh điều khiển 1 Hình ảnh điều khiển 2

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.