資料介紹
描述
早餐可以說是一天中最重要的一餐。在美國,近四分之一的人不吃早餐,這主要是因為早上沒有足夠的時間。我相信時間不是剝奪我們甜食的問題,麥片盒太重是一個簡單的事實。我想創造一臺機器,它可以使用人工智能來檢測特定的人,并為他們倒上他們喜歡的谷物,以節省解決這一天所需的關鍵能量。隨著麥片盒尺寸的增加,多年來拾起麥片盒變得越來越困難。為了對抗每天倒麥片盒可能導致的肌肉拉傷,我的設備可以輕松地保持您虛弱的肌肉的安全和營養。
概念
該項目的概念是創建一個包含谷物的設備,并打開一個翻蓋以釋放一部分谷物,然后關閉翻蓋以防止谷物使碗過飽和。用戶將他們的碗放在他們最喜歡的麥片下面,人工智能算法將檢測面部并向他們釋放正確的麥片。
硬件
這個項目的基本原理是一個步進電機,它連接到某種木頭或塑料銷釘上,以創建一個鉸鏈,使容器的底部可以打開并釋放谷物。容器應該是塑料容器,可以切出一個槽,讓谷物通過。
用于防止谷物從容器底部的孔中滲出的材料應該足夠輕,以便能夠輕松打開和關閉,但又足夠堅固以保持谷物的重力向下推它。我推薦一塊輕質膠合板,但聚苯乙烯泡沫塑料應該沒問題。
所有四個步進電機都應連接到一塊泡沫上并放置在懸掛的容器下方。我將容器翻轉一個角度以幫助倒麥片,但這不是必需的。
然后應該將容器連接到 Pi
電路
由于需要連接四個不同的步進電機,該設備的電路有點復雜。本項目所需的電氣元件有:
- 5V直流步進電機x4
- ULN2003 步進電機驅動板 x4
- Raspberry Pi 型號 2 B(型號 2+ 可以使用)
- 樹莓派攝像頭模組
這個微控制器很重要,因為 Raspberry Pi 具有很大的存儲容量以及更強大和更快的處理單元,這將使我們能夠在我們的項目中使用人工智能。
攝像頭模塊插入 Pi 上的攝像頭端口,色帶的藍色部分朝向 IO 端口。
帶有預布線的 5V DC 步進電機插入 ULN2003 步進電機驅動板。然后將驅動板的引腳 1-4 連接到 Raspberry Pi 的 GPIO 引腳,可以在接線圖或step.py中引用這些引腳以查看引腳的順序(順序很重要!)。5V(+) 電源引腳和 GND 引腳連接到面包板的電源軌,為機器供電。
在一切都連接好并暫停之后,我們完成了項目的物理部分,現在可以繼續使用適當的軟件設置 Raspberry Pi,以使我們能夠正確移動電機。
樹莓派和人工智能
正如我之前所說,使用 Raspberry Pi 對于允許我們使用該項目的面部識別方面至關重要,因為它可以獲得更多空間和處理能力,這使其成為與其他微控制器相比的絕佳選擇。
我在這個項目中使用了 Raspberry Pi 2 Model B,但兩者之后的任何 Pi 都應該很好用。在開始使用 Pi 之前,我們需要先下載 Raspbian 操作系統。訪問Raspberry Pi OS下載頁面并使用諸如balenaEtcher之類的刷機工具將 OS 刷入插入的 SD 卡。
刷機完成后,使用初始步驟配置您的 Pi,然后我們就可以開始下載必要的軟件了。
設置 Pi
完成初始設置后,通過打開終端并鍵入python3檢查是否在您的設備上下載了 Python 3.7 。
默認情況下,應在您的設備上下載 Python 3.7,但如果不是,請鍵入sudoaptupdate和sudoaptinstallpython3idle3來安裝和更新此項目的 python3。
安裝 Python 后,我們需要在終端中使用此命令將 OpenCV 安裝到 Pi。OpenCV 是一個針對視覺進行了優化的開源人工智能庫,它將擁有我們需要的關鍵方法,不僅可以跟蹤我們的面部,還可以識別不同的面部,從而為不同的人創建特定的訂單。
sudo apt-get install build-essential cmake pkg-config -y && sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev -y && sudo apt-get install libgtk2.0-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libv4l-0 libv4l-dev -y && sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y && sudo apt-get install libxvidcore-dev libx264-dev -y && sudo apt-get install libatlas-base-dev gfortran -y && sudo apt-get install python-numpy python-scipy python-matplotlib -y && sudo apt-get install default-jdk ant -y && sudo apt-get install libgtkglext1-dev -y && sudo apt-get install v4l-utils -y && sudo apt-get install python2.7-dev -y && sudo pip install numpy && cd ~ && wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip && unzip opencv.zip && wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.2.0.zip && unzip opencv_contrib.zip && cd opencv-3.2.0 && mkdir build && cd build && cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules -D BUILD_EXAMPLES=ON -D ENABLE_NEON=ON .. && sudo make -j$(nproc) && sudo make install && sudo ldconfig && sudo echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf && sudo echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig" >> /etc/bash.bashrc && sudo echo "export PKG_CONFIG_PATH" >> /etc/bash.bashrc
這個過程可能需要幾個小時,所以離開去喝點牛奶,完成后回來。
安裝 OpenCV 后,我們可以下載我們將用于該項目的另外兩個庫。要下載庫,請打開終端并在完成下載后鍵入pip3 install face_recognition類型pip3 install imutils 。
一旦所有庫完成下載,我們將需要通過 wifi 或以太網將 Pi 連接到互聯網。將您的 Pi 連接到 Internet 后,您可以訪問 Chromium 上的 Hackster 頁面并下載項目底部代碼選項卡下的所有文件。應在pi文件夾中創建一個文件夾,該文件夾應位于HomeFolder中并標記為FaceRecognition (拼寫和大寫很重要)。
在代碼部分下載的所有文件都應與另一個標記為 dataset 的文件夾一起放置在此文件夾中,我們模型的所有數據都將存儲在該文件夾中。
這是我們開始收集數據以訓練模型并實際開始使用設備所需的所有設置。
收集數據
要開始收集數據,請在標有您的姓名的數據集文件夾中創建一個文件夾。該文件夾將存儲我們將使用face_shot.py程序拍攝的所有照片,并允許我們訓練模型。可以在標有多個名稱的數據集文件夾中創建多個文件夾,以訓練算法識別不同的人,以便我們可以為每個人制定個性化的訂單。
創建文件夾后,face_shot.py應該在 Thonny Python IDE 中打開。程序第 4 行:
name = 'Unknown' #replace with your name
應該更改,以便在您的文件夾中準確地寫入名稱。
現在可以運行face_shot.py程序,并將打開一個相機查看器來調整自己在框架中的位置。按空格鍵開始在數據集文件夾中為您自己或其他人拍照。按退出鍵完成拍照。我建議至少拍攝 1,000 張照片來訓練模型以準確區分數據集中的人臉,拍攝的照片越多,模型就越準確。專家提示:要快速拍攝一堆照片以加快數據收集速度,可以按住空格鍵。這將凍結相機預覽,但我保證它仍在拍照。在您對照片數量感到滿意后,程序可能會說它仍在拍照,但這不是真的,打印語句只是試圖跟上已經拍攝的照片。要在按住空格鍵后退出,請按停止而不是轉義或等待打印語句趕上(可能需要一分鐘)。
訓練模型
訓練 AI 模型非常簡單,只需打開train_model.py并運行程序即可。該程序將獲取數據集文件夾中的每個文件夾,并將其添加到具有適當名稱的模型中。這個過程也可能需要一段時間,具體取決于拍攝了多少張照片,所以去多喝點牛奶,幾個小時后回來,最終使用該設備。
谷物時間!
現在模型已經訓練好了,我們終于可以吃點甜食了。好吧,在我們可以吞噬我們的神圣營養之前還有一步。需要設置數據集文件夾中每個人的訂單。訂單在代碼底部的step.py程序中設置。
if name == "Unknown":
openMotor1()
這個 if 語句是唯一能讓你遠離小麥的東西,為了讓它發揮作用,把你的名字放在語句中,并為數據集文件夾中的其他人創建多個 if 語句。提示:如果行
time.sleep(0.01)
插入到 if 語句中,如果您喜歡在一個碗中食用多種谷物,您可以打開多個電機并將您的谷物組合混合在一起。我不判斷。如果您選擇此決定,建議對時間進行測試。
if name == "Your Name:
openMotor1()
time.sleep(0.01)
openMotor2()
time.sleep(0.01)
openMotor3()
time.sleep(0.01)
openMotor4()
time.sleep(0.01)
現在我們的訂單已經設置好了,我們終于可以運行face_rec.py程序來釋放酵母了。無需對此文件進行任何編輯,并且應該可以運行。該文件將在每次檢測到與模型匹配的人臉時調用step.py程序,從而觸發電機打開。運行程序,最后吃你應得的谷物。
?
- 自動藥丸分配器開源項目
- 自動洗手分配器開源設計
- 自動酒精分配器開源分享
- 自動洗手分配器開源分享
- 帶Arduino的自動酒精分配器
- 點心分配器開源分享
- 使用ATTiny13自動洗手液分配器
- 多功能步進電動機環形分配器 10次下載
- OmateHDDVI高清視頻分配器 0次下載
- 使用tcl文件分配器件與管腳 0次下載
- 自動轉換收發狀態的RS485信號分配器的設計(論文用) 17次下載
- 五路色差視音頻放大分配器
- 可調諧光功率分配器應用及技術
- 微帶功率分配器設計方法
- 譯碼器 數據分配器
- 液壓分配器起什么作用的 417次閱讀
- Linux內核內存管理之slab分配器 903次閱讀
- Linux內核內存管理之ZONE內存分配器 736次閱讀
- 如何制作低成本但全自動的洗手液分配器電路 1347次閱讀
- 功率分配器的作用及技術指標 1377次閱讀
- Linux內核之塊分配器 1469次閱讀
- Linux內核之伙伴分配器 1599次閱讀
- bootmem分配器使用的數據結構 1340次閱讀
- 自制一個洗手液分配器 1685次閱讀
- 深入剖析SLUB分配器和SLAB分配器的區別 1008次閱讀
- linux內存管理中的SLAB分配器詳解 2086次閱讀
- 分配器點涂技術的特點及方法介紹 4667次閱讀
- 功率分配器或合成器選擇的關鍵性能參數研究 2174次閱讀
- 基于DMA控制器的軟件環形脈沖分配器設計 4319次閱讀
- 功分器、分支器和分配器的區別 1.8w次閱讀
下載排行
本周
- 1開關電源設計原理手冊
- 1.83 MB | 14次下載 | 免費
- 2智能小車proteus仿真+C源程序
- 0.02 MB | 4次下載 | 免費
- 3PL4807單節鋰離子電池充電器中文手冊
- 1.36 MB | 3次下載 | 免費
- 4BQ769142技術參考手冊
- 2.99MB | 2次下載 | 免費
- 5BQ77207EVM用戶指南
- 865.23KB | 2次下載 | 免費
- 6TMR技術在電流傳感器中的應用
- 616.47 KB | 1次下載 | 免費
- 7CBM8605_8606_8608-運算放大器【中文排版】-202406271735
- 2.70 MB | 1次下載 | 免費
- 801-07-06-CBM8655_CBM8656精密運算放大器
- 4.49 MB | 1次下載 | 免費
本月
- 1XL4015+LM358恒壓恒流電路圖
- 0.38 MB | 155次下載 | 1 積分
- 2PCB布線和布局電路設計規則
- 0.40 MB | 52次下載 | 免費
- 3GB/T4706.1-2024 家用和類似用途電器的安全第1部分:通用要求
- 7.43 MB | 14次下載 | 1 積分
- 4智能門鎖原理圖
- 0.39 MB | 14次下載 | 免費
- 5開關電源設計原理手冊
- 1.83 MB | 14次下載 | 免費
- 6elmo直線電機驅動調試細則
- 4.76 MB | 9次下載 | 6 積分
- 7WIFI智能音箱原理圖完整版
- 0.09 MB | 7次下載 | 10 積分
- 8PC1013三合一快充數據線充電芯片介紹
- 1.03 MB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935115次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183333次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73806次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評論
查看更多