藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

132
數字管時鐘

Upload: gogoprivateryan

Post on 08-Aug-2015

73 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

數字管時鐘

Page 2: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

大綱

• 介紹兩種數字管-­‐VFD&Nixie  tube  • Project  Zero  –  IN-­‐14  Arduino  Clock  • Project  One  –  IV-­‐18  Clock  • Project  Two  –  IN-­‐17  Arduino  Clock  • Alpha  Project  One  –  IN-­‐9  Temperature  display  

Page 3: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

What is Nixie tube?

• 比LED還早的時代  

• 大多顯示數字符號  

• 另外還有米字  

 hLp://www.oldcalculatormuseum.com/w-­‐anita1011.html  

Page 4: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

原理

Page 5: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 6: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Nixie種類-蘇聯管

• 市場量最大  • 相對便宜  • 種類多  • 有軍用版本可以選  

Page 7: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

• 正視:  •  IN-­‐17    •  IN-­‐12A/B    •  IN-­‐15/A(符號)  

• 側視:  •  IN-­‐8  (IN-­‐8-­‐2)  •  IN-­‐14  •  IN-­‐16  •  IN-­‐18  •  IN-­‐19(符號)    

• 條狀:  •  IN-­‐9    •  IN-­‐13

Page 8: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Nixie 怎麼用?

• 其實和LED差不多,只是電壓可能高達上百伏特    • 大致上分成兩種          1.直接驅動     a.撒一堆高壓電晶體     b.買有點貴的專用IC                          c.買沒有那麼貴的IC  

Page 9: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

•  2.掃描式                     陽極:                                    1.高壓電晶體     2.高壓光耦合   陰極     a.一些些高壓電晶體                           b.買有點貴的專用IC                                    c.買沒有那麼貴的專用IC  

Page 10: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

高壓電晶體-陰極

• MPSA42  

Page 11: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

高壓電晶體-陽極 MPSA42&92

Page 12: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

有點貴的專用IC

•  74741-­‐Nixie  Driver  IC                BCD  to  DEC  è只需要4個Pin就能控制  •  Ti製:sn74141  • è掏寶有看過有賣          (~30元)      • 蘇聯製:K155ID1  or  KM155ID1        è電壓較高(100V  V.S  60V)        è市場量大(Ebay)     (~30~60元)價錢其實有點亂..  

Page 13: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 14: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

有點貴非常貴的專用IC

• HV5522  • 貴(~上百元)  •  Shi_  Register  • PLCC-­‐44,  PQFP-­‐44  • 最高可達300V  • 難買  

http://www.webalice.it/giussdp/nixie2/n2disp2_g.jpg

Page 15: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

沒那麼貴的IC

• Nixie  tube需要高壓電晶體的原因:  • 關閉的時候會出現高壓  • 但是如果已經點亮了一個è電壓會降下來  è現在許多~50V左右的IC就足以使用      舉例:  • ULN2003  ~50V

https://web.jfet.org/nixie-1/

最好再接個大電阻到高壓

Page 16: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

限流電阻

• 需要查看真空管的  電流以及激發電壓  

https://threeneurons.files.wordpress.com/2011/08/nixie-basics.gif

Page 17: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

VFD

5V

HV

HV 0V

0V HV HV

0V

Page 18: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

VFD怎麼用?

由於封裝的方式  使用上大都是掃描式的方式       控制閘:              1.高壓電晶體              2.專用IC      燈絲:     1.直流電     2.交流電  

https://web.jfet.org/inGrid/

Page 19: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

燈絲 • 交流電:  

• 直流電:  

Page 20: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Project Zero – IN-14 Clock

Page 21: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 22: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

架構:

Arduino  UNO

RTC

Port  Expender

I2C

74141  X  4

16條Output

IN-­‐14  X  4

12V

180V  step-­‐up

5V  Step-­‐down

Page 23: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

軟體

抓RTC的時間

顯示時間

檢查Serial  

Main  Program

Page 24: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

升壓模組 ⾼高壓⼩小⼼心ㄟ • NE555電路-­‐效果不錯,但是記得散熱  • MC34063-­‐效率比較高一些  

http://talkingelectronics.com/projects/50%20-%20555%20Circuits/images/170vSupply.gif

https://threeneurons.files.wordpress.com/2011/08/mc34063_mk15cm1.gif

Page 25: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

• MAX1771  • Arduino  PWM  Step-­‐up

From  PIC  APP  note

Page 26: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

•  hLps://learn.adafruit.com/ice-­‐tube-­‐clock-­‐kit/design

Page 27: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

• hLp://gmewitharduino.blogspot.tw/2013/10/high-­‐voltage-­‐power-­‐sources-­‐for-­‐tubes.html

Page 28: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

現成模組

• NE555我的建議是自己做一個  • 但是如果有體積/電流的需求,去買個升壓模組就

好  

• 台灣:        hLp://nixietubeclock.blogspot.tw/2014/07/np10-­‐dc-­‐dc-­‐nixie-­‐tube-­‐part4.html  

Page 29: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 30: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

• hLp://nixietubeclock.blogspot.tw/2013/12/dc-­‐dc-­‐nixie-­‐tube-­‐part1.html

Page 31: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

• 掏寶  hLp://tw.taobao.com/item/22046131143.htm?fromSite=main&spm=a1z09.2.9.78.4Bok9u&_u=e1f5oh4m7ee1  

Page 32: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

問題

• 外殼悲劇  • PCB沒有派上非常大的用場  • 真空管難固定  • 沒必要使用I2C  port  expender  • 各種悲劇的走線  • 連個電源接頭都沒固定…..  

Page 33: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

• DS3231真的粉棒              1.一年下來完全沒有校時只誤差不到5s              2.內建溫控震盪器超棒的    

Page 34: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Project 2 – IN-17 Arduino

Page 35: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Display架構:

Amny24

NPN-­‐PNP  Switch

IN-­‐17  X  4

180V

74141  X  1

I2C

5V

Page 36: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 37: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Main board架構: Ver 1

Arduino  5V

溫溼度感應器

RTC

藍芽模組

3.3V

FM+AMP

電平轉換

電平轉換

I2C 5V

UART

鋰電池 180V升壓

5V升壓

3.3V  LDO

Amny

5V

Page 38: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題-電源

• 為了讀取電池電壓,把ADC接上電池  è關閉電池之後,電流從ADC倒灌到Arduino  

• 為了避免USB電源和5V升壓撞在一起  è加了開關選擇5V的來源è操作上複雜  • 必須要接上鋰電池才能運作  

Page 39: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題-Layout

•  180V升壓模組與5V升壓模組是從背後接上的  è增加非常多厚度  • 鋰電池的插座基本上沒辦法用  • Micro  USB插座使用SMD版  è一扯就掉  • nRF24l01的大小Lay錯了  • 耳機孔好難看..  • 藍芽模組造成PCB板突出一塊  • 因為電流倒灌,鋰電池關不掉

Page 40: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 41: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 42: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 43: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 44: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 45: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題-電源

• 為了讀取電池電壓,把ADC接上電池  è取消這功能  

• 為了避免USB電源和5V升壓撞在一起  è增加自動控制的電路  

Page 46: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題-Layout

•  180V升壓模組與5V升壓模組是從背後接上的  • è切一塊PCB空間出來用  • 鋰電池的插座基本上沒辦法用è改到邊邊去  • Micro  USB插座使用SMD版è換掉  • nRF24l01的大小Lay錯了è沒空間了,拿掉  • 耳機孔好難看è沒空間了,拿掉  • 藍芽模組造成PCB板突出一塊è沒空間了,拿掉  • 因為電流倒灌,鋰電池關不掉è以解決  

Page 47: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

改良

• 增加USB  to  UART  IC  • 把5V升壓電路做上去  •    Charge  pump  •       Step-­‐up  • 加震動馬達控制器  • 加另一個溫濕度計  • DS3231換成SSOP16  

Page 48: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Main board架構: Ver 2

Arduino  3.3V

溫溼度感應器

RTC

3.3V

FM+AMP

I2C

Amny

電平轉換

5V

Page 49: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Power

鋰電池

180V升壓

3.3V  LDO

5V升壓

         USB

Power  Path  

Control

           5V

Power  Path  

Control

Page 50: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 51: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 52: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 53: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

FM出問題惹

• AMP大小太大,塞不太下  è自己做個小的版本  • 天線也太大,而且線全部擠在殼內容易出狀況  èSMD天線(First  Try)  •  SMD天線接收度不佳  è加個LNA做放大  

Page 54: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 55: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 56: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

FM出問題惹

• 結果耗電量爆增60mA  • 鋰電池:200mA  • 其他裝置加起來:20mA  

è移除FM功能  

Page 57: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 58: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題

• 鋰電池接頭以及震動馬達在一排1.27”的排插  • è靠的超近…..è熱熔膠固定,外加鋰電池保護板  •  ISP很佔空間  • 溫度感應器被加熱惹  • 開關的塑膠一直被我弄斷  • 有些地方離螺絲孔太近,會擋到螺絲  •  2.54”排插高度和大小都太大了  • CR1220  有點占空間  • 沒有無線裝置…(è外掛模組)

Page 59: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題

• 要不是74141,整個板子用3.3V就好..  

Page 60: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 61: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 62: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

充電座

•   無線充電的問題:市面上的模組線圈大小太大(Qi的模組),塞不下外殼  

• 用接觸充電的方式,利用第一次Layout的PCB當作彈簧針的底座  

Page 63: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 64: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 65: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

軟體:Simple loop

•  Interupt  route:  •  RTC觸發Interrupt打開Flag  

• Main  Loop:  • 檢查按鈕+Flag  è進入不同的模式

•  1.計時  •  2.特效  

•  A.0~9  •  B.波浪  •  C.亂數  

•  3.倒數計時  •  4.溫溼度計

Page 66: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Scanning Nixie Tube

• Nixie  Tube  必須先關掉陽極è切換陰極è再開陽極  

• Nixie  Tube  的電容特性會讓他持續發亮一段時間   如果這時候切換陰極,會點亮另外一個數字  • 而且陽極關閉等Nixie  Tube沒電,通常需要50us以

上,不然會出現Ghosgng    

Page 67: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Ghosting

http://www.markbowers.org/nixie-clock-2012/

Page 68: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Attiny:

• 專職掃描Nixie  Tube  • 讀I2C進來的訊號,四位數字+亮度  

Page 69: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 70: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Nixie Tube Cathode Poisoning

http://www.tube-tester.com/sites/nixie/different/cathode%20poisoning/cathode-poisoning.htm

Page 71: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

• 原因:長期沒使用導致陰極有沉澱物  • 解決辦法:拿大電流通電一段時間(兩到十倍最高

電流,數分鐘到小時)  

Nixie  Clock因為用不到的數字有點多,長期使用下來會造成沒再使用的數字形成Cathode  Poisoning  • 預防:定時把每個數字都跑過一輪  • Project  Zero的做法是è30分跑亂數,整點跑循序.

Page 72: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Time Sync – Python

• 電腦端把時間組成CSV格式的字串用Serial送出  

• Arduino端用ParseInt從秒數讀到年  • 另外再將資料回傳確認

Page 73: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 74: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 75: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Project 3 – IV-18 Clock Ver 1 買到的套件 為Lunchpad設計的Shield  

Page 76: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

架構:

MSP430

MAX6921 IO

IV-­‐18

20條Output

5V

40V  step-­‐up

Page 77: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

缺點

• 因為用的是MSP430外掛32.768kHz震盪器計時  è沒有斷電計時  •  Lunchpad沒有5V輸出,需要另外從板子上焊接出

來  • 按鈕好難用  

Page 78: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Ver 2 移動到Arduino

Page 79: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 80: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 81: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

架構:

Arduino

RTC

IO

IV-­‐18

20條Output

5V

40V  step-­‐up

MAX6921

I2C

Page 82: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

軟體

抓RTC的時間

顯示時間

檢查Serial  

Main  Program

Page 83: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題

• 其實沒啥問題,就是板子Lay出來的有點難看  (回頭看的感覺)  • CR2032占的空間太大  • 功能有點少  • 太亮  

Page 84: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題-軟體

• 真空管必須要用掃描式的方式顯示  è只要Code當中有任何一個Delay或時間較長的程序,都會造成亮度的下降(因為掃描速度變慢)  

• 舉例:  •  校正時間  •  DS18B20讀取  •  Serial.print  

Page 85: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

改裝:

• 添加一個光敏電阻,去控制時鐘的開關  • 把DS1307的震盪器換成DS32KHZ的TXCO

Page 86: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 87: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 88: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Ver 3

• 原本想Layout一個新的Shield  • 但是,Arduino  Shield大小會超過5cm*5cm  • PCB廠商會收另外一個級距的費用  • 而且Shield的零件通通換成SMD之後覺得有點空

虛  

è乾脆全部都自己來,控制在5x5以內

Page 89: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

原本改良的Shield

Page 90: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Ver 3

Page 91: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Main Board 架構:

Arduino  Leonardo

RTC

I2C

Buzzer

USB 3.3V  LDO

To  Display  board

Linkit  Connect  module

UART

光敏電阻

SD卡/Flash

SPI

Page 92: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

軟體會遇到的問題

• Arduino如果正在處裡Wifi,會沒有辦法去刷新時間和控制亮度  

èInterrupt

Page 93: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

軟體

• RTC  Interrupt                        èUpdate  Time  &  Check  Alarm  •  Timer  Interrupt                  èUpdate  Lux  • Pinchange  Interrupt  èClose  Buzzer  

• Main  Loop                                  èSync  with  Internet

Page 94: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

軟體 啟動Interrupt

連網路

抓RTC的時間(轉Unix  gme)

網路校時

抓時區

Mediatek  Cloud  Sandbox  Sync

讀光敏電阻

調整PWM

Unix  gme  ++

計算年月日,時分秒

把資料傳到Display  Board

顯示年月日,時分秒,與動畫

Main  Program

Timer  Interrupt  (10Hz)

RTC  Interrupt  (1Hz)

關Buzzer

Pinchange  Interrupt  

Page 95: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Wifi: Linkit Connect module

Page 96: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 97: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

AT cmd firmeware

• hLps://github.com/will127534/7681-­‐ATcmd  

Page 98: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Software: Arduino Library

•  LC7681Wifi  wifi(&Serial1);  •  Serial1.begin(115200);  • wifi.connectAP(ssid,  key);  •  IPAddress  serverIp  =  wifi.nslookup(server);  • wifi.connect(serverIp,  port);  • wifi.print(buf,sizeof(buf));  

• wifi.process(callback);  

Page 99: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Callback

• 會回傳發生的事件,以及收到的資料+長度  

•  void  callback(int  event,  const  uint8_t*  data,  int  dataLen)  

       EVENT_NONE          EVENT_DATA_RECEIVED          EVENT_SOCKET_DISCONNECT          EVENT_MAX

Page 100: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Hardware: UART & 3.3V

Page 101: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

NTP time sync

• 準備好一個48byte的矩陣,開頭是0x1b,其他都是0  • 用UDP連線到Time  Server之後丟出去  • 收到的資料也是48byte,其中第41~44是Timestamp  的4byte  資料

Page 102: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

•  0x1b=0001  1011  

•  LI  =  00  èno  warning    • VN=011  èVersion  3    • Mode  =  011  èClient  

Page 103: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

•  Timestamp  :從1900年1月1日0點開始計算的秒數  • Unix  gme:從1970年1月1日0點開始計算的秒數  

Page 104: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

•  From  Unix  gme  to  Dategme  

計算方式:用扣除的                            From  Adafruit  è  

Page 105: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Mediatek Cloud Sandbox

Page 106: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Cloud

• 畢竟都加了Wifi  模組了,還用按鈕有點累  • 利用MCS顯示環境亮度  • 利用MCS去控制時鐘的各個設定  

•  亮度  •  鬧鐘  •  顯示Style  

Page 107: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

MCS Code

•   wifi.print("GET  /mcs/v2/devices/{deviceID}/datachannels/");  •     wifi.print({channelID});  •     wifi.println("/datapoints.csv  HTTP/1.1");  •     wifi.println("Host:  api.mediatek.com");  •     wifi.println("deviceKey:  {deviceKey}");  •     wifi.println("Connecgon:  close\n");

Page 108: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

MCS Code

• wifi.println("POST  /mcs/v2/devices/{deviceID}/datapoints.csv  HTTP/1.1");    

•         wifi.println("Host:  api.mediatek.com");  •         wifi.println("deviceKey:  {deviceKey}");  •         wifi.print("Content-­‐Length:  ");  •         wifi.println({data  Length});  •         wifi.println("Content-­‐Type:  text/csv");  •         wifi.println("Connecgon:  close\n");  •         int  _status  =  wifi.println(data);  •         return  _status;

Page 109: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Time zone

•  ip-­‐api.com  • 使用方式:Get  hLp://ip-­‐api.com/csv/  •  success,Taiwan,TW,,Taipei,Taipei,,25.0392,121.525,Asia/Taipei,"Chunghwa  Telecom  Co.","Chunghwa  Telecom","AS17421  Long  Distance  &  Mobile  Business  Group",223.136.78.146  

• 經度/15  =  時區  

Page 110: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題-軟體(1) • Arduino  內建的I2C  library有兩件事情會發生  •  1.會當掉  •  2.不能在Interrupt內跑  

Page 111: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

解決方法:換Library

• hLp://www.dsscircuits.com/argcles/arduino-­‐i2c-­‐master-­‐library  

•   Removed  the  use  of  interrupts  from  the  library  so  all  TWI  state  changes  are  polled  

• 然後順便把原本的I2C  lib  加了個Timeout

Page 112: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 113: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題-軟體(2)

• RTC跑久了會卡死,用邏輯分析儀看的話,會發現Arduino端是正常的,但是RTC沒有回應Address  

è時間的來源改成Arduino自己算,利用RTC  Interrupt累加秒數    算是一種鋤草不除根的解決方式,目前這問題依然存在    

Page 114: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題-軟體(3)

• Code  Size大爆炸  

•  SD卡/Flash的Code放不下è移除功能  

Page 115: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IV-18 Display Board Ver1

Simple  Breakout

Page 116: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IV-18 Display Board Ver2

Page 117: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

• 增加兩種MAX6921  以及 Amny做控制  • 但是電源需要外接  • 另外嘗試MC34063以外的Step-­‐up  

•  LMR64010    • UP  to  40V  

Page 118: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IV-18 Display Board Ver3

•  TSSOP的MAX6921  以及 Amny做控制  • 升壓電路整併  • 增加了RTC的空位  •  (Opgonal)使用MOS  Dirver  做到偽AC燈絲  

Page 119: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IV-18 Display Board Ver3

Page 120: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IV-18 Display Board Ver3

Page 121: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 122: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IV-18 Display Board Ver4

•  TSSOP封裝的MAX6291又貴又難買    è換成HV5812,但是因為體積變大,移除RTC與Mos  Dirver

Page 123: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IV-18 Display Board Ver4

Page 124: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IV-18 Display Board Ver4

Page 125: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IV-18 Display Board Ver5 - alpha • Charge  pump!  • 因為這可以順便供應AC給燈絲  

• 還沒送洗  

Page 126: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

Alpha Project One

Page 127: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 128: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IN-9 Bargraph Nixie Tube

• 利用電流量控制長度  • 使用方式:OPA+NPN做恆流源  

Page 129: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

硬體:

•  LM34  è1度C  =  10mV  • 放大十一倍之後送給恆流源控制  

Page 130: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

遇到的問題:

•  LM34被恆流源的NPN給加熱了  è用線接出來

Page 131: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)
Page 132: 藍色小鋪, 數字管時鐘, 作品進化分享 (by 黃偉峻)

IN-9 音量顯示器

• 一樣是放大電壓後送     給恆流源控制