古人智慧

Just Do it!
上士聞道,勤而行之;中士聞道,若存若亡;下士聞道,大笑之。不笑,不足以爲道。
~ 道德經 41

「實現夢想不是追逐成功,而是在於賦予生命意義,人生中的每個決定與聲音都有其重要含義。」"The key to realizing a dream is to focus not on success but on significance — and then even the small steps and little victories along your path will take on greater meaning."
電視名人-歐普拉·溫芙蕾(OPRAH WINFREY)

搜尋此網誌

Translation

2016年7月31日 星期日

Spider Robot[ESP8266]蜘蛛robot- all new spider-removeable housing,可換式外殼設計

望穿秋水,第一版外殼出爐了,雖然不是很好看,總是踏出了重要的一步,蜘蛛robot更具商業化價值了~
成果發表:打印完后,再著色。有點噁心,但是我盡力了啦~還加上用ESP做出HTML的遙控器
製作過程:
先用Sketchup建模,細節在這裡。調整后,考慮到讓這個外殼容易取下,就設計成卡鉤的方式。
《螺絲孔位》
《素面出爐﹣前面》
《素面出爐﹣後面》
《著色后 正面》
《著色上螺絲后 反面》
然後,重新理線,把線沿著背面和下面穿進身體,避免留在外觀表面產生雜亂。
《穿到背面》
《從身體下面穿入》
《把線集結在中間》
然後,把一堆線集結在中間,準備蓋上新的外殼。
 《頭先扣上》
《把側邊跑出來的線塞回去》
呵呵,大功告成。
各視角圖分享:
 《側面》
《屁屁面》
然後,當然讓他跑一下看看效果。因為半夜了,只好在沙發上避免吵到鄰居被投訴~XD

這外殼如何?
還有HTML遙控器,這部分又是另外一個重點,待續~




Spider Robot[ESP8266]蜘蛛robot- spider shell parts design

蜘蛛robot問世了一年多,似乎沒有心人幫他做個外殼。拜託人嘛,感覺也不好,自己也不太會畫。每次看到他一直裸體,裡面電線亂的像xx毛一樣,真是不爽!
嘗試自己動手做,總是有第一次。找書找資料動手畫看看,SketchUp有幾個plugin非常不錯用。
幾個動作先做
 身體尺寸與大架構先固定好。
 成型
 塊狀結構,可以用scale來變化。用Fredo6_FredoScale來做放大縮小,非常好用。
 拉尾巴出來~
有一點點像了~
再做頭型與腰身~

呵呵,感覺不錯,有一點像啦~
下一篇,解說Spider上的成果分享。


[空調維修]空調出風口擺葉卡隼破裂故障,怎麼辦?

家裡的空調擺葉出現異音,無法正常擺動。第一時間以個人經驗判斷,應該是裡面馬達故障。但是,拆下來檢查發現擺葉與電機的卡隼裂開!打電話問原廠,如果是馬達有零件可換,但擺葉竟然說這款已經phase out,沒零件可換!!!
那咋辦?

《空調的擺葉搖擺不正常》
《拆下來檢查》

馬蓋先(Macgyver)魂發作,自己DIY!
仔細分析,應該可以用3D打印卡隼的部分,然後用AB膠固定在擺葉上。
先量測卡隼的尺寸后,用SketchUp建立3D模型。


因為很小一個,10分鐘就打印為完成。
在擺葉的卡榫上把碎裂的部分切除,是的切除 Cut-off!!!
盡量切整齊,垂直表面。
把切除面用砂紙打磨一下,主要是讓表面稍微粗糙,黏著力會比較強。
接下來,準備粘合。建議用AB膠,因為結合力強,而且會硬化。
兩邊塗上AB膠后,用夾子固定,這部分很重要,不然位置很容易跑掉。
檢查角度與黏著的地方是否正確。
然後放置一個晚上,讓AB膠固化。裝回去的時候,確定卡筍的角度與馬達軸的缺口要一致。
最簡單的方式是把出風口位置設定在往下第二階,會比較好裝。
裝上了~~,看來還不錯~終於救回來了!

實際演練一下~

真不錯~~


2016年7月24日 星期日

[Banana] turn off the wifi

Banana Pro使用在有線的情況下,如果要把Wifi關掉,怎麼做?
很簡單,用這個指令:


sudo ifconfig wlan2 down

如果要在系統startup的時候就執行這個指令,就在直接在 /etc/rc.local加入這一行。

sudo nano /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#turn off the wifi
ifconfig wlan2 down

Spider Robot[ESP8266]蜘蛛robot-WebPage design

MiniPlan控制板是使用ESP8266當做電控板核心,優勢是可以把控制界面用HTML寫在software裡面。這HTML不僅可以跨任何平台,也可以用各種設備如手機平板筆電等等。
是非常棒的開發platform,值得推廣。

這是新一代蜘蛛robot部分的code,主要功能是用HTML在瀏覽器內產生前進、後退、左右與坐下的按鍵,這也是參考MiniPlan的設計。分享如下:


void setup()
{
  ....
  ....
  server.on("/ctrl", HTTP_GET, WebForm_Control);
  server.begin();
}
void WebForm_Control(void)
{
  Serial.println("----WebForm_Control----");
  String content = "";
  content += "<html>";
  content += "<head>";
  content += "<title>Spider Controller</title>";
  content += "<style type=\"text/css\">";
  content += "  body {";
  content += "  color: white;";
  content += "  background-color: #000000 }";

  content += "  .web_btn {";
  content += "  width: 140px;";
  content += "  -webkit-border-radius: 5;";
  content += "  -moz-border-radius: 5;";
  content += "  border-radius: 5px;";
  content += "  font-family: Arial;";
  content += "  color: #ffffff;";
  content += "  font-size: 24px;";
  content += "  background: #006666;";
  content += "  padding: 10px 20px 10px 20px;";
  content += "  text-decoration: none;";
  content += "}";
  content += "</style>";
  content += "</head>";

  content += "<body>";
  content += "<table>";
  content += "<tr>";
  content += "<td></td>";
  content += "<td><button  class=\"web_btn\" onclick=\"fn(1)\">Forward</button></td>";
  content += "<td></td>";
  content += "</tr>";

  content += "<tr>";
  content += "<td><button  class=\"web_btn\" onclick=\"fn(3)\">Left</button></td>";
  content += "<td><button  class=\"web_btn\" style=\"background: #ff6600\" onclick=\"fn(0)\">Sit</button></td>";
  content += "<td><button  class=\"web_btn\" onclick=\"fn(4)\">Right</button></td>";
  content += "</tr>";

  content += "<tr>";
  content += "<td></td>";
  content += "<td><button  class=\"web_btn\" onclick=\"fn(2)\">Backward</button></td>";
  content += "<td></td>";
  content += "</tr>";
  content += "</table>";

  content += "</body>";
  content += "<script>";
  content += "function fn(cmd) {";
  content += "var xhttp = new XMLHttpRequest();";
  content += "xhttp.open(\"GET\", \"move?c=\"+cmd+\"&v=1\", true);";
  content += "xhttp.send();";
  content += "}";
  content += "</script>";
  content += "</html>";

  server.send(200, "text/html", content);
}


用手機的browser連接蜘蛛robot,產生的畫面,然後就可以按鈕讓他前進後退左右轉了,讚啦!


2016年7月22日 星期五

ESP8266 - TickerScheduler

這個library提供類似multitask的機制,還不錯用。做個記錄~

#include <tickerscheduler.h>
//Regis, tick task test
TickerScheduler ts(5);

void setup(void)
{
  Serial.begin(115200);
  Serial.println("Start");

  //Regis, tick task test
  if (ts.add(0, 5000, task1, true))
  {
    Serial.println("Tick task - task0 ok");
  }
  if (ts.add(1, 4000, task1, true))
  {
    Serial.println("Tick task - task1 ok");
  }
  if (ts.add(2, 3000, task2, true))
  {
    Serial.println("Tick task - task2 ok");
  }
  if (ts.add(3, 2000, task3, true))
  {
    Serial.println("Tick task - task3 ok");
  }
  if (ts.add(4, 1000, task4, true))
  {
    Serial.println("Tick task - task14 ok");
  }
}

void task0(void)
{
  Serial.println("Task0");
}

void task1(void)
{
  Serial.println("Task1");
}

void task2(void)
{
  Serial.println("Task2");
}

void task3(void)
{
  Serial.println("Task3");
}

void task4(void)
{
  Serial.println("Task4");
}

void loop(void) {
  ts.update();
}


upload到ESP8266,從terminal可以觀察到task0到task4依照設定到秒數把message印出來。
看來有機會做“類”多工的功能,蜘蛛Robot有機會做更高階的應用了~

2016年7月21日 星期四

[手機維修] HTC Desire 820﹣應用導電銀漿

現代人手機幾乎是身體的一部分,是個人的資訊中心。所以手機壞了,好像靈魂不見了。。。
HTC Desire 820是不錯的手機,但是為何用了一年多就進廠修了2次,還好都救得回來。
過不到半年,這手機突然無法充電,怎麼換cable都沒效,但是這次就沒這麼幸運了,機器已經過保固期。雖然自己也是做手機,但是也難自己動手,想說送修看看,等報價再做決定。結果,隔2天維修報價要4600,哇,這麼貴!!!他們建議不要修,買新比較划算!

當然,Maker魂發作,經過仔細檢查,我發現充電口MicroUSB的1根pin好像脫落了,看來有就會補救,心中盤算把機器拆開,把MicroUSB換新的就搞定,這讓我信心大增!
用Google找htc desire 820 disassemble,把機器拆了。

為了美觀,上下面板用雙面膠,實在不利維修,XD~

如果要拆其他小板子,記得要先把電池connector移除,不然很容易燒雞~
好不容易拆機完成,結果一看,usb connector焊的死死的,而且還用固化膠粘的牢牢的!!看來要換這個connector的機會不高,失望~
不過,總是要了解是哪裡出問題。先用電錶把每根PIN量測一番,發現VCC那根脫落了,難怪無法充電!
想想怎麼辦? 放棄?
沒材料沒設備還真難處理。。。好吧,先擺著。。。


《過了一天~》

突然靈光一現,想到導電銀漿,是的,我應該可以把銀漿填到那個細如髮絲的小縫!
找出最細的針頭試看看,老實說真的好難,太細了,而且老人家手還會抖。。。
不過,屏住氣慢慢刮刮看,然後用電錶量看看,聽到bi一聲,開心~看來有效果!
為了讓銀漿固化,特地放個一個晚上10幾個鐘頭,隔天再用電錶測一次,bi聲不斷,成功了!
看到充電的logo~讚啦~
再來把機器裝好~

開機成功!

進入到主畫面,女主人開心極了!
喔,不是,她才不開心,不能買新的~~~ 是我開心極了~
後續~
不知道這銀漿是否能撐多久,觀察一陣再分享結果~
補一張點銀漿的特寫~


*** 後續補充:2016-10-03
用了3個多月,現在還頭好壯壯。。。。持續關注中。。。。

2016年7月19日 星期二

Spider Robot[ESP8266]蜘蛛robot-Gyroscope陀螺儀應用

Robot肯定與Gyro離不開關係,為何?
Gyro可以提供robot目前身體平衡的資訊,然後經過演算法把角度補償回來。
這是我另一個project ﹣ 兩輪平衡車,這項目提供很多Gyro的觀念與做法。
那蜘蛛robot首先用Gyro要做什麼?先看看這個動作吧?
有趣吧?他可以依照地形而調整身體,不會容易滑倒或翻倒。
不過,目前只做到X、Y軸補償,但是因為沒把PID演算法加入,造成補償過程中身體晃動很嚴重,PID的演算法還需要研究~


2016年7月10日 星期日

[Household DIY] 家電遙控器或手提電話按鍵接觸不良維修之二 - 導電銀漿

半年前修復后《前篇維修》,過沒多久,按鍵的接觸還是不良,這次就買了導電銀漿來試看看。因為用量不多而且不熟悉,就先買了0.5mg注射筒的方式來試用。
就是這支,感覺質量還不錯~

要修的家電是2支電話,一支TV遙控器。為了不讓銀漿凝固,所以一口氣把3支全部拆開,把橡皮按鍵擺在一起施工。
一字擺開,開始上銀漿。

2016年7月8日 星期五

Spider Robot upgrade [ESP8266 + 16PWM] 蜘蛛robot大升級

為了在2016/06/25在高雄師範大學做演講,把他從廢墟中挖出來,重新修復可以正常運作。
在這過程中,覺得這蜘蛛robot應該可以有更多發揮,讓他可以做更多複雜的動作。
ArduinoPro Mini的Flash與RAM空間太小,而且只有8bit CPU,不足以提供高階的運用。
ESP8266可以有4MB Flash與32bit CPU還包了Wifi功能,這是很好的平台開發。
感謝KevinGeorge提供非常棒的MiniPlan控制板,裡面包含ESP8266+16組PWM+USB download。讓我的蜘蛛Robot能力大幅提升。

用Sketchup把MiniplanPCB匯入確定尺寸,包到蜘蛛的身體包含電池與電源板。
這次我把Gyro陀螺儀MPU6050加入robot,為什麼? 呵呵,先賣個關子,有好玩的應用等著開發~~

《尺寸變小》