歡迎

歡迎來到這個部落格

2017年4月30日 星期日

2017/04/29 研究日誌(52)3D列印進度

自從我要用配件的方式來進行車體的設計後,我目前進度還蠻少的。
首先是我的車殼,目前已經做好外型了,不過外型太不未來,因為我是直接用五塊長方形來做,所以就是做的方方正正的,因此我打算要加上一些線條之類的,但是如果大家有一些新的想法的話,可以到下面留言,因為我真的快沒想法了!!!還有,我還做了超音波架,但是其實跟之前我買得很像,不過我把尺寸調了一下,讓它更合適。目前我打算要先找時間先把這兩個先印起來,並做別的部分,等它印出來後,再看看合不合,因為我快沒時間啦!!!
在做這些事的同時,我還要繼續完成我的最後一個程式,不過目前看來應該沒什麼問題,因為我正打算要把如果程式帶進迴圈中,這樣就不用用到多迴圈的程式了!!!不過目前還沒有實際做到,只是有這個新想法而已。

到了最後還有ppt,雖然我覺得我只需花約10天的時間做,不過這樣我也只剩下四天的假日(扣掉今天加補假),和四節的研究課接著就要做ppt了,時間緊迫阿。
這是我第一版的超音波架,跟之前買得很像。

這是車殼,不過看起來太普通了。

2017年4月23日 星期日

2017/04/23 研究日誌(51) 3D列印車體

目前我已經做好了兩種車體外型的樣式,不過我怎麽看都覺得怪怪的,到了現在,我又想到了另一種製作的方法,
我之前都想採用一體成形的方法,不過後來我發現依照我現在用的軟題來看,應該不太有可能,而且就算做得出來,在屋頂那邊也會為了要支撐住,而要做成實心的,所以我打算要改成用單一零件而製成,再裝上去,這樣子我的車體製作應該就會比較簡單,速度也會比較快,不過,就是還要再裝上去,所以我還要再預留更多的時間,因為我還要再裝上去。

因為我現在又要從零開始了,所以我要更努力,趕快做完阿!!!

2017年4月21日 星期五

2017/04/21 研究日誌(50) 車體目前進度

目前我先把寫程式的工作放一邊,在積極地製作車體中,目前做了約有一個禮拜,不過我的進度真的超少的~QAQ
首先,我先來統整一下我目前進度超慢的原因,這是因為我原本只有算出車體所需要的比例,想說之後切換到另一個比較好操作的3D繪圖程式時再進行修改,沒想到聰明反被聰明誤,剛好那個軟體最近更新後,只能等邊縮放,也就是我要用那個我比較不熟悉的軟體做完後,且要把比例、尺寸都調完後,在切換到另一個軟體進行列印,不過這也代表我的車體必須全部重作,這真是一個晴天霹靂的消息,因為我做了一個禮拜多的心血都化為烏有,不過因為我上個禮拜也不太熟悉介面,所以就當作是在練習好了,且我也另外想到一些比較好的設計圖,不過這次我要先畫在紙上,再把設計圖的樣子弄上去,真的很麻煩。
不過我也有看一些別人畫的車,發現跟我所預期的差很多,這是因為我那台車子原本就有輪子,所以我只要把輪子弄上去,就好了,簡單來說,就是將輪子那個位子打洞,再用弄上去就好了,因此我不必需要用輪溝(放輪胎的地方,不過我不知道那個叫什麼,所以暫時先叫他輪溝),不過一般的設計圖中,要不是把輪胎都畫上去,或是有留輪溝,跟我預期的差超多,更重要的是我的車是兩輪加兩個有鋼珠的輪胎,所以也很難找到這種車,對3D列印來說,應該也是一種創新與改變吧。

車體目前就做到這裡,目前還在持續的在做中,介面也稍微熟悉了一點,所以我要繼續加油,快一點完成,為我還要印(約一天的時間)+ppt(約一個禮拜)+做藍芽與自動煞車系統(約三天)!!!

2017年4月12日 星期三

2017/04/12研究日誌(49) 研究檢討

現在我的超音波自動煞車系統已經完成,不過我現在發現我的車子有一個很大的問題,所以我要進檢討。
首先我發現我最近車子板子常常傳不上去,所以我就做了一個實驗,看看是哪一快板子壞掉了,後來結果發現是最上面那一塊IOT Maker Board板傳不上去,不過只要把那一塊板子拔下後就可以了。但是,可是那塊板子在車子運行中一定要上去,所以這時就會有接觸不良的問題,常常跑到一半就斷掉了,然後卡在那裏不動,可是重新啟動獲等一下下後又恢復了!所以我決定要用一個最笨的方法,就是把板子上的每一個按鈕都試一次,最後結果發現是因為wify發送器打開,所以下面的板子沒有辦法跟IOT Maker Board板對話,也因此都傳不上去。
不過我目前在做我的最後一個程式,這個程式是藍芽操控系統+自動煞車系統,我現在目前這兩個程式都寫出來了,不過我不知道要如何用兩個迴圈,又加上我之前寫藍芽誠實,是用副程式寫的,所以城市一直顯示有BUG,也上傳不了,所以目前還正在思考中,而以下就是我把藍芽後自動煞車分開寫的程式:
l  藍芽控制
int EN1=6;    //由腳位6控制左輪轉速
int EN2=5;    //由腳位5控制右倫轉速
int IN1=7;    //由腳位7控制左輪轉向
int IN2=4;    //由腳位4控制右輪轉向
int pwm=150;  //預設轉速
void setup(){
int i;
for(i=4;i<=7;i++)
pinMode(i,OUTPUT);  //4567腳位設為輸出
Serial.begin(9600);
}
void loop() {
char c;
if(Serial.available()>0){  //判斷序列阜是否有資料輸入
  c=Serial.read();         //讀取串列阜資料
  switch(c){
  case'w':
   forward(1000);        //呼叫前進的副程式
   break;
   case'a':
   trunLeft(400);       //呼叫左轉副程式
   break;
   case'd':
   trunRight(400);   //呼叫右轉副程式
   break;
   case'x':
   backward(400);   //呼叫後退的副程式
   break;
   case's':
   stay(400);
   break;
  }
 }
}
void forward(int time){
  analogWrite(EN1,pwm);
  digitalWrite(IN1,HIGH);
    analogWrite(EN2,pwm);
  digitalWrite(IN2,HIGH);
  delay(time);
}
void trunLeft(int time){
  analogWrite(EN1,pwm);
  digitalWrite(IN1,LOW);
    analogWrite(EN2,pwm);
  digitalWrite(IN2,HIGH);
  delay(time);
}
void trunRight(int time){
  analogWrite(EN1,pwm);
  digitalWrite(IN1,HIGH);
    analogWrite(EN2,pwm);
  digitalWrite(IN2,LOW);
  delay(time);
}
void backward(int time){
  analogWrite(EN1,pwm);
  digitalWrite(IN1,LOW);
    analogWrite(EN2,pwm);
  digitalWrite(IN2,LOW);
  delay(time);
}
void stay(int time){
  analogWrite(EN1,0);
  analogWrite(EN2,0);
  delay(time);
}
l 自動煞車
#include <SCoop.h>

int _ABVAR_1_CM = 0 ;
int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin)
{
  long duration;
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(20);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  duration = duration / 59;
  if ((duration < 2) || (duration > 300)) return false;
  return duration;
}


void setup()
{
  pinMode( 5 , OUTPUT);
  pinMode( 7 , OUTPUT);
  pinMode( 1 , OUTPUT);
  mySCoop.start();
  digitalWrite( 12 , LOW );

  Serial.begin(9600);
  pinMode( 4 , OUTPUT);
  pinMode( 6 , OUTPUT);
}

void loop()
{
  digitalWrite( 1 , HIGH );
  yield();
}

defineTaskLoop(scoopTask10)
{
  _ABVAR_1_CM =    ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 12 , 13 ) ;
  Serial.print("message");
  Serial.print(" ");
  Serial.print(_ABVAR_1_CM);
  Serial.print(" ");
  Serial.println();
  if (( ( _ABVAR_1_CM ) < ( 20 ) ))
  {
    digitalWrite( 4 , LOW );
    analogWrite(5 , 0);
    digitalWrite( 6 , LOW );
    analogWrite(7 , 0);
  }
}
最後是我的車體,我目前做很慢,因為我還不熟悉整個介面,甚至連形體要如何翻轉都還不太熟悉,所以,目前只做出來整個車殼,至於要栓螺絲的地方,我打算要自己握出來後再鑽,因為我怕車體上所做的洞有錯,且自己鑽洞的速度較快,所以我印完之後還要自己鑽洞,因此我預估這個禮拜要做完8成,藍芽自動煞車系統也要趕快完成(其實也只剩下一些關於程式編排邏輯的東西),這樣我才能趕快做完發表的東西啊!!!


2017年4月4日 星期二

2017/04/02研究日誌(48)超音波測試

因為我的超音波在感測時,一定要貼得很近它才會停,所以我決定要做跟超音波反射有關的實驗。以下是我要做的項目:
一、PING 超音波距離感測器
二、HC-SR04超音波感測器
首先,我要先做PING 超音波距離感測器,看看這樣對反射有沒有影響,所以我決定有紙類、塑膠類、鐵製品類這三種,都已10公分的距離來當作計算,以下為實驗表格:
                        物品
項目     
紙類
塑膠類
鐵製品類
最高數值
4
4
4
做低數值
4
4
4
平均
4
4
4
最後結果發現,這些數據看起來都很平均,所以我要更進一步地做實驗,因此我把距離改成20公分,數據如下表:
                     物品
項目     
紙類
塑膠類
鐵製品類
最高數值
8
8
8
做低數值
8
8
8
平均
8
8
8
結果還是跟10公分一樣,結果相當平均,所以我決定要一口氣加到100公分,數據如下:
              物品
項目     
紙類
塑膠類
鐵製品類
最高數值
25
24
25
做低數值
25
24
25
平均
25
24
25
結果發現,到了100公分後,距離平均有些許的相差,不過我還發現一點,就是照前面10公分和20公分的實驗中,數據顯示要乘2.5才會成為實際的距離,不過在100公分的實驗中,每一個數據乘以2.5後,都小於100,所以我還要用一半,也就是50公分,數據如下表:
                       物品
項目     
紙類
塑膠類
鐵製品類
最高數值
20
20
20
做低數值
20
19
20
平均
20
19.5
20
結果發現,平均差不多,乘以2.5除了塑膠類以外,其他的都等於50,塑膠類也差不多,所以由此實驗可以知道,距離越長,數值改變越大。
再來我用HC-SR04超音波感測器與反射有沒有誤差,我有在網路上找到跟反射傳輸到電腦上數據的程式,而且這次他直接把數據轉換成公分,方便我們進行計算,而我也先從10公分開始做,數據如下表:
                     物品
項目     
紙類
塑膠類
鐵製品類
最高數值
10
10
10
做低數值
10
9
10
平均
10
9.5
10
結果可以發現,HC-SR04超音波感測器以距離10公分反射十,會有些許的誤差,不過並沒有很大,所以我繼續做20公分的實驗,數據如下表:
                   物品
項目      
紙類
塑膠類
鐵製品類
最高數值
20
21
21
做低數值
19
20
21
平均
19.5
20.5
21
這次的結果可以知道,誤差約是1公分,也是在可接受質以內,所以我要一次把他加到100公分看看,數據如下表:
                  物品
項目     
紙類
塑膠類
鐵製品類
最高數值
98
99
100
做低數值
97
97
98
平均
97.5
98
99
結果發現,100公分的誤差跟PING 超音波距離感測器100公分的比起來,誤差的小很多,因此我在做200公分的試試看,結果如下表:
                 物品
項目     
紙類
塑膠類
鐵製品類
最高數值
201
199
200
做低數值
200
200
202
平均
200.5
199.5
201
結果發現,到了200公分後,距離誤差也沒有很大所以由此可知,HC-SR04超音波感測器測的距離較遠,不過稍有誤差,PING 超音波距離感測器距離較近,不過誤差較小。以下有表格詳細的說明:
                                 物品
     項目                                
HC-SR04超音波模組
PING 超音波模組
價錢
53  
1040
距離
 
精確度
  

從結果看得出,HC-SR04超音波模組比較好,因為它誤差不大,且測量範圍較廣,所以我決定要用HC-SR04超音波模組。

2017/07/30 研究日誌(61) 慘痛的經驗

上完我上次說過的那堂課很久後,我終於要把我那一台機器車給裝在原本的板子了 !!! 再組裝時,因為我一開始的那個車體有很多零件是用熱熔膠黏的,所以在清膠時花了我不少的時間,清完後,我打算要從輪胎開始裝起,不過,這時候我要拆我的萬象輪 ( 就是一個大鋼球,旁邊會有小鋼球的那種 ...