Mục lục:

Bữa tiệc an toàn vào mùa hè này với một chiếc Cúp LED phản ứng cồn trong máu Arduino: 10 bước
Bữa tiệc an toàn vào mùa hè này với một chiếc Cúp LED phản ứng cồn trong máu Arduino: 10 bước

Video: Bữa tiệc an toàn vào mùa hè này với một chiếc Cúp LED phản ứng cồn trong máu Arduino: 10 bước

Video: Bữa tiệc an toàn vào mùa hè này với một chiếc Cúp LED phản ứng cồn trong máu Arduino: 10 bước
Video: Thanh niên lần đầu chưa có kinh nghiệm kiểu#funny #tiktok 2024, Tháng mười một
Anonim
Bữa tiệc an toàn trong mùa hè này với một chiếc Cúp LED phản ứng cồn trong máu Arduino
Bữa tiệc an toàn trong mùa hè này với một chiếc Cúp LED phản ứng cồn trong máu Arduino

Mức độ dự án Độ khó: Trung cấp

Những kỹ năng cần thiết:

- Đọc và sao chép một sơ đồ

- Hàn nếu bạn chọn không mua các bộ phận đã được hàn sẵn

giới thiệu dự án

Tại Hoa Kỳ và trên toàn thế giới, rượu đã gây ra những mối đe dọa nghiêm trọng đến sức khỏe khi được tiêu thụ một cách thiếu trách nhiệm. Các trường hợp tử vong do lái xe dưới ảnh hưởng và tổn thương gan, cũng như các ảnh hưởng lâu dài như tổn thương não và thận, có thể là do uống rượu vô trách nhiệm. Chỉ riêng tại Hoa Kỳ, 250 tỷ đô la đã bị thiệt hại do lạm dụng rượu (NIAAA, 2010), cũng như hơn 88.000 người, khiến rượu trở thành nguyên nhân tử vong có thể phòng ngừa được thứ ba ở nước này. Câu hỏi đặt ra cho dự án này là với tư cách là các nhà sản xuất, làm thế nào chúng ta có thể giải quyết vấn đề này và đảm bảo các lễ kỷ niệm vui vẻ với rượu như tiệc tùng có thể diễn ra an toàn và vui vẻ?

Câu trả lời của tôi cho câu hỏi này là tìm cách ước tính và sau đó hình dung BAC được dự đoán của người dùng để cho phép họ hiểu rõ hơn họ đang ở trạng thái nào. Đối với dự án này, tôi đã sử dụng vi điều khiển Arduino với cảm biến mực nước, vòng đèn LED và màn hình LCD để theo dõi số lượng đồ uống một người đã uống và sau đó tìm cách ước tính nồng độ cồn trong máu (BAC) của người dùng dựa trên giới tính và cân nặng. BAC ước tính, tùy thuộc vào phạm vi của nó, xác định hoạt ảnh của vòng LED bên dưới. Các phạm vi nằm giữa bốn lĩnh vực riêng biệt: An toàn, suy yếu, say và chết người. Tôi hy vọng rằng bằng cách tạo dự án này, bạn sẽ không chỉ tạo ra một dự án Arduino có thể sử dụng được mà còn hiểu rõ hơn về cách chúng ta chuyển hóa rượu và thậm chí có thể là một số lập trình cơ bản nếu bạn chọn xem qua mã đã nhận xét.

Làm sao cái cốc biết được tôi đã uống bao nhiêu đồ uống?

Nếu giá trị tương tự của cảm biến mực nước vượt quá 300, giá trị boolean đại diện cho cốc sẽ được ghi là CAO (đầy). Nếu giá trị tương tự của cảm biến dưới 300, giá trị boolean đại diện cho cốc sẽ được ghi là LOW (rỗng). Để ghi lại đồ uống được thêm vào cốc, giá trị boolean này phải thay đổi từ rỗng thành đầy.

Làm thế nào bạn xác định được BAC?

Để làm cho dự án này chính xác nhất có thể, tôi đã sử dụng dữ liệu từ Đại học Saint Benedict & Saint John's về mức độ BAC của một cá nhân tăng lên trên mỗi đồ uống được tiêu thụ. Chương trình này không chỉ xem xét cân nặng mà còn xem xét giới tính của người dùng trong tính toán BAC của người dùng. Điều này là do BAC dựa trên tốc độ cơ thể có thể chuyển hóa rượu, điều này khác nhau giữa nam và nữ và những người có trọng lượng khác nhau. Các biểu đồ có thể được nhìn thấy ở đây.

Tại sao phạm vi BAC lại khác nhau đối với những người khác nhau?

Phạm vi BAC dựa trực tiếp vào dữ liệu thu được từ Đại học SBSJ, xem xét lượng rượu mà người dùng phải có trong hệ thống của họ để họ thuộc một trong bốn phạm vi:

- An toàn: Phạm vi an toàn duy nhất để điều khiển phương tiện (được thể hiện bằng hoạt ảnh cầu vồng)

- Khiếm khuyết: Có thể bị buộc tội hình sự nếu bạn điều khiển xe trong phạm vi này (thể hiện bằng hoạt ảnh màu cam)

- Say xỉn: Sẽ bị buộc tội nếu bạn điều khiển xe trong phạm vi này (biểu thị bằng đèn đỏ)

- Chết người: Nếu bạn chưa ngất đi, bạn đang gặp nguy hiểm y tế ngay lập tức trong phạm vi này (biểu thị bằng đèn đỏ và trắng nhấp nháy)

Nhưng tôi có thể uống rượu tốt, vậy cốc này không chính xác?

Bạn có thể hành động tốt như thế nào sau khi uống rượu sẽ không thành vấn đề nếu bạn vượt quá giới hạn luật định trong khi lái xe. Dữ liệu được sử dụng trong dự án này xem xét phạm vi pháp lý và y tế của BAC của người dùng, đồng thời xem xét cân nặng và giới tính của người dùng.

Quân nhu

Nguồn cung cấp thiết bị điện tử tổng hợp cho dự án này bao gồm:

- Hai nút bấm

- Dây nhảy

- Chiết áp 10k

- 2 điện trở 10k

- 1 điện trở 220

Các bộ phận / mô-đun đặc biệt:

- Một Arduino (Tôi đã sử dụng Uno cho dự án này, nhưng có nhiều lựa chọn thay thế rẻ hơn tồn tại)

- Cảm biến mực nước (LƯU Ý: Những cảm biến này thường không chính xác và bị ăn mòn nhanh chóng, đó là một điểm thất vọng lớn khi phát triển dự án này. Tuy nhiên, tôi đã có thể tìm ra giải pháp để những khó khăn của tôi với dự án này không chuyển thành khó khăn của bạn với dự án này.)

- Một vòng LED (12 đèn LED)

- Màn hình LCD

Công cụ:

- Sắt hàn (Chỉ cần thiết nếu mua vòng LED không có đầu cắm)

- Máy in 3d (Tùy chọn)

Bước 1: Tải xuống Arduino IDE và sao chép mã bắt buộc

Không cần lập trình máy tính cho dự án này, tất cả những gì bạn phải làm là sao chép mã từ đây và dán nó vào Arduino IDE. Để tải xuống Arduino IDE:

Tải xuống và định cấu hình Arduino IDE:

- Truy cập trang web Arduino và chọn tải xuống cho hệ thống của bạn

- Sau khi quá trình tải xuống hoàn tất, hãy lấy số cổng COM cho Arduino. Cắm Arduino vào và điều hướng đến Trình quản lý thiết bị của bạn. Dưới các cổng, hãy tìm Arduino của bạn và ghi lại số cổng. Nó sẽ trông giống như sau: COMx (Trong đó x là số 1-9)

- Sử dụng số cổng COM, định cấu hình IDE cho bo mạch và cổng của bạn bằng cách mở Arduino IDE và chọn "Công cụ" trên thanh trên cùng. Chọn "Hội đồng quản trị" và chọn mô hình của bạn. Tiếp theo, chọn "Cổng" và chọn cổng bạn đã thấy cho Arduino của mình trong Trình quản lý thiết bị.

Lấy mã dự án

- Sao chép mã từ bước này và dán vào phần màu trắng của Arduino IDE. Trước tiên, hãy đảm bảo xóa mọi thứ trên bản phác thảo, chẳng hạn như các quy trình loop () và void (), vì những quy trình này được triển khai trong mã bạn đang sao chép và dán.

Bước 2: Tải xuống các thư viện bắt buộc từ Arduino IDE

Các thư viện được sử dụng trong dự án này bao gồm "Wire", "LiquidCrystal" và "Adafruit Neopixel". Bản phác thảo cần các thư viện này để giao tiếp với các thành phần được sử dụng trong dự án này. Để tải xuống các thư viện này:

- Chọn "Phác thảo" trên thanh trên cùng

- Chọn "Bao gồm thư viện" từ menu thả xuống

- Chọn "Quản lý thư viện"

- Tìm kiếm ba thư viện (Wire, tinh thể lỏng và Adafruit Neopixel) được sử dụng trong dự án này và tải xuống từng thư viện.

Xin lưu ý rằng việc không tải xuống các thư viện này sẽ dẫn đến lỗi khi bản phác thảo đang được biên dịch. Sau bước này, hãy gắn cáp từ Arduino vào máy tính xách tay của bạn và nhấn nút mũi tên ở góc trên bên trái của IDE. Thao tác này sẽ biên dịch và tải bản phác thảo lên Arduino. Bây giờ chúng ta đã hoàn thành tất cả các bước liên quan đến lập trình, hãy chuyển sang đấu dây!

Bước 3: (Tùy chọn) Đầu hàn vào các bộ phận

Nếu bạn đã chọn mua các bộ phận cho dự án này mà chưa có các chốt tiêu đề được hàn vào chúng, bạn sẽ cần phải tự mình thực hiện việc này. Đừng quá lo lắng về phần này, việc hàn cho dự án này rất đơn giản.

- Tạo môi trường thông thoáng để hàn vào, tốt nhất là có quạt có chứa màng lọc. Nếu bạn không có một chiếc quạt như vậy, bạn có thể làm những gì tôi làm và mở cửa sổ và bật quạt hoặc đi đến nhà để xe trong khi nó đang mở.

- Làm nóng mỏ hàn của bạn và đảm bảo rằng bạn cũng có một miếng bọt biển ướt để lau vết hàn thừa.

- Thiết lập các tiêu đề và phần bạn muốn gắn các tiêu đề bằng cách sử dụng tay trợ giúp hoặc một công cụ khác cho phép bạn sắp xếp các bộ phận trong khi vẫn cho phép bạn cầm mỏ hàn.

- Chạm vào vật hàn vào mỏ hàn khi đang ở trên kết nối giữa chân tiêu đề và phần bạn đang hàn chân vào. Tháo bàn ủi khi đã hình thành đủ chất hàn để đảm bảo tiếp xúc điện giữa các chân đầu cắm và bộ phận. Lau sạch vết hàn thừa trên miếng bọt biển và lặp lại quá trình này cho tất cả các chân.

- Sau khi tất cả các chân đã được hàn, đặt mỏ hàn vào giá đỡ, xoay núm xoay để "tắt" và rút phích cắm của bàn ủi. Chờ cho đến khi bàn là nguội hoàn toàn mới cất đi.

Bước 4: Thực hiện theo Hình ảnh và dây Arduino đến các thành phần

Theo dõi Hình ảnh và dây Arduino đến các thành phần
Theo dõi Hình ảnh và dây Arduino đến các thành phần

Trong bước này, bạn sẽ cần sử dụng dây nhảy để kết nối các bộ phận cần thiết cho dự án với Arduino. Tôi đã cung cấp một tệp Fritzing để thực hiện việc này, bạn có thể xem ở bước này. Vui lòng xem bên dưới để biết danh sách các câu hỏi phổ biến mà tôi tự hỏi nếu gặp sự cố với hệ thống dây điện:

- Các đường dây nối đất và đường dây nguồn của tôi có được kết nối đúng cách với nhau và các chân 5v và GND của Arduino không?

- Tôi đã làm lộn xộn với chiết áp của mình nếu màn hình LCD không hiển thị? (Thử xoay chiết áp xung quanh để thay đổi điện trở nếu các ký tự màu trắng không xuất hiện đúng)

- GND và VCC có được kết nối với từng bộ phận đúng với chân chính xác không? Cài đặt 5 volt có được sử dụng không? (Tất cả các cảm biến và thành phần trong dự án này sẽ sử dụng 5 volt, không phải 3,3 volt.

- Có phải một sợi dây vô tình được đặt cách xa nơi nó được cho là một kết nối không?

LƯU Ý: Khi làm việc với thiết bị điện tử, hãy luôn đảm bảo rằng mạch không được cấp nguồn khi nó đang được thay đổi. Nếu không, các bộ phận có thể bị hỏng và khi làm việc với điện áp lớn hơn, có thể gây hại cho cơ thể

Bước 5: Lắp ráp dự án "Coaster"

Dự án lắp ráp
Dự án lắp ráp

Bạn có thể nhận thấy rằng các tiêu đề của vòng đèn LED nhô ra ngoài và không cho phép bạn thực sự đặt cốc nằm phẳng trên bề mặt. Để giải quyết vấn đề này, chúng tôi sẽ gắn vòng LED vào một bộ phận được in 3d để cho phép vòng được đặt phẳng trên bàn. Tệp 3d có thể được tìm thấy ở bước này. Nếu bạn không có máy in 3d, đừng lo lắng, bản in này có giá 1,40 để thực hiện tại thư viện địa phương của tôi. Nếu thư viện địa phương của bạn không có máy in 3d, các tùy chọn khác bao gồm Staples và người bán trực tuyến. Cũng cần lưu ý rằng phần nào đó tôi đã gắn vào không phải là phần tương thích duy nhất, nó chỉ là cách để làm một mô hình cho tôi. Vì vậy, nếu bạn giỏi về chế biến gỗ hoặc các đồ thủ công khác, những thứ đó sẽ còn hơn mức chấp nhận được!

Nếu bạn chọn in một phần cho dự án này:

- Tải xuống tệp STL để nhập vào máy cắt như Cura

- Đo đường kính đáy cốc bạn chọn

- Điều chỉnh tỷ lệ của mô hình (tính bằng milimét nếu sử dụng Cura) cho phép đo của bạn

Bước 6: Gắn Coaster và Sensor vào Cup bạn chọn

Gắn Coaster và Sensor vào Cup do bạn lựa chọn
Gắn Coaster và Sensor vào Cup do bạn lựa chọn

Tiếp theo, lấy đế lót ly của bạn và dùng keo dính để gắn vào đáy cốc mà bạn đã đo được. Bây giờ, các dây nhảy sẽ có thể tiếp cận cảm biến mực nước và vòng đèn LED, đồng thời cũng nằm phẳng trên bàn. Bây giờ bạn phải gắn cảm biến. Cần hết sức lưu ý về vị trí đặt cảm biến, vì những cảm biến này, mặc dù được bán trên thị trường dưới dạng analog, thực sự chỉ đưa ra hai tín hiệu - có nước hoặc không có nước. Điều này gây ra rất nhiều vấn đề cho tôi, nhưng tôi đã có thể tìm ra cách giải quyết nó để những người khác không gặp phải sự thất vọng tương tự với dự án này. Điều quan trọng là đặt bộ cảm biến gần đỉnh của chất lỏng khi cốc đầy. Điều này sẽ đảm bảo rằng cảm biến có thể đăng ký trạng thái "trống" và do đó có thể đếm đồ uống đã rót tiếp theo.

Bước 7: Làm đẹp dự án và bảo vệ dây

Làm đẹp dự án và bảo vệ dây
Làm đẹp dự án và bảo vệ dây

Lúc này, rất có thể bạn chỉ còn lại một mớ dây điện và các bộ phận giống như ảnh đính kèm. Những gì bạn làm để dự án trông tốt hơn là hoàn toàn tùy thuộc vào bạn, miễn là bạn ghi nhớ những tiêu chí sau:

- Bạn phải có thể cắm bộ sạc vào nguồn Arduino

- Bạn phải khoét lỗ hoặc thiết kế khoảng trống để người dùng có thể truy cập vào màn hình LCD, các nút, cảm biến mực nước và vòng đèn LED.

- Bạn phải bảo vệ các thành phần điện tử không bị ướt, vì đây là khả năng có thể xảy ra vì dự án tập trung vào đồ uống.

Một số lựa chọn để bao quanh dự án là:

- Hộp đựng giày hoặc thùng carton

- Vỏ bọc dự án điện tử không thấm nước, chẳng hạn như vỏ bọc được tìm thấy ở đây

- Một thiết kế in 3d (Đây là lựa chọn tôi muốn theo đuổi, tuy nhiên, quá đắt để in một thiết kế như thế này tại thư viện của tôi)

Bước 8: Uống có trách nhiệm

Hay Uông co trach nhiệm!
Hay Uông co trach nhiệm!

Sau khi gắn cốc vào đế lót ly và cảm biến nước, bạn đã sẵn sàng! Bạn sẽ biết rằng mọi thứ đang hoạt động bình thường khi màn hình LCD nhắc bạn về giới tính và cân nặng của mình. Một nút tương ứng với trọng lượng, trong khi nút kia tương ứng với giới tính. Bạn có thể nhấp vào từng cái để xem nó là cái nào trước khi dán nhãn nó. Sau khi chọn đúng trọng lượng của bạn (các giá trị ở bước 20) và giới tính, hãy nhấp đồng thời cả hai nút. Thao tác này sẽ bắt đầu phần còn lại của chương trình và bạn sẽ thấy vòng đèn LED nhấp nháy hình cầu vồng. Chiếc cốc bây giờ đã sẵn sàng để bạn rót đồ uống. Khi bạn uống và rót thêm đồ uống, chương trình sẽ sử dụng bảng BAC được thảo luận trong phần giới thiệu để xác định BAC. Xin lưu ý rằng chương trình này giả định một đồ uống tiêu chuẩn cho mỗi cốc, vui lòng xem hình (Đại học Nam Alabama), hoặc truy cập vào đây để xem cách chuyển dịch đồ uống yêu thích của bạn. Cũng lưu ý rằng mục tiêu của dự án này không phải là khuyến khích bất kỳ hoạt động bất hợp pháp nào, mà là thúc đẩy uống rượu an toàn cho những người đủ tuổi uống rượu. Ngoài ra, mặc dù tôi rất hài lòng với mức độ chính xác của ước tính BAC khi giả định một đồ uống tiêu chuẩn, nhưng dự án này là một công cụ giúp bạn uống rượu an toàn, nhưng không phải chịu trách nhiệm gì nếu bạn chọn lái xe sau khi uống bất kỳ loại rượu nào.

Bước 9: (Tùy chọn) Khắc phục sự cố

(Tùy chọn) Khắc phục sự cố
(Tùy chọn) Khắc phục sự cố

- Lỗi "Sự cố tải lên bảng": Khi cố gắng biên dịch và tải bản phác thảo lên Arduino, lỗi này sẽ dẫn đến nếu cổng COM của bạn không được định cấu hình chính xác (Xem bước một về cách tìm và đặt cổng COM chính xác) hoặc của bạn bo mạch không được cắm vào.

- Màn hình LCD không hiển thị các ký tự màu trắng: Nếu đèn màu xanh trên màn hình LCD của bạn bật sáng nhưng bạn không thấy các ký tự màu trắng sau khi tải lên bản phác thảo, điều này rất có thể là do vấn đề về độ tương phản. Để khắc phục điều này, chỉ cần xoay chiết áp của bạn sang phải (Xoay sang trái nếu bạn thấy các khối màu trắng có các ký tự của bạn).

- Dự án đếm đồ uống không chính xác: Lỗi này là sự cố cảm biến mực nước. Các mô-đun cảm biến mực nước bị ăn mòn nhanh chóng và được biết đến là rất không chính xác. Tuy nhiên, điều đó không nên làm bạn lo lắng cho dự án này, vì tôi đã coi cảm biến như một cảm biến kỹ thuật số hơn là một cảm biến tương tự. Xem bước sáu về cách gắn cảm biến mực nước một cách chính xác.

- Mô-đun cực kỳ nóng và không gửi đúng giá trị: Đây là kết quả của việc kết nối GND hoặc VCC bị hỏng, có thể là khi đang làm việc với các dây khác. Đảm bảo rằng các kết nối GND và VCC với cảm biến đã hoàn tất và đi theo chúng đến các chân GND và 5v từ thành phần, tới breadboard, tới Arduino để tìm lỗi.

- Tôi đã vô tình vượt quá trọng lượng của mình: Đừng lo lắng, cài đặt trọng lượng sẽ trở về 100 sau 240, vì vậy bạn có thể tiếp tục xoay qua các tùy chọn để trở lại cân nặng của mình.

Nếu sự cố vẫn tiếp diễn, hãy kết nối cáp từ Arduino với máy tính xách tay, mở IDE và chạy bản phác thảo. Trong khi bản phác thảo đang chạy, một số giá trị sẽ được hiển thị trong màn hình nối tiếp, cho phép bạn xem những gì không hoạt động như nó được cho là. Để truy cập màn hình nối tiếp, hãy chạy chương trình và "Công cụ" rồi đến "Màn hình nối tiếp" từ menu thả xuống.

Bước 10: Suy ngẫm

Về phía lập trình, tôi rất vui với cách mà dự án này thành công. Tôi đã mất một lúc để viết vì tôi vẫn là người mới bắt đầu, nhưng tôi đã có thể tìm hiểu nhiều thư viện mới và đạt được mục tiêu dự đoán BAC và tôi cảm thấy rằng tôi không có lối tắt trong việc ước tính BAC vì tôi đã sử dụng cả giới tính và trọng lượng (Điều này chiếm phần lớn bản phác thảo). Tuy nhiên, tôi cần phải phê duyệt thiết kế. Mặc dù tôi không sở hữu một máy in 3d hoặc biết chế biến gỗ, nhưng tôi thực sự muốn dự án của mình được trình bày một cách tốt hơn. Tôi dự định sẽ sớm có được Ender 3 và điều đầu tiên tôi sẽ làm là quay lại ngay với cùng một hướng dẫn này để cải thiện thiết kế. Là người hướng dẫn đầu tiên của tôi từ trước đến nay, tôi cảm thấy quá trình diễn ra tốt đẹp và tôi rất vui với mức độ mà dự án này giải quyết được lời nhắc mà tôi đã tạo ra cho Thử thách bên, nhưng hãy thiết kế một thứ gì đó mà tôi muốn quay lại sau này khi có đủ tài nguyên.

Đề xuất: