Board logo

標題: 分享一下 「DIY 古典指針下載速度計」的 Code 和圖片~ [打印本頁]

作者: dulllou    時間: 2009-5-19 16:51     標題: 分享一下 「DIY 古典指針下載速度計」的 Code 和圖片~

用具 :

硬件 :
古董 voltmeter 一隻 $18 @ Taobao
Arduino (其他任何 MCU 都可以, 不過小弟不才, 淨係識用 Arduino) $58 @ Taobao
Jumper 一對 $0.0375 @ 華強 ($25/200米...)
電阻一粒 (阻值視乎你個 MCU 同表頭) $0.1
低容量電容一粒, (用以吸收 PWM 的震動, 令支針行得 smooth D, 但非必要).

軟件
Code (晌2 樓)
Arduino IDE
LED Smarties

試一試, 晌冇 PWM 的情況下俾 5V 佢 會用幾多 ma 先 (Arduino 只可以俾到 40ma), 如果對方大咬會有機會燒 Arduino 架
[attach]849979[/attach]
0.99ma, 安全~ 可以安心一片 Arduino 直推五隻錶頭而唔駛加 transistor 用 external power 了~

可以開工~

[attach]849950[/attach]
先拆出錶面

[attach]849953[/attach]
Scan 了, Photoshop 修改成合用的錶面再 Print 出來

[attach]849955[/attach]
Ctrl + C 之後 Ctrl + V

[attach]849957[/attach]
Download :D  (冇錯~ 小弟用o既係網上行 18M)

[attach]849981[/attach]
定住佢晌一個位, 睇下個錶會唔會因為 PWM 而支針會震. 果然, 呢d 平價錶對 Arduino 500hz 的 PWM 冇反應, 肉眼見唔到支針震, 連電容都慳返 (如果你做呢個 project 發現支針晌原本應該定住o既時間震, 一係你件 MCU PWM 太慢, 一係就隻錶太敏感, 只要加粒細細o既電容晌錶o既 2 邊就可以啦)

[ 本帖最後由 dulllou 於 2009-5-19 18:09 編輯 ]
作者: dulllou    時間: 2009-5-19 16:52

Code 如下 (執過下...不過仍然都係冇 Comment..)
為左方便使用, (唔係人人用 18M broadband), 我改左用 %, 即係條線o既 0%~100%
方便其他用比 18M 快或 18M 慢的人用 (如果唔係用 100M o個d 人用18M code 爆錶都似

有需要的可以自己改圖
[attach]849982[/attach]

已經加左 LED 晌 code 入便, 不過由於未有螢光噴漆, 所以未有圖睇
我o既計劃係學 mod a 牌風扇o個位師兄咁買支螢光漆噴左入便張紙佢, 當 download speed 夠快時就會著 UV LED 然後個 meter  就會發光喇

int PWM_A = 3;
int PWM_B = 5;
int WARN_LED = 7;

int rxChar;
int controlValue;
int updateToggle=HIGH;

int IsNumber(int testChar);
int IsUpperAlpha(int testChar);
int SetPWMChannel(int channel, int value);

void setup()
{
  Serial.begin(9600);
  pinMode(PWM_A, OUTPUT);
  pinMode(PWM_B, OUTPUT);
  controlValue=0;
}

void loop()
{
  if (Serial.available()) {
    rxChar = Serial.read();
    if(IsUpperAlpha(rxChar)) {
      SetPWMChannel(rxChar,controlValue);
      controlValue=0;
    }      
    if(IsNumber(rxChar)) {
      if(controlValue>100) {
        controlValue=0;
      }
      controlValue*=10;
      controlValue+=rxChar-'0';
    }
  }
}

int SetPWMChannel(int channel, int percent) {
  int valid=false;
  int pwmPin=0;
  
  switch(channel) {
    case 'A' :
      pwmPin=PWM_A;
      valid=true;
      break;
    case 'B' :
      pwmPin=PWM_B;
      valid=true;
      break;
  }
  if (valid) {
    float pwmValue;
    if (percent>100) {
      percent=100;
    }
    if(percent<0) {
      percent=0;
    }
    pwmValue=percent*(255.0/100.0);
    analogWrite(pwmPin,(int)pwmValue);
   
    Serial.print("Set ");
    Serial.print(channel,BYTE);
    Serial.print(":");
    Serial.print(percent);
    Serial.print(" : ");
    Serial.println(pwmValue,HEX);
   
    if (updateToggle==HIGH) {
      updateToggle=LOW;
    }
    else {
      updateToggle=HIGH;
    }
      
    digitalWrite(WARN_LED,updateToggle);
  }
  else {
    Serial.println("Invalid Request");
  }   
  return(valid);
}

int IsNumber(int testChar){
  int result=false;
  if((testChar>='0') && (testChar<='9')){
    result=true;
  }
  return(result);
}

int IsUpperAlpha(int testChar){
  int result=false;
  if((testChar>='A') && (testChar<='Z')){
    result=true;
  }
  return(result);
}

[ 本帖最後由 dulllou 於 2009-5-19 23:35 編輯 ]
作者: jefferychan    時間: 2009-5-19 17:13

好得喎~!!!!
作者: dulllou    時間: 2009-5-19 17:23

下一步要學之前mod A 牌風扇o個位師兄咁買罐螢光漆噴噴入便張紙仔, 再加粒 UV LED 落去. 到時再 Post 上來威威~

3MM UV LED $0.19@ Taobao
[attach]849962[/attach]

買左好幾個 meters. 到整搵 2 片亞加力鑲起晒佢 display download, cpu, 水冷水溫, 水泵轉數, 恆指...咩都好啦   加多片 LCD (詳見此) 同幾個七劃管 來 display 時間同新聞...掂

[attach]849964[/attach]

[ 本帖最後由 dulllou 於 2009-5-19 18:19 編輯 ]
作者: 薯餅v.v    時間: 2009-5-19 17:55

好型
作者: YES_MAN    時間: 2009-5-19 23:26

成個中電control room咁
掛個42" Plasma係中間
作者: dulllou    時間: 2009-5-20 00:06

加多幾個面板俾有興趣o既工友

[attach]850273[/attach]
呢個易 Set, 唔駛多講

[attach]850275[/attach]
晌 LCD Smarties 入便有個叫 Email 的.
Server : pop.gmail.com
SSL : 995
Login : xxxxxxx@gmail.com (記得加返 gmail.com 啊)
Password : 你知我唔知

[attach]850277[/attach]
易 set, 不作詳解

[attach]850279[/attach]
易 set, 不作詳解

[attach]850281[/attach]
(死...串錯左字.... 聽日先改吧...)

LCD Smartie 晌官網有一個叫 Yahoo Weather plugin 的. 香港個 Code 係 CHXX0049
我o個句係咁的, 可以參考下
$dll(YahooWeather,1,CHXX0049,currenttext)

[attach]850320[/attach]
呢個唔駛用LCD Smarties, 晌 MCU 直接做 Count down 就可以了~

[ 本帖最後由 dulllou 於 2009-5-20 00:22 編輯 ]
作者: lvanb    時間: 2009-5-20 00:13

我就無咁既技能啦

請問 c hing 用左幾錢 ?  同埋係駁pc邊度架 ? thks
作者: dulllou    時間: 2009-5-20 00:30

原帖由 lvanb 於 2009-5-20 00:13 發表
我就無咁既技能啦

請問 c hing 用左幾錢 ?  同埋係駁pc邊度架 ? thks


唔駛技能架 (code 已經 post 了在二樓, copy & paste 就可以)....只要有件 MCU 晌手就做到. MCU 呢咪野其實我都係初學緊..
我件 Arduino 係用 USB駁電腦, 然後用Offer 兄介紹的 LCD Smartie feed data 去 MCU, MCU 就輸出唔同o既電壓令到支針 fart 去佢應該去o既地方. 就係咁簡單.

成本.....
fart 針錶頭, 18蚊人仔一個, 買左五個
Arduino.. 一直玩開, 唔係特別為左呢個 project 買... 如果買就大概百二蚊左右... 一件就夠, 唔駛五個錶買五件...
十條電線仔.... 係咁多...
作者: jefferychan    時間: 2009-5-20 10:48

唔知可唔可以同一時間次出幾隻表?....好次D code...只可以出一隻表
作者: jackli    時間: 2009-5-20 14:33

Dull哥你Dcode 係唔係自己寫嫁?
作者: jason930    時間: 2009-5-20 14:55

好過癮
不過我唔識呢d 野
作者: dulllou    時間: 2009-5-20 23:30

原帖由 jefferychan 於 2009-5-20 10:48 發表
唔知可唔可以同一時間次出幾隻表?....好次D code...只可以出一隻表


而家d code 係用 2 個 hardward PWM pins 出2 隻錶... 另外再用 1 digital pin 出一粒 LED
Arduino 有 6 個 hardware pin, 最多可以出六隻錶~ 不過我買得5隻....

如果用埋 digital pin 做 software PWM, 最多可以出 19 隻~
作者: dulllou    時間: 2009-5-20 23:31

原帖由 jackli 於 2009-5-20 14:33 發表
Dull哥你Dcode 係唔係自己寫嫁?


緊係唔係啦.
http://arduino.cc 有個叫 arduino playground o既地方, 好多 code. 左抄抄, 右并并, 砌砌埋埋得來的
作者: dulllou    時間: 2009-5-20 23:33

原帖由 jason930 於 2009-5-20 14:55 發表
好過癮
不過我唔識呢d 野


買左返來, 玩玩下就識架喇
我就係人辨啦, 2 個月前我先學緊用 MCU 來令到粒 LED 會閃   而家慢慢開始可以整到d 叫做有少少用o既野出來啦

買啦買啦, 好易學架咋 (放毒模式)
作者: jackli    時間: 2009-5-20 23:53

原帖由 dulllou 於 2009-5-20 23:33 發表


買左返來, 玩玩下就識架喇
我就係人辨啦, 2 個月前我先學緊用 MCU 來令到粒 LED 會閃   而家慢慢開始可以整到d 叫做有少少用o既野出來啦

買啦買啦, 好易學架咋 (放毒模式)


有C 的library 慢慢call,
真係幾方便的..
作者: jefferychan    時間: 2009-5-21 15:23

原帖由 dulllou 於 2009-5-20 23:30 發表


而家d code 係用 2 個 hardward PWM pins 出2 隻錶... 另外再用 1 digital pin 出一粒 LED
Arduino 有 6 個 hardware pin, 最多可以出六隻錶~ 不過我買得5隻....

如果用埋 digital pin 做 software PWM, 最多可以出 19 隻~

等我上華強買六隻玩下先
作者: snlworld    時間: 2009-5-21 16:07

3MM UV LED $0.19@ Taobao
can pm the link...
作者: jefferychan    時間: 2009-5-21 17:57     標題: 回覆 18# 的帖子

有時間上華強搵...平過淘寶.......
作者: jimchoi    時間: 2009-5-21 19:47

最后一張正~
作者: dulllou    時間: 2009-5-21 20:42

原帖由 jefferychan 於 2009-5-21 15:23 發表

等我上華強買六隻玩下先


亦都可以用 multimeter 來玩...打去 DC 2000mv 再加 resistor 就已經可以玩
作者: jackli    時間: 2009-5-21 20:43

原帖由 dulllou 於 2009-5-21 20:42 發表


亦都可以用 multimeter 來玩...打去 DC 2000mv 再加 resistor 就已經可以玩


錶面型好多
作者: dulllou    時間: 2009-5-21 20:47

原帖由 snlworld 於 2009-5-21 16:07 發表
3MM UV LED $0.19@ Taobao
can pm the link...


我買左 500, 佢收我 0.22...改左價錢俾我拍之後冇改返 0.19....
PM 左俾你 anyway. 你同佢講你之前睇o岩左係 $190/k 佢應該會改返俾你的.

佢d LED 唔錯, 最少唔會好似香港o個d 咁粒粒對腳都氧化晒, 粒粒頭頭都花晒 (大口徑)

我仲入左 D 8MM 4 腳 RGB 用一件 8*8 RGB.... 爽
作者: jackli    時間: 2009-5-21 20:51

比你講到好想玩添,
但係香港邊度可以找到
作者: dulllou    時間: 2009-5-21 20:57

原帖由 jackli 於 2009-5-21 20:51 發表
比你講到好想玩添,
但係香港邊度可以找到


想玩乜 ? RGB ? 我好似都唔多見有 RGB 賣....成日淨係見到 2 腳不可控 RGB... 8MM 仲要七八蚊粒...

我d 4 腳 $1.5 人仔/粒咋
RGB 8*8 買左四十幾蚊人仔...算幾平, 不過 38pins...要學Charlieplex 了...
我打算整個用 touch screen 控制的 touch panel 來玩件 8*8
作者: jackli    時間: 2009-5-21 20:59

原帖由 dulllou 於 2009-5-21 20:57 發表


想玩乜 ? RGB ? 我好似都唔多見有 RGB 賣....成日淨係見到 2 腳不可控 RGB... 8MM 仲要七八蚊粒...

我d 4 腳 $1.5 人仔/粒咋
RGB 8*8 買左四十幾蚊人仔...算幾平, 不過 38pins...要學Charlieplex 了...
我打算整個用 touch screen 控制的 touch panel 來玩件 8*8


咁依個呢?

作者: dulllou    時間: 2009-5-21 21:03

原帖由 jackli 於 2009-5-21 20:59 發表


咁依個呢?


想玩 ? 搵粒 cp2102 加 PIC 啦 :P
再唔係入件 arduino 囉
作者: jackli    時間: 2009-5-21 21:06

原帖由 dulllou 於 2009-5-21 21:03 發表


想玩 ? 搵粒 cp2102 加 PIC 啦 :P
再唔係入件 arduino 囉


cp2102 +  8051 都得...

不過邊度有得買
作者: dulllou    時間: 2009-5-21 21:08

原帖由 jackli 於 2009-5-21 21:06 發表


cp2102 +  8051 都得...

不過邊度有得買


8051 唔識... :P
至於當然係晌[attach]852000[/attach]買
作者: jackli    時間: 2009-5-21 21:09

原帖由 dulllou 於 2009-5-21 21:08 發表


8051 唔識... :P
至於當然係晌852000買


pmpm
我要係香港以內的
作者: dulllou    時間: 2009-5-21 21:12

原帖由 jackli 於 2009-5-21 21:09 發表


pmpm
我要係香港以內的


冇啊....香港好似搵粒 atmega168 都難...邊有 Arduino 賣...
大陸速遞落o黎, 30 蚊啦

一次買多幾樣. Arduino 好多 module 賣的 (Arduino 的 module 叫"shield" ), 由 breadboard shield, LCD shield, motor driver shield, xbee sheild, 藍牙 shield 到 ethernet shield 咩都有...一次買幾樣來溝淡d 運費囉
作者: jackli    時間: 2009-5-21 21:13

原帖由 dulllou 於 2009-5-21 21:12 發表


冇啊....香港好似搵粒 atmega168 都難...邊有 Arduino 賣...
大陸速遞落o黎, 30 蚊啦

一次買多幾樣. Arduino 好多 module 賣的 (Arduino 的 module 叫"shield" ), 由 breadboard shield, LCD shield, motor drive ...


香港要買SP200S都難
作者: jefferychan    時間: 2009-5-22 11:41

樓主就好哪.... 我自問就冇今多時間去玩...... 唉~
作者: G544    時間: 2009-5-22 11:59

倒數收工果個好正
我呢度冇人識睇中文可唔可以要一個
作者: dulllou    時間: 2009-5-22 22:35

原帖由 G544 於 2009-5-22 11:59 發表
倒數收工果個好正
我呢度冇人識睇中文可唔可以要一個


緊係可以.
你只需要買一件 Arduino, 一個針指錶
將錶面 print 出來貼上去, 接好線, 將二樓 D code copy & paste 落Arduino IDE 度就有架喇
作者: ivan_00    時間: 2009-5-23 17:24

dulllou 兄  我想問你個wii 手掣點整架??
點讀個手掣d sign?
作者: dulllou    時間: 2009-5-23 19:32

原帖由 ivan_00 於 2009-5-23 17:24 發表
dulllou 兄  我想問你個wii 手掣點整架??
點讀個手掣d sign?


如果唔想剪爛隻 nunchuk, 可以用呢舊打將 nunchuk 駁入 Arduino
[attach]853670[/attach]
[attach]853672[/attach]
晌 taobao 買左十蚊人仔...

Nunchuk 入便個Accelerometer 會用唔同o既電壓來話俾 MCU 知佢而家個位置係點樣.
我自己試o個陣 jot 左d note, 可以分享下便大家 (下面係用 Arduino o既 10bits ADC (0-1023) 出來的數值)

水平移動佔 1 pin. 水平時, 大概會出 125 (0.61v), 最左時係 75 (約 0.366v), 最右時 180 (約0.879v)
垂直亦都係獨佔 1 pin. 平放時 121 (0.59v), 企直 (buttons 向上) 70 (約 0.34v), 垂低 180 (約0.88v)

我就係用呢d 數字來 read 隻 nunchuk 喇[attach]853672[/attach]

[ 本帖最後由 dulllou 於 2009-5-23 19:34 編輯 ]
作者: ivan_00    時間: 2009-5-24 01:19

佢係唔係有4pin?
咁重有1pin要來做咩??
作者: dulllou    時間: 2009-5-24 15:57

原帖由 ivan_00 於 2009-5-24 01:19 發表
佢係唔係有4pin?
咁重有1pin要來做咩??


仲有個冬菇,  C制同 Z 制丫嘛
作者: ivan_00    時間: 2009-5-24 16:19

原帖由 dulllou 於 2009-5-24 15:57 發表


仲有個冬菇,  C制同 Z 制丫嘛

一支pin 做哂c z 冬菇?  咁有無辦法讀到d sign?
作者: dulllou    時間: 2009-5-24 19:22

原帖由 ivan_00 於 2009-5-24 16:19 發表

一支pin 做哂c z 冬菇?  咁有無辦法讀到d sign?


而家晌公司, 冇隻野晌手試, 一時講唔到你知
但一條 pin 的確可以控制到幾粒 button 的 (每粒 button 一粒 不同 resistance o既 resistor, 度返個 output 電壓就知你按左邊一粒). 但具體邊 pin 打邊 pin 要返去睇睇先知.
作者: ivan_00    時間: 2009-5-24 22:03

咁慘既星期日晚都重係公司.......
等我都研究下先~
thx
作者: pc1697    時間: 2009-5-25 15:40

hihi

有冇 meter panel 個  taobao link ar?
作者: dulllou    時間: 2009-5-25 15:47

原帖由 pc1697 於 2009-5-25 15:40 發表
hihi

有冇 meter panel 個  taobao link ar?


search "指針" & "電壓"  就有...唔同型狀唔同大小都有. 由幾蚊到十幾蚊o個d 已經 ok
作者: lamkintai    時間: 2009-5-28 17:28

請問是否這個?
http://item.taobao.com/auction/i ... ?cm_cat=0&pm1=1
作者: lamkintai    時間: 2009-5-28 17:35

第一次使用淘寶, 請問如何使用支付寶付款?
作者: dulllou    時間: 2009-5-28 17:37

原帖由 lamkintai 於 2009-5-28 17:35 發表
第一次使用淘寶, 請問如何使用支付寶付款?


我自己晌大陸有個銀行戶口, 可以直接由 ebanking 過錢入支付寶.
另外有d 師兄就話可以用 VISA, 不過我自己未試過.
作者: dulllou    時間: 2009-5-28 17:38

原帖由 lamkintai 於 2009-5-28 17:28 發表
請問是否這個?
http://item.taobao.com/auction/i ... ?cm_cat=0&pm1=1


冇錯. 就係佢. 你再 search 多次, 上次我見過有 $109 的, 平少少
另外, 用 Taobao 記得要講價, 買少野的話講到佢運費一人一半, 買得野多就要佢出晒甚至另外再減價





歡迎光臨 電腦領域 HKEPC Hardware (https://www.hkepc.com/forum/) Powered by Discuz! 7.2