Mục lục:

Phần cứng mở cửa nhà để xe Raspberry Pi Zero: 10 bước
Phần cứng mở cửa nhà để xe Raspberry Pi Zero: 10 bước

Video: Phần cứng mở cửa nhà để xe Raspberry Pi Zero: 10 bước

Video: Phần cứng mở cửa nhà để xe Raspberry Pi Zero: 10 bước
Video: Raspberry Pi Zero 2 W và một chiếc case xịn sò 2024, Tháng mười một
Anonim
Phần cứng mở cửa nhà để xe Raspberry Pi Zero
Phần cứng mở cửa nhà để xe Raspberry Pi Zero

Một trong những nguồn cảm hứng cho dự án này là tài liệu hướng dẫn tuyệt vời tại Raspberry Pi 3 Garage Door Opener, cùng với một số thiết bị khác được tìm thấy trên Internet. Không phải là một người dày dạn kinh nghiệm về điện tử, tôi đã thực hiện rất nhiều nghiên cứu bổ sung về các cách giao tiếp với Raspberry Pi và học được rất nhiều về tầm quan trọng của điện trở với bóng đèn LED và với tất cả hệ thống dây điện của GPIO. Tôi cũng đã tìm hiểu về lợi ích của các mạch phần cứng kéo lên và kéo xuống so với chức năng Pi tích hợp sẵn.

Vì dự án cửa nhà để xe này thực sự là một quy trình gồm nhiều phần bao gồm phần cứng, phần mềm Pi và cài đặt với (các) thiết bị mở cửa nhà để xe của bạn, tôi nghĩ trước tiên tôi sẽ tập trung vào phần cứng Pi, vì nó cần thiết cho mọi bước khác.

Cách tiếp cận của tôi là rất cơ bản, đóng vai trò như một bản tóm tắt những gì tôi đã học để có thể hoàn thiện phần cứng. Nó sẽ bắt đầu với một số thông tin, và sau đó chúng tôi sẽ xây dựng các mạch trên một breadboard. Mỗi bước sẽ tinh chỉnh thiết kế và kiến thức của chúng tôi, đỉnh cao là xây dựng một giải pháp phần cứng lâu dài để giao tiếp Pi với một rơ le và cảm biến sậy.

Ngoài ra, không giống như một số dự án khác, tôi quyết định sử dụng Raspberry Pi Zero W, cái mà tôi đã bán cách đây một thời gian nhưng vẫn chưa sử dụng trên bàn làm việc. Ưu điểm là, trong khi tạo mẫu, nếu tôi làm hỏng bất kỳ mạch GPIO nào thì nó rẻ và dễ thay thế và giữ nguyên mẫu. Nhược điểm là nó chỉ có bộ xử lý ARMv6 nên một số thứ, chẳng hạn như Java, sẽ không thể sử dụng được.

Điều khác tôi quyết định làm là tạo bảng bổ trợ của riêng tôi cho mạch điện, vì vậy tôi có cần thay đổi hoặc thay thế Pi của tôi không, miễn là các sơ đồ chân giống nhau, bảng mạch phải dễ dàng được cắm vào Pi mới.. Điều này hy vọng sẽ giảm thiểu tổ chuột của hệ thống dây điện.

Các giả định của tôi là:

  • Bạn thoải mái hàn
  • Bạn đã biết cách sử dụng các lệnh đầu cuối cơ bản trên Raspberry Pi
  • Bạn đang sử dụng Raspbian Buster hoặc mới hơn.
  • Bạn có một số giao diện với dòng lệnh Pi; với màn hình chuyên dụng, bàn phím, v.v. VÀ / HOẶC sử dụng SSH.
  • Bạn đã quen với khái niệm cơ bản về thiết kế mạch điện; Ví dụ, bạn biết sự khác biệt giữa nguồn điện và mặt đất và bạn hiểu khái niệm ngắn mạch. Nếu bạn có thể đặt một ổ cắm mới trong nhà của mình, bạn sẽ có thể làm theo.

Quân nhu

Tùy thuộc vào mức độ tận tâm của bạn đối với dự án này, bạn có thể bắt đầu chỉ với những thứ cần thiết ở mỗi bước và bắt đầu từ đó. Rất nhiều bộ phận này có sẵn tại cửa hàng điện tử hoặc cửa hàng DIY / Maker tại địa phương của bạn, nhưng tôi đã bao gồm các liên kết Amazon để cải thiện mô tả.

  • MakerSpot RPi Raspberry Pi Zero W Protoboard (để tạo HAT cuối cùng cho Pi)
  • Mô-đun chuyển tiếp 2 kênh DC 5V (nhận 1 kênh nếu bạn có một cửa, 2 cho 2 cửa, v.v.)
  • Công tắc cửa trên cao, thường mở (KHÔNG) (Nếu tại thời điểm này bạn chỉ đang tạo mẫu và muốn sử dụng một số công tắc sậy giá rẻ để bắt đầu, thì tốt thôi)
  • Gói Bộ công cụ Vui vẻ Điện tử (cái này chứa tất cả các điện trở tôi cần, cùng với một bảng mạch và bộ nguồn để giúp tạo nguyên mẫu và thử nghiệm và học hỏi trước khi tôi làm bảng vĩnh viễn). Nếu bạn đã có tất cả những thứ này, hãy đảm bảo rằng bạn có sẵn một vài điện trở 10K, 1K và 330 ohm.
  • Breadboard Jumper Wires (bất kỳ sẽ làm được)
  • Hàn sắt với đầu nhỏ
  • Hàn lõi nhựa thông
  • Chất tẩy rửa đầu sắt hàn
  • Nguồn điện 9v dự phòng (để cấp nguồn cho breadboard)
  • Bảng tạo mẫu giá rẻ cho thực hành hàn (tùy chọn)
  • Chức năng Raspberry Pi Zero hoặc Pi do bạn lựa chọn
  • Các chân tiêu đề cho Raspberry Pi (nếu của bạn chưa có tiêu đề trên đó)
  • Tiêu đề xếp chồng để sử dụng trên HAT protoboard.
  • Kìm mũi kim nhỏ
  • Bộ tuốc nơ vít của Jeweler
  • Máy cắt bên nhỏ (để cắt dây sau khi hàn)
  • Cái nhíp
  • Một số dây khổ nhỏ (tôi thích lõi rắn hơn) để sử dụng trên protoboard
  • Một chút silicone (nếu bạn chọn sử dụng đèn LED gắn trên bề mặt 1,8mm thay vì đèn LED được cung cấp trong gói bộ)
  • Tôi thấy rằng một chiếc đèn lúp rất hữu ích để xem công việc hàn nhỏ

Bước 1: Giới thiệu về Raspberry Pi GPIO

Giao diện chính mà chúng ta sẽ sử dụng với Raspberry Pi là GPIO (General Purpose Input / Output).

Tìm sơ đồ chân thích hợp cho Pi của bạn tại đây. Hướng dẫn này sẽ tập trung vào Pi Zero W v1.1.

Chúng tôi sẽ chỉ sử dụng các chân GPIO màu xanh lá cây, tránh các chân SDA, SCL, MOSI, MISO, v.v. (Tôi phát hiện ra rằng một số chân GPIO có mục đích đặc biệt, một trong những lợi ích của việc tạo mẫu trên bảng mạch khung, vì vậy tôi đã mắc kẹt vào các chân GPIO 17 (pin # 11), 27 (pin # 13) và 12 (# 32) như chúng vốn có ở những vị trí tốt cho breadboard của tôi.

Các chân GPIO được thiết kế để hoạt động như bộ chuyển mạch kỹ thuật số (nhị phân); chúng tồn tại một cách hợp lý dưới dạng một trong hai trạng thái: 1 hoặc không. Các trạng thái này phụ thuộc vào việc chân cắm cung cấp hoặc nhận điện áp trên một ngưỡng cụ thể (1) hoặc cung cấp hoặc nhận điện áp dưới một ngưỡng cụ thể. (Chúng ta sẽ nói về các ngưỡng sau.)

Điều quan trọng cần lưu ý là, trong khi Raspberry Pi có thể cung cấp cả 5V và 3.3V (3V3), các chân GPIO hoạt động bằng cách sử dụng tối đa 3.3V. Hơn thế nữa và bạn làm hỏng GPIO và có thể là toàn bộ bộ điều khiển. (Đây là lý do tại sao chúng tôi tạo mẫu trên breadboard và sử dụng Pi rẻ nhất có thể!)

Trạng thái của các chân có thể được điều khiển bằng phần mềm (đầu ra) hoặc bởi các thiết bị khác cấp nguồn ở trạng thái (đầu vào).

Hãy thử sử dụng một số lệnh SYSFS cơ bản. Tôi không chắc liệu điều này có yêu cầu WiringPi hay không, nhưng nếu bạn gặp sự cố, bạn có thể muốn cài đặt nó nếu bạn đang sử dụng hình ảnh Raspbian tối thiểu.

Đầu tiên, chúng ta hãy tự cấp cho mình quyền truy cập vào GPIO 17:

sudo echo "17"> / sys / class / gpio / export

Bây giờ hãy kiểm tra giá trị của GPIO:

sudo cat / sys / class / gpio / gpio17 / value

Giá trị phải bằng không.

Tại thời điểm này, GPIO không biết đó là đầu vào hay đầu ra. Như vậy, nếu bạn cố gắng thao tác giá trị GPIO, bạn sẽ nhận được "lỗi ghi: Hoạt động không được phép". Vì vậy, hãy chỉ cho biết chân nó là đầu ra:

sudo echo "out"> / sys / class / gpio / gpio17 / direction

Và bây giờ hãy đặt giá trị thành 1:

sudo echo "1"> / sys / class / gpio / gpio17 / value

Kiểm tra lại giá trị để xem… và giá trị phải là 1.

Xin chúc mừng, bạn vừa tạo GPIO đầu ra và thay đổi trạng thái!

Bây giờ, còn một chút nữa về nó, nhưng chúng ta hãy tìm hiểu thêm một vài điều trước.

Bước 2: Tìm hiểu về điện trở

Vì vậy, bạn có thể tra cứu điện trở trên Wikipedia, nhưng chúng có ý nghĩa gì đối với chúng ta? Chủ yếu họ bảo vệ các thành phần của chúng tôi.

Hãy nhớ khi chúng ta nói về các GPIO mà chúng hoạt động lên đến 3.3V? Điều đó có nghĩa là nếu bạn cung cấp một pin GPIO nhiều hơn thế, bạn có thể chiên nó. Tại sao nó quan trọng? Đôi khi có những xung đột biến nhỏ trong bất kỳ mạch nào và nếu tối đa là 3.3V, bất kỳ trục trặc nhỏ nào cũng có thể gây ra sự cố. Hoạt động ở điện áp tối đa là một đề xuất rủi ro.

Điều này đặc biệt đúng đối với đèn LED. Một đèn LED sẽ sử dụng nhiều điện năng nhất có thể. Cuối cùng thì đèn LED sẽ bị cháy, nhưng dòng điện đáng kể có thể sử dụng hết công suất hiện có trong mạch, khiến nó hoạt động sai.

Ví dụ: điều gì sẽ xảy ra nếu bạn đặt một cái nĩa vào cả hai ngạnh của ổ cắm điện? Có rất ít hoặc không có điện trở, và bạn sẽ làm nổ cầu dao. (Và có thể làm tổn thương chính bạn trong quá trình này.) Tại sao máy nướng bánh mì không làm điều này? Bởi vì các phần tử đốt nóng của nó cung cấp điện trở, và như vậy không hút toàn bộ tải của mạch.

Vậy làm cách nào để điều này không xảy ra với đèn LED? Bằng cách giới hạn lượng dòng điện được sử dụng để điều khiển đèn LED bằng cách sử dụng điện trở.

Nhưng điện trở cỡ nào? Vâng, tôi đã đọc một vài bài báo trên web và cuối cùng đã giải quyết trên một điện trở 330Ω cho 3,3V với một đèn LED. Bạn có thể đọc tất cả các phép tính của họ và tự tìm ra nó, nhưng tôi đã thử nghiệm một vài phép tính trên breadboard và 330 hoạt động tốt. Một tài liệu tham khảo mà tôi đã kiểm tra là trên diễn đàn Raspberry Pi, nhưng tìm kiếm trên Google sẽ phát hiện ra nhiều tài liệu khác.

Tương tự như vậy, các chân GPIO của Pi cần được bảo vệ khỏi quá áp. Hãy nhớ cách tôi đã nói rằng họ sử dụng LÊN ĐẾN 3.3V? Chà, bớt đi một chút sẽ không đau đâu. Hầu hết các dự án sử dụng điện trở 1KΩ và tôi cũng làm như vậy. Một lần nữa, bạn có thể tự tính toán điều này nhưng đây là một lựa chọn rất phổ biến. Một lần nữa, các diễn đàn Raspberry Pi cung cấp một số thông tin.

Nếu bạn không hiểu điều này hoàn toàn, hãy đọc thêm. Hoặc chỉ cần làm theo hướng dẫn. Tùy theo cái nào phù hợp với bạn.

Nhiều điện trở được dán nhãn trong bao bì nhưng một khi bạn tháo chúng ra, làm thế nào bạn có thể phân biệt chúng? Các sọc màu nhỏ trên điện trở có thể cho bạn biết.

Tiếp theo, chúng tôi sẽ đấu dây một đèn LED đơn giản trên bảng mạch có nguồn điện để bắt đầu mọi thứ.

Bước 3: Đi dây đèn LED

Đi dây đèn LED
Đi dây đèn LED

Bước đầu tiên là đấu dây một đèn LED trên breadboard. Khi chúng tôi làm cho nó hoạt động an toàn, chúng tôi sẽ kết nối nó với Raspberry Pi và điều khiển nó từ chân GPIO.

Hy vọng rằng breadboard của bạn đi kèm với một nguồn điện cho 3.3v. Nếu không, bạn có thể nối dây mọi thứ và kết nối trực tiếp với Pi.

Tìm một đèn LED và nối nó vào bảng mạch điện như được hiển thị bằng cách sử dụng một điện trở 330Ω. Chân dài hơn của đèn LED là cực dương, chân ngắn hơn là cực âm. Cực dương kết nối với nguồn 3,3V trong khi cực âm kết nối trở lại đất. Điện trở có thể ở trước đèn LED; không quan trọng. Màu dây tiêu chuẩn là:

  • Đỏ = 5V
  • Cam = 3,3V
  • Đen = mặt đất

Khi bạn đã nối dây và cấp nguồn cho breadboard đó, đèn LED sẽ sáng. Đừng tiếp tục trừ khi bạn làm việc này.

Bước 4: Kết nối đèn LED với GPIO

Kết nối đèn LED với GPIO
Kết nối đèn LED với GPIO

Vì vậy, bây giờ chúng ta có một đèn LED hoạt động với một điện trở. Bây giờ đã đến lúc kết nối đèn LED đó với Raspberry Pi. Mục tiêu của chúng tôi là tạo GPIO đầu ra và kết nối GPIO đó với đèn LED để khi chúng tôi BẬT GPIO, đèn LED sẽ sáng. Ngược lại, khi chúng ta TẮT GPIO, đèn LED sẽ tắt. (Điều này sẽ được sử dụng sau này làm mạch "nhấn" nút để mở cửa nhà để xe.)

Tháo nguồn khỏi breadboard và kết nối Pi như hình minh họa. (Tốt nhất là làm điều này trong khi Pi cũng bị sập nguồn.) Chúng tôi đã kết nối nguồn cung cấp 3.3V từ GPIO 17 và mặt đất với một trong các chân nối đất.

Bây giờ khởi động Pi và đèn LED sẽ tắt. Thực hiện các lệnh tương tự mà chúng ta đã làm trước đây để thiết lập chân GPIO và xuất ra giá trị:

sudo echo "17"> / sys / class / gpio / export

sudo echo "out"> / sys / class / gpio / gpio17 / direction sudo cat / sys / class / gpio / gpio17 / value

Giá trị phải bằng không.

Bây giờ hãy kích hoạt GPIO:

sudo echo "1"> / sys / class / gpio / gpio17 / value

Điều này sẽ bật đèn LED. Để tắt đèn LED, chỉ cần tắt GPIO như sau:

sudo echo "0"> / sys / class / gpio / gpio17 / value

Một trong những điều CÓ THỂ xảy ra là, với đủ nhiễu hoặc chu kỳ bật / tắt của đèn LED, bạn có thể nhận thấy rằng đèn LED vẫn hơi sáng. Có một lý do cho điều này, và chúng ta sẽ nói về điều đó trong một bước trong tương lai.

Bước 5: Sử dụng Rơ le để điều khiển đèn LED

Sử dụng rơ le để điều khiển đèn LED
Sử dụng rơ le để điều khiển đèn LED

Như đã nêu ở bước trước, đèn LED là thiết bị hỗ trợ cho "nút" cửa ga ra. Tuy nhiên, trong khi GPIO có thể cấp nguồn cho đèn LED của chúng tôi, nó không thể "nhấn" nút cửa nhà để xe của chúng tôi. Một nút bấm về cơ bản chỉ kết nối hai thiết bị đầu cuối của nút, trên thực tế, thực hiện một lần nhấn nút. Những gì bạn cần để thực hiện "nhấn" này là một rơ le.

Rơ le không hơn gì một công tắc được cấp điện bởi một thứ gì đó. Trong trường hợp này, Raspberry Pi của chúng tôi có thể ra lệnh cho rơ le "nhấn" nút cửa ga ra. Đối với nguyên mẫu của chúng tôi, Raspberry Pi sẽ ra lệnh cho rơ le bật đèn LED… để chúng tôi có thể kiểm tra mạch của mình.

Những điều chúng ta cần biết về rơ le của mình:

  • Rơ le hoạt động ở 5V. Đây là nguồn chỉ để vận hành rơ le và không được sử dụng trong bất kỳ phần nào khác của mạch.
  • Chúng tôi muốn nối dây rơ le của chúng tôi là "thường mở." Điều đó có nghĩa là rơ le vẫn mở (không kết nối hai dây, hoặc "nhấn nút", cho đến khi được kích hoạt.
  • Rơ le cụ thể này được kích hoạt khi GPIO cấp nguồn bằng không cho đầu nối 3.3V của rơ le. Thật vậy, điều này có vẻ lạc hậu. Khi 3.3V được cung cấp, rơle sẽ được giải phóng. Hãy gắn bó với chúng tôi trong dự án này và bạn sẽ thấy nó hoạt động như thế nào.
  • Hai kết nối đầu cuối chuyển tiếp hoàn toàn tách biệt với Raspberry Pi. Điều này có nghĩa là bạn có thể chuyển đổi một dây dẫn với bất kỳ dòng điện định mức nào vì nó nhận dòng điện từ nguồn điện khác. Raspberry Pi nhỏ bé đơn giản với 3.3V và 5V thực sự có thể vận hành một rơ le điều khiển điện áp lớn hơn nhiều. Đây là cách một nút nhỏ nhỏ trên bảng điều khiển của bạn có thể chạy cường độ dòng điện lớn kéo ghế sưởi.

Vậy hãy bắt đầu.

Đầu tiên, hãy gắn lại (nhưng đã tắt nguồn) bộ nguồn bên ngoài cho breadboard của bạn. Nguồn này sẽ chạy mạch LED, trong khi Raspberry Pi điều khiển rơ le.

Tiếp theo, tạo ngắt trong dòng 3.3V cấp nguồn cho đèn LED. (Với công tắc và rơ le, chúng tôi luôn muốn chuyển đổi "nóng", không phải nối đất.) Chúng được chỉ ra bằng màu cam và màu xanh lam trên sơ đồ.

Kết nối Raspberry Pi như hình minh họa với 5V cấp nguồn cho rơ le, 3.3V đóng vai trò là công tắc và nối đất trở lại Raspberry Pi. Trong ví dụ này, tôi đã kết nối 3.3V với GPIO 17. Tôi khuyên bạn nên kết nối điện trở 1KΩ với dây GPIO như hình minh họa, để bảo vệ GPIO khỏi các sự cố. (Điều này đã được đề cập trong bước Điện trở.)

Tăng sức mạnh cho breadboard và bây giờ tăng sức mạnh cho Pi của bạn. Đèn LED sẽ sáng.

Bây giờ hãy chạy các lệnh sau trên Pi:

sudo echo "17"> / sys / class / gpio / export

sudo echo "out"> / sys / class / gpio / gpio17 / direction sudo cat / sys / class / gpio / gpio17 / value

Giá trị phải bằng không.

Bây giờ hãy kích hoạt GPIO:

sudo echo "1"> / sys / class / gpio / gpio17 / value

Điều này sẽ tắt đèn LED.

Bước 6: Thêm điện trở kéo lên

Thêm một điện trở kéo lên
Thêm một điện trở kéo lên

Tại thời điểm này, tất cả các công cụ của bạn sẽ hoạt động. Nhưng có một điều chúng tôi chưa thảo luận về GPIO, và đó là điện áp "thả nổi" có thể dựa trên ngưỡng mà chúng tôi đã đề cập trước đây.

Mặc dù GPIO nói chung có hai trạng thái logic (1 và không), nó xác định các trạng thái này dựa trên việc nó có điện áp trên hay dưới ngưỡng điện áp, như chúng tôi đã đề cập trong phần GPIO. Nhưng vấn đề ở hầu hết các GPIO là tính khả dụng của điện áp "nổi"; trong trường hợp của Raspberry Pi, ở khoảng từ 0 đến 3,3V. Điều này có thể xảy ra do nhiễu hoặc do tăng / giảm điện áp trên mạch.

Chúng tôi không muốn tình huống mà rơle nút bấm cửa ga ra của chúng tôi có thể chỉ kích hoạt từ điện áp nổi. Thật vậy, chúng tôi muốn nó chỉ kích hoạt khi chúng tôi yêu cầu nó.

Các tình huống như thế này được giải quyết bằng cách sử dụng điện trở kéo lên và kéo xuống để thực thi một điện áp cụ thể và tránh điện áp nổi. Trong trường hợp của chúng tôi, chúng tôi muốn đảm bảo cung cấp điện áp để ngăn việc kích hoạt rơle. Vì vậy, chúng ta cần một điện trở kéo lên để đưa điện áp lên trên ngưỡng. (Ngưỡng là những thứ buồn cười… Tôi đã thử đọc về chúng và để xem liệu chúng có được xác định rõ và có nhiều thông tin vượt qua đầu tôi hay không, và một số có vẻ quá đơn giản. Chỉ cần nói rằng với đồng hồ vạn năng, tôi có thể thấy điều đó điện áp thấp hơn 3,3V, nhưng vì mọi thứ hoạt động như tôi đã tạo nguyên mẫu nên tôi mới tiếp tục. Số dặm của bạn có thể thay đổi và đây là lý do tại sao chúng tôi phân bổ điều này trước khi hàn sản phẩm cuối cùng của mình.)

Chắc chắn, Raspberry Pi có cả điện trở kéo lên và kéo xuống bên trong mà bạn có thể đặt trong mã hoặc khi khởi động. Tuy nhiên, nó rất dễ bị nhiễu. Mặc dù có thể sử dụng chúng, vì chúng tôi đã làm việc với các điện trở trong một mạch, nên sử dụng bên ngoài có thể có giá trị ổn định.

Quan trọng hơn, điều này tạo ra pull-up và thêm đủ điện áp mà trạng thái chân GPIO mặc định là 1 trước khi Pi khởi chạy. Hãy nhớ cách rơle của chúng tôi kích hoạt đèn LED đã sáng khi chúng tôi khởi tạo Pi lần đầu tiên cho đến khi chúng tôi tắt nó? Sử dụng pull-up ngăn không cho rơle kích hoạt khi khởi động vì đầu vào 3.3V rơle nhận điện áp đồng thời đầu vào 5V nhận điện áp. Chúng tôi cũng có thể làm điều này trong cấu hình Pi nếu chúng tôi muốn, nhưng một lần nữa, vì chúng tôi đang đi dây với điện trở, nó có vẻ ít bị tổn thương hơn với các bản cập nhật và phân phối hệ điều hành.

Các cấu hình khác nhau có thể cần các điện trở khác nhau, nhưng một điện trở 10kΩ đã hoạt động với rơ le mà tôi có. Đèn LED trên rơ le của tôi rất mờ khi khởi động, nhưng việc kéo lên đã cung cấp đủ điện áp để ngăn việc kích hoạt rơ le.

Hãy thêm một điện trở kéo lên vào mạch của chúng ta. Trong sơ đồ breadboard, tôi đã thêm một điện trở 10kΩ giữa đầu vào 3,3V trên rơle và nguồn 3,3V.

Bây giờ chúng ta có một mạch phù hợp để "nhấn" nút cửa nhà để xe; Thay thế đèn LED và điện trở 330Ω bằng các dây nút thực tế sẽ dễ dàng.

Bước 7: Cảm biến công tắc sậy

Reed Switch Sensor
Reed Switch Sensor

Thật tuyệt, chúng tôi biết mạch điện của mình trông như thế nào để kích hoạt thiết bị mở cửa nhà để xe. Tuy nhiên, sẽ không hay nếu biết cửa nhà để xe đang đóng hay đang mở? Để làm được điều đó, bạn cần ít nhất một công tắc sậy. Một số dự án đề xuất hai, nhưng cả hai đều sẽ sử dụng cùng một thiết kế mạch.

Chúng tôi đang sử dụng cấu hình công tắc sậy "thường mở" (KHÔNG). Điều đó có nghĩa là mạch của chúng ta mở cho đến khi công tắc sậy ở gần nam châm, nó sẽ đóng mạch và cho phép dòng điện chạy qua.

Sự khác biệt chính giữa thiết lập cảm biến và thiết lập rơ le là:

  • GPIO được kết nối với cảm biến sẽ phát hiện nguồn điện, vì vậy nó sẽ là GPIO đầu vào (trong khi rơle sử dụng GPIO đầu ra cung cấp điện áp)
  • Bởi vì trạng thái mặc định tồn tại là thường mở, điều đó có nghĩa là mạch của chúng ta sẽ không hoạt động. Như vậy, trạng thái GPIO phải là 0. Ngược lại với khái niệm điện trở kéo lên trên mạch rơ le, chúng ta sẽ muốn đảm bảo điện áp của chúng ta dưới ngưỡng khi mạch mở. Điều này sẽ yêu cầu một điện trở kéo xuống. Về cơ bản, điều này giống với pull-up, nhưng được kết nối với đất thay vì nguồn điện.

Giống như mạch chuyển tiếp, chúng ta sẽ nối dây mọi thứ trên bảng mạch bánh mì trước khi nối nó với Pi.

Hãy sử dụng breadboard được cấp nguồn của chúng tôi và đi dây đèn LED, điện trở 330Ω và dây nối đất. Sau đó, nối 3,3V vào một bên của công tắc sậy và một dây nối từ phía bên kia của công tắc sậy với đèn LED. (Nếu bạn có công tắc sậy hỗ trợ NO và NC, hãy sử dụng vị trí KHÔNG.) Di chuyển nam châm ra khỏi công tắc sậy và bật nguồn breadboard. Đèn LED sẽ vẫn tắt. Di chuyển nam châm về phía công tắc sậy và đèn LED sẽ sáng. Nếu nó làm ngược lại, bạn đã có dây cho NC (thường đóng)

Bước 8: Kết nối Công tắc Sậy với Pi

Kết nối Công tắc Sậy với Pi
Kết nối Công tắc Sậy với Pi

Vì vậy, bây giờ chúng ta có mạch hoạt động mà không cần Pi, chúng ta có thể tháo nguồn khỏi breadboard và chúng ta sẽ kết nối Pi.

Chúng tôi sẽ sử dụng lại GPIO17 vì chúng tôi đã biết nó ở đâu.

Giống như mạch rơ le, chúng ta sẽ bảo vệ chân GPIO bằng điện trở 1KΩ; tuy nhiên, chúng tôi sẽ sử dụng một điện trở 10kΩ nối đất để tạo ra một kéo xuống.

Khi chúng ta đã kết nối mọi thứ, hãy di chuyển nam châm ra khỏi công tắc sậy, khởi động P, i và tự vào dòng lệnh và khởi tạo GPIO, lưu ý rằng lần này chúng ta đang tạo GPIO đầu vào:

sudo echo "17"> / sys / class / gpio / export

sudo echo "in"> / sys / class / gpio / gpio17 / direction sudo cat / sys / class / gpio / gpio17 / value

Giá trị phải bằng không. Di chuyển nam châm đến công tắc sậy. Đèn LED sẽ sáng và giá trị là 1.

Thì đấy! Chúng tôi đã nối dây chuyển đổi cây sậy của mình sang Pi!

Bước 9: Đưa ra giải pháp vĩnh viễn trên Ban tạo mẫu

Đưa ra giải pháp lâu dài trên Ban tạo mẫu
Đưa ra giải pháp lâu dài trên Ban tạo mẫu
Đưa ra giải pháp lâu dài trên Ban tạo mẫu
Đưa ra giải pháp lâu dài trên Ban tạo mẫu
Đưa ra giải pháp lâu dài trên Ban tạo mẫu
Đưa ra giải pháp lâu dài trên Ban tạo mẫu
Đưa ra giải pháp lâu dài trên Ban tạo mẫu
Đưa ra giải pháp lâu dài trên Ban tạo mẫu

Bây giờ chúng ta biết mạch của chúng ta trông như thế nào, đã đến lúc hàn một phiên bản vĩnh viễn trên bảng tạo mẫu. Vì tôi đang sử dụng Pi Zero W, tôi đã thu được các bảng proto nhỏ.

Tôi nghĩ sẽ rất tốt nếu sử dụng định dạng Zero và có thể xếp chồng một hoặc nhiều bo mạch, một mô-đun bổ trợ mà Raspberry Pi gọi là HAT (Phần cứng được đính kèm trên đầu). Về mặt kỹ thuật, vì nó không có bất kỳ loại EEPROM nào và không đăng ký chính nó, nó không phải là HAT nhưng tôi phải gọi nó là một cái gì đó. Nhưng định dạng gắn kết độc đáo và loại bỏ tổ chuột của hệ thống dây điện, vì vậy điều đó thật tuyệt.

Thách thức là các bảng proto khá nhỏ, vì vậy bạn không thể lắp nhiều vào chúng. Ngoài ra, không có lỗ nào được kết nối thành hàng như các bảng proto lớn hơn. Mặc dù điều này có vẻ bất tiện, nhưng nó thực sự là một cứu cánh.

Những gì tôi nghĩ là tôi có thể tạo HAT cho mỗi cửa nhà để xe mà tôi muốn kiểm soát. Bằng cách này, bạn có thể mở rộng dự án này để phù hợp với nhu cầu của mình.

Trên bảng proto, tôi thấy rằng chỉ có đủ chỗ để tạo ba mạch:

  1. mạch chuyển tiếp
  2. mạch cảm biến
  3. mạch cảm biến thứ hai

Điều đó khá tốt cho bất kỳ dự án cửa nhà để xe nào ngoài đó.

Vì vậy, những gì tôi đã làm là sử dụng GPIO17 và 27 cho các cảm biến và GPIO12 cho rơ le. Điều thực sự thú vị về bảng proto này là bạn có thể kết nối với GPIO mà không cần chạm vào tiêu đề. Nhưng có, bạn sẽ cần phải hàn một tiêu đề xếp chồng ngoài các điện trở của bạn (và, tùy chọn, đèn LED).

Tôi đã tạo lại khá nhiều mạch mà chúng tôi đã tạo mẫu trên bảng. Bạn có thể nói rằng cách hàn của tôi không hoàn hảo nhưng nó vẫn hoạt động. (Các bảng tiếp theo sẽ tốt hơn vì tôi đã thực hành.) Tôi có một Aoyue 469 và chỉ cần một sợi tóc ở trên cài đặt 4 là nhiệt độ tốt nhất dựa trên các khuyến nghị để hàn tiêu đề GPIO.

Tôi đã sử dụng các hàng kết nối bên ngoài cho mặt đất và bên trong cho 3,3V. Và tôi đã sử dụng dây điện trở để hoạt động như một cầu nối vì chúng tôi không có các hàng kết nối. Phần còn lại tất cả đều là đường chéo và ngang bởi vì đó là cách tốt nhất tôi có thể tìm thấy để đặt chúng trên bàn cờ.

Từ L-R (nhìn vào mặt trước, phía điện trở), các chân đầu ra tôi đã thêm vào dành cho dây GPIO cảm biến, dây GPIO cảm biến thứ hai và dây GPIO rơ le. Thay vì đi dây trực tiếp đến GPIO, điều mà chúng ta có thể làm từ đầu cắm, các chân này kết nối với tất cả các điện trở của chúng ta và trong trường hợp của các cảm biến, tôi đã thêm vào một microLED. (Lưu ý rằng đèn LED nằm trong một vòng lặp hoàn toàn riêng biệt, vì vậy nếu nó bị cháy mạch vẫn hoạt động.)

Tệp được đính kèm là một tệp Fritzing, nhưng vì Guiductables đang gặp sự cố khi tải tệp lên, tôi đã phải đặt cho nó một phần mở rộng sai là "txt" để nhúng nó.

Bước 10: Tham khảo

Dự án mở cửa nhà để xe Raspberry Pi (nguồn cảm hứng)

Hướng dẫn của Idiot về công cụ mở cửa nhà để xe Raspberry Pi

Dụng cụ mở cửa nhà để xe cho iPhone hoặc Android

Tôi có nên sử dụng một điện trở hay không?

Sử dụng điện trở kéo lên và kéo xuống trên Raspberry Pi

Thiết lập SSH

Sơ đồ chân Raspberry Pi.

Các lệnh SYSFS

WiringPi

Điện trở và đèn LED

Bảo vệ (sic) Ghim GPIO

Máy tính và biểu đồ mã màu điện trở

Kéo lên và kéo xuống điện trở

Ngưỡng điện áp GPIO

Mức điện áp đầu vào GPIO

Điều khiển GPIO trong config.txt

Điện trở kéo lên của GPIO (sic)

Tại sao chúng ta cần điện trở kéo bên ngoài khi vi điều khiển có điện trở kéo bên trong?

Raspberry Pi HAT là gì?

Cách hàn đầu nối Raspberry Pi Zero W GPIO

Đề xuất: