分享一下 「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 架

0.99ma, 安全~ 可以安心一片 Arduino 直推五隻錶頭而唔駛加 transistor 用 external power 了~

可以開工~


先拆出錶面


Scan 了, Photoshop 修改成合用的錶面再 Print 出來


Ctrl + C 之後 Ctrl + V


Download :D  (冇錯~ 小弟用o既係網上行 18M)


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

[ 本帖最後由 dulllou 於 2009-5-19 18:09 編輯 ]
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

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

有需要的可以自己改圖


已經加左 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 編輯 ]
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

好得喎~!!!!

TOP

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

3MM UV LED $0.19@ Taobao


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



[ 本帖最後由 dulllou 於 2009-5-19 18:19 編輯 ]
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

好型

TOP

成個中電control room咁
掛個42" Plasma係中間

TOP

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


呢個易 Set, 唔駛多講


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


易 set, 不作詳解


易 set, 不作詳解


(死...串錯左字.... 聽日先改吧...)

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


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

[ 本帖最後由 dulllou 於 2009-5-20 00:22 編輯 ]
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

我就無咁既技能啦

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

TOP

原帖由 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 買... 如果買就大概百二蚊左右... 一件就夠, 唔駛五個錶買五件...
十條電線仔.... 係咁多...

TOP

唔知可唔可以同一時間次出幾隻表?....好次D code...只可以出一隻表

TOP