Zclub討論區 Z板

 找回密码
 註冊
搜索
查看: 7192|回复: 18

[教學] 自製手機儀俵教學文~含程式+電路接腳說明(刪除)

[复制链接]
发表于 2014-2-8 00:32:45 | 显示全部楼层 |阅读模式
本帖最後由 fzr_7 於 2014-8-23 17:10 編輯

本文章需要有基本程式設計概念和基本電路焊接概念的人才有用
假如你有心想學但沒有以上概念的請考慮後再往下看
假如你沒以上概念又不想學可以放棄往下看
假如你的車是國產山葉的FZ/R,那麼教學文的內容相容性99%以上


請勿拿去商業用途或當成自己的作品,要轉貼請附上小老婆或是Z族的文章連結,我只分享在這兩個論壇
假如有修改程式也不能當成自己的作品,總不能說你改一行指令就說是你自己的作品吧
至少你的儀表畫面整個要跟我不一樣,數據的表示方式也要不同
像轉速和時速的如何加減,我的並不是抓多少顯示多少,而是有規則的加減,約0.3秒加1或1以上,這樣比較有變化感
雖然android程式是開放的,但是我的程式有些不是範例就能找到的


這次是發教學文,完整的手機儀俵,總價錢不到1500元,可能1000出頭
沒仔細算,不包含手機,程式和接腳說明放在附件
要把手機當儀俵要注意下雨天和散熱,大白天也有可能會看不太清楚


為了人生的第一隻智慧型手機,我做出這東西出來,我10年前要退伍時才第一次拿手機,當時手機都流行有5年以上了
手機對我來說用處不大,用不到那麼好的,所以當我大姊去年11月要給我一隻時我就有這想法
我是拿TWM A5粉色,全新的,黑色和白色我不喜歡,顏色太普遍了


功能有轉速、時速、電壓、機油溫度(可看你感測器的用法)、汽油量、左右轉燈、檔位、總里程、通電後的單次里程
額外可增加LED燈表示超轉,超速、空檔、左右轉
但是畫面只有橫向顯示的FZR的三環表,沒有直立顯示的那個表
因為總不能大家都跟我用一樣的畫面,而且我也比較喜歡純數字的,雖然轉速用指針看他的轉動比較爽


電路圖我只說明各個零件之間的接腳,用畫的會畫到昇天,昇天讓我想起星爺的紅燒翅膀我喜歡吃那首歌


剩下的電路基本接法請參考我以前發的文或GOOGLE,檔位和時速的設計有疑問可以問
因為這兩樣不像其他的接一接機車原本的線就好


IMG_0578.JPG
IMG_0576.JPG
紅色是7660 產生-5V
橙色是PC 817 光電開關
黃色是89S51 轉速和檔位用
綠色是89S51 時速和里程檔位用
藍色是89S51 電壓和汽油量和溫度用
靛色是ILC 7107 電壓和汽油量用
紫色是89S51 傳數據給藍牙用
白色是藍牙模組
灰色是+12輸入轉+5V輸出MAX 3A輸出
粽色是選擇電壓或汽油量用的繼電器
淡藍色是4A保險絲
盒子是158mm(長) x 80mm(寬) x 55mm(高),有點擠建議用大一點點的


111.jpg

模擬器顯示出來的,手機送修中,比原來的多顯示
電壓、機油溫度(可看你感測器的用法)、最高時速(一段時間後後歸0,約1分鐘)、最高轉速(一段時間後後歸0,約1分鐘)


請看後半段橫向的,1.19錄的延遲的問題我有把藍牙傳輸改快一點,所以應該沒問題,假如還是有那就是數據太多來不及處理



時速絕對準,我1.19當天在西螺大橋騎出GPS顯示122 KM/H(78KG),沒趴身體,最後那5 KM/H拖了有幾十秒,油門到底
因為消音塞封住了高轉區,要不是怕遊行被臨檢我就裝大一點口徑的消音塞去,拉到1萬1千轉都很順
對照4年前裝小口徑消音塞在自製繪圖型液晶表上是顯示出121 KM/H誤差不到1%
這4年車子並沒有大改過或是騎太多公里,所以應該性能差不多
我的車極速大約在123~124左右,裝大口徑消音塞沒被封住高轉區時自製繪圖型液晶表有顯示過123 KM/H
不過騎到12X說實在有點快,旁邊的汽車都吃我的土,但是市區還是50~60龜龜的就好,安全第一
數據是顯示0~149,假如你的車有超過請自己修改最大可達200,201~255有其他用途所以不建議超過
有修改的話連里程和方向燈也受影響要往上加你增加給時速的值

里程方面記錄最低是0.0x公里也就是10公尺,但只顯示0.x公里,誤傳的問題下面會說到,這邊就不多說


檔位方面經過我修改機械彈跳時間後有改善不少因為打檔方式產生的跳檔問題
但是瘋狂拉轉打檔騎車好像還是會有干擾到,這問題請自己處理吧
畢竟檔位只是提供判斷,重要還是看轉速高低或時速,能正常顯示空檔就好


轉速方面線接對的話就不管單缸或雙缸都不用改程式,化油車可裝噴射車應該可以
但是數據是顯示0然後是950~12750,50~900這段因為拿來放檔位所以不顯示
少數像FZR 250四缸能達1萬7千轉以上的就只能修改程式顯示到25000轉,單位是100轉而不是我原先的50轉
25100轉~25500轉因為用來判斷那筆資料所以不能用,而且也沒有看過台灣有市售車達到25000轉

汽油量我的FZR是8歐母(10 L)~105.2歐母(0 L),我有用0.5L慢慢倒進去測量所以誤差小,程式是規劃出20等份
其他車請自己看是要跟我一樣還是自己測試或是拿我的去平均分成20等份
200歐母的車友請自己處理,電壓分壓後所有油量的電壓都要在1.9V以內這樣ICL 7107才能處理


溫度感測器是用DS 1821,網路上好像有可以跟機油直接接觸的,不過我沒買
我是綁在油冷排入口管上,沒有朝風吹的方向,顯示是0~99可到12X但是裝的地方沒那麼高就限制它


藍牙的手機程式還是有一點問題,搜索和配對上不是那麼的好,最好先配對過
所以不是正常斷開藍牙連接的話可能要藍牙開關個幾次才能恢復,或是手機重開機
把手機的藍牙關起來再開有時候還是會一樣沒用
藍牙模組本身的工作指令和控制方法請自己問賣家,每個模組本身的工作指令操作可能不同


89S51程式方面一字不動,跟我用的一樣,除非這篇文章後我又有修改,但是目前沒什麼問題
就里程會傳減少值,或是突然傳個值給手機
不過我用0到169自動+1都能按照順序顯示,這問題靠手機程式去處理,有空再試看看
可能是電路沒焊好的關係,或要再加提升電阻,89S51程式應該沒問題,或許抓2次再判斷有沒有一樣會比較好
因為都只有加沒有減,頂多是加到170時恢復成150,不可能會傳比原來少1~5的數據
加上手機程式指令有一行放錯地方,可能是這個原因,但是修正後我還沒出去試車
從1.19參加反禁摩到現在都沒騎FZR出去,假如有問題請自己解決我就不補充了


藍牙模組請買有+5V的比較好處理不用再做+3.3V來接,支援Serial Port Profile(SPP)就可以,2~3百就有了


手機我是用800x480的解析度去設計的,其他規格請自己修改程式
程式設計完eclipse軟體測試最低要求是2.3.3,不過我只試過4.1.2和4.0.x


手機所需的一些檔案是放在SD卡上,路徑是mnt/sdcard2/h/,每台手機位置不一樣請自己摸索後修改程式


h2.jpg是開始畫面,請自己找喜歡的圖片,切成800x430或是800x480,其他規格我沒試


android的程式有些我有註明了,想把FZR的表換成其他圖片請自己更換
用eclipse設計軟體開啟後在左邊的assets的資料夾裡a1~a3.jpg
字體檔在fonts資料夾裡面,可用eclipse做出APK檔然後安裝在手機上,用法請自己GOOGLE我就不教了


我從沒學過android程式到寫出這個程式不到100小時,只上網搜索過資料
找出想要的範例和指令,再修改成我要的方式,沒看過書
所以不要問我很仔細的用法,我肯定不知道,我以前只在學校學過dos的組合語言和tubro c
visual basic我也是自己摸索到幫我哥寫一個大貨車載運統計軟體,有用到SQL+CrystalReport報表
我還用basic 6.0寫過夢幻四驅車(像爆走兄弟卡通一樣的車)的修改器,不過要遊戲才能開啟不然就貼個圖,也是看書學的
8051我也只學過組合語言,所以用C寫的話有問題也不要問我


最後有問題請留言,但GOOGLE就能得到的請先GOOGLE一下
有問題不會像其他幾篇教學文一樣沒注意到,因為這篇算是自製機車儀俵最終文了
有問題一次在這篇文解決,沒回應PM我一下,可能通知太多我沒去看到
我沒事都喜歡上來回應別人的文,然後就一堆通知要仔細看很難,有一次累計到1百多通才1次看完


以後我會加入語音來報導數據,接藍牙耳機,這樣就不用低頭看,不過還要找聲音,身邊都沒好聽的女生聲音
只能上網找然後用編輯軟體把它分割成我要的


假如你不想要上面的一些功能或是要修正像時速或檔位的話也可以告訴我,簡單的話我就幫你改一改
不過測試要你自己測試,但是上面所說的儀俵圖片就請自己解決了


還有對功能有建議的也可以問,像在設計期間有小老婆的車友建議我橫向顯示指針我就有做
在Z族有車友建議手機拿來當鑰匙控制電門開關,但是怕機車會常沒電所以我沒做


高雄鳳山附近的車友直接過來找我教也可以,時間允許都可以,不要跟我要電話,用講的說不清楚
另外我只懂FZR這台車一點點,騎16年,其他車的電系的線路顏色接法我完全不懂,所以有電系問題請先找電路圖


還有麻煩請不要留喇賽文或誇獎文,比我厲害的更多
只是我願意分享出來而已,而不像有些人分享程式還用圖片檔,叫你自己看圖用手打
我是文件檔分享,只要放進去合適的軟體轉成需要的檔案就能用了


還有我手機拿去送修,最近才發現畫面有偏左上方,可能是顯示面板沒弄好
所以這程式是我修改後用模擬器來測試,基本上應該正常,有發現問題請馬上PM我修改



评分

11

查看全部评分

回复

使用道具 举报

发表于 2014-2-20 02:35:30 | 显示全部楼层
窩草,這太神了吧
學不到100小時做出這樣的東西
我也是做android app但電路實在不行
大學電子電路過的超痛苦
回复

使用道具 举报

 楼主| 发表于 2014-2-23 16:50:31 | 显示全部楼层
sennin32 發表於 2014-2-20 02:35
窩草,這太神了吧
學不到100小時做出這樣的東西
我也是做android app但電路實在不行

我高職電子電路都用混的,老師是剛畢業的,沒去補習聽不懂
二專就比較好一點老師比較會教,所以比較懂,雖然是上夜間部
我的教學只需要看說明焊一焊就好,不用太強也可以
電路+8051我花不只100小時,那是android才不到100
舊的電路+8051是用液晶顯示
舊的我裝超過3~4年了,所以只需改到手機接受就可以了
回复

使用道具 举报

发表于 2014-4-14 17:13:00 | 显示全部楼层
這個我也覺得很強, 而且你我你的發文我大概只懂3成.
回复

使用道具 举报

 楼主| 发表于 2014-4-14 22:33:20 | 显示全部楼层
galanda 發表於 2014-4-14 17:13
這個我也覺得很強, 而且你我你的發文我大概只懂3成.

電路方面比較簡單
程式的話8051也算是基本輸入輸出,比較難一點就中斷和計數器如何並存
手機程式很長,但幾乎都是計算和顯示
只要慢慢看就會懂,程式指令網路都有教學
因為ANDROID是公開的,所以範例也不少
回复

使用道具 举报

发表于 2014-8-7 21:57:04 | 显示全部楼层
感謝版主無私的分享~
回复

使用道具 举报

发表于 2014-8-8 09:54:41 | 显示全部楼层
fzr_7 發表於 2014-4-14 22:33
電路方面比較簡單
程式的話8051也算是基本輸入輸出,比較難一點就中斷和計數器如何並存
手機程式很長,但 ...

版主太強了  ~~   
回复

使用道具 举报

发表于 2015-1-14 22:01:08 | 显示全部楼层
大大 您好
我對您所寫的"自製手機儀俵教學文"中的程式,很感興趣.
因為現在好像沒有載點可以下載,不知可否請大大可以寄給我.
                                                                             謝謝
回复

使用道具 举报

 楼主| 发表于 2015-1-15 09:39:25 | 显示全部楼层
本帖最後由 fzr_7 於 2015-1-15 09:45 編輯
f58850045 發表於 2015-1-14 22:01
大大 您好
我對您所寫的"自製手機儀俵教學文"中的程式,很感興趣.
因為現在好像沒有載點可以下載,不知可否請 ...

本來我是有提供好幾星期的,但避免有人拿去賣或是當成自己的,就沒有放了

手機最多給你藍牙傳輸方式+檔案讀存取方式(記錄里程用的)
有顯示的副程式,但不包含裡面的顯示方式和位置
還有如何+-數據(我是用+-不是一次抓多少就顯示多少),這用不好顯示的數據會跟不上真實的
用+-會看起來比較有跑的感覺,一次抓多少就顯示多少感覺在跳動,看起來有差,尤其圖形
你只要把你想要的程式放進去就可以,如數字要放那裡,圖形要怎麼顯示
加上手機解析度有分1920*1080 1280*720 800*480,其他特殊的就不列了
所以我的顯示你不一定合,雖然我有修改出1920*1080 1280*720的版本
但除了高雄4位車友以外,應該不會再幫別人弄出一整套手機+電路做好直上的表了
單一組電路就要焊接3x小時以上,還不包含修改解析度,電路總金額約1700~2000,還沒交貨

8051方面我也只給8051如何送資料到藍牙
怎麼抓車子的訊息可以參加我之前發的七段顯示器
我只是用1顆8051去收集其他8051抓車子各種的資料再送給藍牙
要如何1顆8051抓多顆資料,就自己研究了
我是
速度和里程一個8051所以一個port
轉速和檔位一個8051所以一個port
溫度和電壓和油亮是一個8051所以一個port
port 3拿來傳資料給藍牙所以port八隻腳不能全用

不要求準確的話其實可以弄成
速度和里程和轉速和檔位一個8051所以但輸出要2個port,因為1個port輸出只有0~255,不夠用
溫度和電壓和油亮是一個8051所以一個port
這樣只要3顆8051,但里程可能會漏掉,有示波器模擬轉速和時速的話可以修改程式來避開問題
轉速可以利用時速波寬度長的時候來抓取


或更少的
速度和里程和轉速和檔位直接和藍牙共用一個8051
溫度和電壓和油亮是一個8051所以一個port
這樣只要2顆8051,但傳藍牙時的X~2X ms以內無法抓數據,程式沒弄好會漏很大,里程漏很大對保養的參考數據方面不好

總之要做自己要會一點點概念
不然我又不是有收費,有什麼問題也不一定會全回答
再說我也不想收費,要收費我就做出套件了,高雄的車友都說我做套件能賺不少錢

這手機程式配8051電路,可以說化油器的車9成以上通用
噴射車因為有車友反應轉速訊號會亂飄,加上不像化油器車訊號來源和波形固定,所以不敢保証

我星期日前會把程式貼在下一樓上面,有興趣自己回來爬文,我就不用回覆的了
8051和其他如何抓油量+電壓+溫度的電路圖我就不給了
油量+電壓可以用ICL7107這顆IC去讀電壓後它會轉成7段顯示器的數據
用8051去讀那數據再轉成正常的10進位就能用了

点评

fox
多照顧眼睛,洗板子使用吧!別再一條一條拉了。  发表于 2015-1-16 00:46

评分

1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-1-18 21:08:16 | 显示全部楼层

android程式,會用就用,不會多google或是上課吧,我是google學的

public class MainActivity extends Activity{
     UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); //Standard SerialPortService ID
BluetoothAdapter mBluetoothAdapter;
BluetoothSocket mmSocket;
BluetoothDevice mmDevice;
OutputStream mmOutputStream;
InputStream mmInputStream;
Thread workerThread;
Handler handler = new Handler();
byte[] readBuffer;
volatile boolean stopWorker;
String readData1 = "",readData2="",wtkil;
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  startBT(); //開始藍牙連結
  this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  //禁止螢幕進入休眠和鎖定
  this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  //取消標題
  setContentView(new MySurface(this));
  }
@Override
public boolean onTouchEvent(MotionEvent event) { //抓取觸控點擊位置
   if (event.getAction()==MotionEvent.ACTION_DOWN){  //如果點擊
   movx=(int) event.getX();
   movy=(int) event.getY();
   }
   return true;
  }  
void startBT() {
   mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
      if(!mBluetoothAdapter.isEnabled()){
       mBluetoothAdapter.enable();
    Toast.makeText(MainActivity.this, "開啟藍牙", Toast.LENGTH_SHORT).show();
       IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
       registerReceiver(mReceiver, filter);  
       // 註冊一個BroadcastReceiver,等等會用來接收搜尋到裝置的消息
       mBluetoothAdapter.startDiscovery(); //開始搜尋裝置
    Toast.makeText(MainActivity.this, "搜索藍牙", Toast.LENGTH_SHORT).show();
      }
      else{
       Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
       if(pairedDevices.size() > 0){
           for(BluetoothDevice device : pairedDevices){
               if(device.getName().equals(readData2)){  //readData2=你的藍牙名稱
                   mmDevice = device;
             try {
          mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid);
          mmSocket.connect();
             mmOutputStream = mmSocket.getOutputStream();
             mmInputStream = mmSocket.getInputStream();
              nobt=0;
             } catch (IOException e) {
             Toast.makeText(MainActivity.this, "藍牙連線失敗", Toast.LENGTH_SHORT).show();
             nobt=1;
             }
             if (nobt==0){
          Toast.makeText(MainActivity.this, "藍牙連線成功", Toast.LENGTH_SHORT).show();
          beginListenForData(); //開始傾聽藍芽裝置的資料
                      btstart=1;
             }
                  break;
               }
           }
       }
      }
  }
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) {
            // 當收尋到裝置時
            if (BluetoothDevice.ACTION_FOUND.equals(intent.getAction())) {
                // 取得藍芽裝置這個物件
                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                // 判斷那個裝置是不是你要連結的裝置,根據藍芽裝置名稱判斷
                if (device.getName().equals(readData2)){
                    try {
                        // 一進來一定要停止搜尋
                        mBluetoothAdapter.cancelDiscovery();  
                        // 連結到該裝置
                        mmSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);
                        mmSocket.connect();
                        mmOutputStream = mmSocket.getOutputStream();
                        mmInputStream = mmSocket.getInputStream();
         beginListenForData();
         btstart=1;
         Toast.makeText(MainActivity.this, "藍牙連線和配對成功", Toast.LENGTH_SHORT).show();
                        nobt=2;
         } catch (IOException e) {
          Toast.makeText(MainActivity.this, "找不到藍牙", Toast.LENGTH_SHORT).show();
          nobt=1;
                        }
                }
            }
       }
};
void findBT() {
      Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
      if(pairedDevices.size() > 0){
          for(BluetoothDevice device : pairedDevices){
              if(device.getName().equals(readData2)){  readData2=你的藍牙名稱
                  mmDevice = device;
            try {
         mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid);
         mmSocket.connect();
            mmOutputStream = mmSocket.getOutputStream();
            mmInputStream = mmSocket.getInputStream();
            if (nobt==2)
             nobt=2;
            else
             nobt=0;
            } catch (IOException e) {
            Toast.makeText(MainActivity.this, "藍牙連線失敗", Toast.LENGTH_SHORT).show();
            nobt=1;
            }
            if (nobt==0){
         Toast.makeText(MainActivity.this, "藍牙連線成功", Toast.LENGTH_SHORT).show();
         beginListenForData(); //開始傾聽藍芽裝置的資料
         btstart=1;
            }
            break;
              }
          }
      }
      if (nobt==1){
      IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
      registerReceiver(mReceiver, filter);  
      // 註冊一個BroadcastReceiver,等等會用來接收搜尋到裝置的消息
      mBluetoothAdapter.startDiscovery(); //開始搜尋裝置
   Toast.makeText(MainActivity.this, "搜索藍牙", Toast.LENGTH_SHORT).show();
      }
  }
void beginListenForData() {
   stopWorker = false;
         readBuffer = new byte[1024];
         workerThread = new Thread(new Runnable() { //建立一條新執行緒進入傾聽來自藍芽裝置資料輸入程序
          public void run() {
                   while(!Thread.currentThread().isInterrupted() && !stopWorker){
                     try{
                      int bytesAvailable = mmInputStream.available();
                        if(bytesAvailable > 0){
                        byte[] packetBytes = new byte[1];
                        mmInputStream.read(packetBytes);
                        binput1=packetBytes[0]&0xff;
     }
                   }
                    }catch (IOException ex){
                     stopWorker = true;
                     }
                   }
  }
     });
           workerThread.start();
  }
void sendData(int z) throws IOException  {
      mmOutputStream.write(z);  //z是看你設多少8051才開始傳資料
  }
void closeBT() throws IOException  //關閉藍牙
{
      stopWorker = true;
      mmOutputStream.close();
      mmInputStream.close();
      mmSocket.close();
   }
public class MySurface extends SurfaceView implements SurfaceHolder.Callback {
   SurfaceHolder holder;
   boolean flag;
   public MySurface(Context context) {
    super(context);
    holder = this.getHolder();
    holder.addCallback(this);
    flag = true;
    this.setKeepScreenOn(true);
   }
   Thread t = new Thread(new Runnable() {
    public void run() {
     drawPicture();
    }
   });
   public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {
   }
   public void surfaceCreated(SurfaceHolder holder) {
    handler.postDelayed(t, 0);
   }
   public void surfaceDestroyed(SurfaceHolder holder) {
    handler.removeCallbacks(t);
    handler.removeCallbacks(workerThread);
   }
   protected void drawPicture() {
    Paint mPaint = new Paint();
    mPaint.setAntiAlias(true);
    mPaint.setTypeface(mFace);
    Canvas c = holder.lockCanvas();
    mPaint.setStyle(Paint.Style.FILL);
    mPaint.setColor(0xFF000000);  //清除畫面
    Rect rect = new Rect();  
           getDrawingRect(rect);  
    if (rect.width()>rect.height())
     c.drawRect(new RectF(0, 0, 480, 800), mPaint);
     else
     c.drawRect(new RectF(0, 0, 800, 480), mPaint);
  ///////開始畫你要的畫面
    holder.unlockCanvasAndPost(c);  //顯示畫面到螢幕
    handler.postDelayed(t, 0);  //延遲0秒
   }
}
}



8051程式,只提供藍牙方式,一樣自己google,google絕對比我說老半天還仔細

ORG 00H
JMP START
START:
MOV TMOD,#00100000B
ANL PCON,#01111111B
MOV TH1,#244  ;鮑率最低2.4K,這要跟8051外接的藍牙一樣
MOV TL1,#244
SETB TR1
MOV SCON,#01010000B
;自己放延遲0.xxx秒
START0:
JNB RI,START0
MOV A,SBUF
CLR RI
CJNE A,#1,START0  ;1是手機傳給8051一個開始接收訊號,要搭配手機程式的z
START1:
;自己放延遲0.xxx秒
MOV P1,#0FFH
MOV A,P1
MOV SBUF,A     ;傳給藍牙
JNB TI,$
CLR TI
JMP START1     ;跳回START1繼續讀取資料再傳藍牙
END


回复

使用道具 举报

发表于 2015-3-13 23:45:39 | 显示全部楼层
這好屌,超想要啦!可惜我是電子白癡,請問版大有在做成品直上的嗎?連工帶料要多少,跪求了!我的賴id,aaa22990
回复

使用道具 举报

发表于 2015-3-14 01:49:53 | 显示全部楼层

太深奧了
有看沒有懂
回复

使用道具 举报

 楼主| 发表于 2015-3-14 11:59:14 | 显示全部楼层
李東昌@FB 發表於 2015-3-13 23:45
這好屌,超想要啦!可惜我是電子白癡,請問版大有在做成品直上的嗎?連工帶料要多少,跪求了!我的賴id,aaa ...

電子零件大約1700
有認識的車友是說可以做出來賣
但這是手工焊,我做一個要20~30小時,工錢依一般打工族算要2~3千
沒那錢去給人家設計和做出印刷電路,要縮小一定要2~3層,這可能算萬的,我是用跳線才縮小不少
所以手工焊+料要4~5千
還不含修改手機程式的時間,像依解析度修改顯示位置等等的,加起來可能破萬
你覺得會有人花1萬買1個表嗎
就算願意花,但不小心壞東西,我人不在了不就浪費1萬買個沒用的表,人發生什麼事誰都無法預測
所以看看就好,買市面上你最喜歡的表就好了
功能再好畫面再好也是憑感覺再騎,很少說一直看著表在騎的

评分

1

查看全部评分

回复

使用道具 举报

发表于 2015-8-21 09:42:09 | 显示全部楼层
樓主很厲害捏!
我目前也有一個類似的設計!
但還在規劃中有些零件找不太到!
想要以最近正夯的樹莓派配上取樣模組來達成!
最終理想是模組可以不斷疊加,畫面可以任意設計更新!
回复

使用道具 举报

 楼主| 发表于 2015-8-21 13:55:13 | 显示全部楼层
truenight 發表於 2015-8-21 09:42
樓主很厲害捏!
我目前也有一個類似的設計!
但還在規劃中有些零件找不太到!

還有這種好東西啊
科技越來越發達
快40了不然也想學看看,應該可以應用到不少地方
回复

使用道具 举报

发表于 2015-8-21 14:45:01 | 显示全部楼层
本帖最後由 truenight 於 2015-8-21 14:47 編輯
fzr_7 發表於 2015-8-21 13:55
還有這種好東西啊
科技越來越發達
快40了不然也想學看看,應該可以應用到不少地方 ...

別這樣說..我年紀比你還大啊!(我.....淚奔.........
最近有兩個真的不錯的多功能開發模組可以拿來用!(目前正夯喔!)
一個是Arduino 另一個就是 樹莓派(Raspberry Pi 2)
Arduino 類似於你用的 8051
但功能比8051強,且多種傳輸介面(I2c ,SPI ,UART 特殊的還內建USB)
且跟8051一樣只需幾樣東西就可以讓單晶片運作!
價格又頗接近(單指IC價格),而開發介面也是C語言很方便!
而樹莓派是比較高階,基礎上使用 Linux 當作開機系統,比較好設計視窗化界面!XD
兩個目前發展都很成熟了,市面上很多書籍可參考!
回复

使用道具 举报

 楼主| 发表于 2015-8-22 17:19:43 | 显示全部楼层
truenight 發表於 2015-8-21 14:45
別這樣說..我年紀比你還大啊!(我.....淚奔.........
最近有兩個真的不錯的多功能開發模組可以拿來用!(目前 ...


Arduino我知道,但沒接觸過
有需要當然不管年齡大小會去學
但8051弄得出的我就不太想去學新的
加上單純只弄在車上玩玩而已
回复

使用道具 举报

发表于 2015-8-23 14:31:34 | 显示全部楼层
fzr_7 發表於 2015-8-22 17:19
Arduino我知道,但沒接觸過
有需要當然不管年齡大小會去學
但8051弄得出的我就不太想去學新的

沒有啦~
不是說甚麼只是想說找幾個志同道合的一起研究一下而已!
不好意啦!^^"
回复

使用道具 举报

Yahoo
您需要登录后才可以回帖 登录 | 註冊

本版积分规则

手機版|Archiver|Z板 Sitetag 訪客統計

GMT+8, 2024-4-25 03:25 , Processed in 0.092202 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表