[111-2]第7組-電動牙刷真的比手動牙刷乾淨嗎?實驗數據大解析

👥
第7組:盧詠琦、林宏澤、翁庭渝
電動牙刷真的比手動牙刷乾淨嗎?實驗數據大解析

現代科技的進步提高了人們的生活品質,許多新型的家電產品開始進入市場,而電動牙刷就是其中的一項產品。許多人認為使用電動牙刷可以更有效地清潔牙齒,但是也有人認為一般的傳統牙刷(下稱手動牙刷)就足夠了。在這篇文章當中,我們將會深入探討電動牙刷和手動牙刷的差異,並以實驗數據帶你從科學且客觀的角度,幫助你了解電動牙刷是否值得你花更多錢購買。

手動、電動有什麼不一樣?電動牙刷的原理

手動牙刷和電動牙刷的最大不同在於其清潔方式。手動牙刷在其使用的過程中需要以人工施加壓力,使刷毛與牙齒接觸產生摩擦以清潔牙齒;而電動牙刷使用電動馬達驅動刷頭旋轉或震動,能夠更加高速地清潔牙齒,且不需額外施力。此外,電動牙刷的刷頭通常具有多種刷頭模式和強度選項,例如有些電動牙刷具備壓力感應功能,可以提醒使用者不要用太大的壓力刷牙,以避免牙齦損傷,這些功能可以滿足不同人群的口腔清潔需求。

手動牙刷 電動牙刷
清潔原理 依靠人力使刷毛與牙齒表面接觸,通過刷毛與牙齒表面之間的摩擦力,從而清除牙齒表面的污垢和細菌 透過馬達轉動偏心輪所產生的離心力進行高頻率震動,以驅動刷頭刷動,去除牙齒表面的污垢和細菌
刷動頻率 <5Hz 200Hz~500Hz

電動牙刷真的比較強?實測給你看

為了驗證這個問題,我們分別在賣場和電商平台上抽選了手動牙刷與電動牙刷的熱門款式各5支做為樣本,並設計了本次實驗以驗證手動牙刷與電動牙刷的清潔力差異。具體實驗流程如下:

以太白粉、染料、酒精與水配置牙菌斑模擬劑
以太白粉、染料、酒精與水配置牙菌斑模擬劑
在樂高磚上塗上0.5公克的牙菌斑模擬劑
在樂高磚上塗上0.5公克的牙菌斑模擬劑
將待測牙刷置於步進滑台之上,以Arduino控制牙刷刷動
紀錄下牙刷的刷動過程
紀錄下牙刷的刷動過程
透過opencv函式庫進行影像處理
透過opencv函式庫進行影像處理
分析實驗結果並轉化為圖表
分析實驗結果並轉化為圖表

實驗結果

電動牙刷的清潔力
手動牙刷的清潔力
排名 廠牌與商品名稱 類型 清潔力*(越高越好)
1 小米 T500 電動 76
2 小米 T100 電動 67
3 歐樂B Cross Action Power 電動 63
4 飛利浦 HY1200 電動 59
5 唐吉訶德 JSTN-ETSC 電動 40
6 雷鋒 健康軟毛牙刷 手動 23
7 高露潔 高分子炭深潔牙刷 手動 22
8 刷樂 雙效纖柔牙刷 手動 22
9 日本獅王 固齒佳薄深潔牙刷 手動 20
10 好來(原黑人)經典纖柔牙刷 手動 18
📐
*清潔力的計算公式:刷至殘留面積≤10%所需的刷動次數之倒數*1000(四捨五入至整數)

結論推導

綜合以上所測出之樣本數據,我們可以使用兩母體平均數差的假設檢定,在α = 0.05的條件之下,來推導電動牙刷母體的平均清潔力是否顯著優於手動牙刷母體的平均清潔力。

💡
使用兩母體平均數差的假設檢定(α = 0.05):
  • H0:μ1μ20H_0 : \mu_1-\mu_2 \leq 0
  • Ha:μ1μ2>0H_a : \mu_1-\mu_2 > 0

(μ1=電動牙刷母體之平均清潔力,(\mu1 = 電動牙刷母體之平均清潔力,

μ2=手動牙刷母體之平均清潔力)\mu2 = 手動牙刷母體之平均清潔力)


df=(s12n1+s22n2)2(1n11)(s12n1)2+(1n21)(s22n2)2=(177.425+45)2(14)(177.425)2+(14)(45)2=4.24df = \frac{(\frac{s^2_1}{n_1} + \frac{s^2_2}{n_2})^2} {(\frac{1}{n_1-1})(\frac{s^2_1}{n_1})^2 +(\frac{1}{n_2-1}) (\frac{s^2_2}{n_2})^2} = \frac{(\frac{177.42}{5} + \frac{4}{5})^2} {(\frac{1}{4})(\frac{177.42}{5})^2 +(\frac{1}{4}) (\frac{4}{5})^2} = 4.2\approx4


t=(x1x2)D0(s1)2n1+(s2)2n2=(6121)0177.425+45=6.64t = \frac{(\overline{x_1} - \overline{x_2})-D_0} {\sqrt{\frac{(s_1)^2}{n_1} + \frac{(s_2)^2}{n_2}}} = \frac{(61 - 21)-0} {\sqrt{\frac{177.42}{5} + \frac{4}{5}}} = 6.64


pvalue<0.005p-value < 0.005

Reject H0\Rightarrow Reject\ H_0

電動牙刷母體之平均清潔力顯著高於手動牙刷\Rightarrow 電動牙刷母體之平均清潔力顯著高於手動牙刷

所以電動牙刷值不值得買?

電動牙刷和手動牙刷各有各的優點和缺點。電動牙刷可以有效地清潔牙齒,但價格較高。手動牙刷價格較便宜,但刷牙效果可能就不如電動牙刷。因此,您需要衡量自己的需求和預算選擇適用的牙刷。

但若在預算允許之下,我們誠摯推薦您購買清潔力更佳的電動牙刷。在以上的實驗當中,我們可以發現到無論價錢或廠牌,電動牙刷的清潔力皆顯著地高於手動牙刷,對於牙菌斑模擬劑的清除力比起手動牙刷約高了一倍左右,能夠更好地去除牙菌斑和牙垢,預防蛀牙的發生。

參考資料

  1. Usefulness of the newly developed artificial denture plaque for practical denture care training - Kawanishi - 2020 - Clinical and Experimental Dental Research - Wiley Online Library
  1. Properties of manual toothbrush that influence on plaque removal of interproximal surface in vitro - PMC (nih.gov)
  1. CN109370319A - CN109370319A - Simulate coating of plaque and preparation method thereof, application method and application, dental care products performance detection product and application - Google Patents

🧪
實驗參數
刷頭壓力 50g±10g
牙菌斑模擬劑的配置比例 酒精10:硃砂5:太白粉12
牙菌斑模擬劑塗抹量 0.5g
顏色擷取上限值(使用HSV) [160, 210, 255]
顏色擷取下限值(使用HSV) [10, 30, 170]
#include <Stepper.h>

const int stepsPerRevolution = 2048; //轉一圈需要幾步
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);

void setup() {
myStepper.setSpeed(15); //設定速度(1~15)
}

void loop() {
myStepper.step(stepsPerRevolution*2); //正轉兩圈
delay(500);

myStepper.step(-stepsPerRevolution*2); //逆轉兩圈
delay(500);
}
#一個可以用於計算特定顏色面積的模組
def countArea(lowerColorLimit, upperColorLimit, imgPath, outputPath):
    #讀取圖像
    img = cv2.imread(imgPath)
    cv2.imwrite(outputPath + '/[1]original.jpg', img)

    #設定要擷取的顏色範圍(使用HSV表示),並轉換成NumPy陣列
    lower = numpy.array(lowerColorLimit)
    upper = numpy.array(upperColorLimit)
    
    #利用影像遮罩去除不需要的顏色
    mask = cv2.inRange(img, lower, upper)
    img_bgRemove = cv2.bitwise_and(img, img, mask = mask )
    cv2.imwrite(outputPath + '/[2]background removed.jpg', img_bgRemove)

    #灰階化
    img_gray = cv2.cvtColor(img_bgRemove, cv2.COLOR_BGR2GRAY)
    cv2.imwrite(outputPath + '/[3]gray.jpg', img_gray)

    #二值化
    ret, img_threshed = cv2.threshold(img_gray, 60, 255, cv2.THRESH_BINARY) 
    cv2.imwrite(outputPath + '/[4]threshed.jpg', img_threshed)

    #找到所有的輪廓
    contours, hierarchy = cv2.findContours(img_threshed, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    #計算所有輪廓的面積
    area = 0
    for contour in contours:
        area += cv2.contourArea(contour)

    return(area)