Introduction: 移動汪汪

動機:

丟垃圾好麻煩喔!

想當個懶骨頭不想起身? 還是受限於辦公環境無法走動?

如果有個可以幫你倒垃圾的小幫手就太好了!

這項任務...就交給"移動汪汪"了!!!

功能:

利用碼盤和光遮斷模組來記錄自己的位置

進入新環境可以掃過房間,上傳座標位置回傳給網路

透過線上即時資訊呼叫你的移動汪汪

超聲波模組感測房間障礙物不會撞牆

上方搭載3D列印支架可以隨時更換垃圾桶和其他用途

Step 1:

Step 2: 繪製汪汪的底板

材料:

3mm厚密集板

工具:

Autocad 或 其他繪圖工具

雷射切割機

解說:

利用Autocad繪製底座

將密集板放入雷射切割機將其零件印出

之後要裝控制板、輪胎和支架就靠它了

Step 3: Arduino 程式

材料:

arduino uno 控制板

傳輸線

杜邦線

麵包板

18650電池

工具:

arduino 編譯程式

解說:

分別在以下解說:

L298N馬達控制器

HC-SR04超聲波模組

光遮斷模組

Wifi 模組

Step 4: Arduino 程式 - 馬達控制

材料:

直流馬達x2

L298N馬達控制器x1

解說:

EN1和EN2分別控制左右輪的轉速(0~255)

透過IN1~IN4來控制馬達的轉向

IN1、IN2為其中一個馬達,按照上面圖表,以它為例:

analogWrite(enA, 255);

digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

則馬達為正轉

IN3、IN4控制另一輪

Step 5: Arduino 程式 - 超聲波感測器

材料:

HC-SR04超聲波模組 x3

Step 6: Arduino 程式 - 光遮斷模組

材料:

lm393模組

碼盤

Step 7: Arduino 程式 - Wifi 模組 Esp8266

Step1. 參考該網站初始化ESP8266: https://goo.gl/9e9frs (FT232一定要購買,方便刷韌體)

Step2. 如果遇到亂碼或是訊號常常斷線,大多數都是電壓不穩和電流不足!! 請購買LD1117穩壓以及電容

Step3. 如果仍遇到亂碼或是無法使用,請參考該網站刷韌體 https://goo.gl/NrMtyy

Step 8: IoT 網頁即時資訊

程式語言:html、 PHP、Javascript/jQuery

軟體:XAMPP( Apache+MySQL )

解說:

進入步驟前,先說明「靜態網頁」和「動態網頁」的不同。

靜態網頁,指包含的純文字及圖片網頁主要以HTML(HyperText Markup Language)為基礎架構,常與CSS與Javascript配合成一個適合觀看的網頁,讓瀏覽器去讀取。

動態網頁,指有包含網頁程式及資料庫的網頁。動態網頁可以透過程式語言結合資料庫的方式,而設計出可與網友進行互動的功能,例如:購物車、會員機制、留言板、討論區、投票區、訊息發佈、商品發佈…等。

由於本次project中網頁必須傳送使用者輸入、不斷更新地圖,所以採用動態網頁。

step1:

下載XAMPP (https://www.apachefriends.org/zh_tw/download.html )
XAMPP是一個易於安裝的Apache發行版本,其中包含MariaDB、PHP和Perl,允許用戶可以在自己的電腦上輕易的建立網頁伺服器。

step2:

開啟xampp,start 「Apache」和「MySQL」。
開起server(chrome、firefox) 的 url輸入"localhost/phpmyadmin",利用phpMyAdmin建立資料庫。

create a database "request" --> click "privileges" then "add user account" after created click"chech all"--> create a table "request" with 4 column :id(primary) 、 x_map和y_map(接收arduino回傳的座標) 、created_at

step 3:

撰寫php

開源碼(內有註解):https://github.com/EGSteve/arduinoserver

step 4:

Arduino自走車掃描地圖,回傳座標到後端,後端將資料生成網頁。

原始網頁中,按鈕除了原點,皆為紅色。自走車走過的座標被記錄下來,並且將該座標對應的按鈕轉為綠色,提示使用者可以點選。使用者點選綠色按鈕後,該座標會回傳給Arduino,指示其應前往的座標。

Step 9: 支架3D列印

材料與工具:

3D printer

tinkerCad 或 其他3D繪圖工具

解說:

Step1. 到tinkerCad創立帳號

Step2. 繪製所需的3d圖形

Step3. 儲存成.stl檔案

Step4. 利用makerBot軟體開啟並作微調

Step5. 輸出成print檔案

Step6. 列印

Step 10: 合體!!!

材料:

剛剛用到的所有模組

螺絲、螺帽

膠帶還其他黏著劑

解說:

將模組們裝在底板上,把電池、架子安裝好

移動汪汪就可出動了!