發表文章

目前顯示的是 6月, 2018的文章

使用arduino設計EBD展示燈

圖片
其實這個構想很久了, 指是要先處理單線電力供電問題,再處理高低壓控制,以及演示計算問題。 我再這之前有作出一個簡易的 EBD 煞車燈, 但是,看久了還是希望有點變化,可是又不希望買市面上的燈條來組合: 一來是我希望展示燈有有延遲啟動效果,市面上燈條做不到。 二來是希望展示的方式可以依照自己喜好組合,市面上燈條也難辦到。 所以只好動起 Arduino 歪腦筋,看看能不能塞進去第三煞車燈了。 先勾勒出電路圖 不算太難,只是線路有點多而已,由於要塞到第三煞車燈裡面所以要進量縮小 因此比較多零件的驅動電晶體使用了SMD的N通道MOSFET - P3055LDG來製作。 原則上Arduino NANO 是5V 驅動與電力提供, 控制 TLC5940NT 一路都是5V 但是要轉到控制12V的LED燈板就需要用到偶合電路比較安全, 因此這裡選用了簡單形式的 LTV847 光耦合IC來串接, 這樣就可以隔離12V電力,避免逆流回Arduino 或TLC5940NT導致燒毀問題。 Arduino NANO TLC5940NT LTV847 P3055LDG 程式的部分改天再分享上來

[記錄]淺談麵包板品質與杜邦連接線的問題

圖片
最近在做一些 Arduino 控制電路, 但是一直很不順心的是關於 DS1302時鐘模組與TLC5940NT的多通道PWM控制。 在這些通訊控制中通常都需要用到 CLOCK 同步。 這故事是一開始的實驗板電路,大部分都會使用麵包板和一些跳線來做, 因為要外接 Arduino 模組和一些驅動板,通常除了麵包板上跳線會使用單芯線外, 會使用一些杜邦2.54端子的聯接線來聯接。 一開始簡單的實驗都很正常,然後就這樣用久了,同樣再做一次相同的電路時, Arduino 電路的運作開始出現異常。 比較常見的像是 DS1302 取到的時鐘資訊常常便成亂碼, 又或是 TLC5940 的 PWM 控制一直出現干擾(動作亂跳)。 經過不斷抓狂的抓蟲後來發現 連接線 和麵包板的嚴重問題,如下: 像是杜邦2.54端子上圖紅色圈起位置,發現用久之後會斷芯,外觀完全看不出來, 不確定是否為線材本身問題還是人為問題,因為這種斷芯會讓訊號時有時無。 其次是麵包板: 第二點,品質不好的麵包板,接孔內的彈片金屬彈力衰退,常見接觸不良, 接觸點造成接觸電阻升高,導致分壓/分流不正確,訊號異常等。 造成我浪費大量時間在找問題(明明電路是正確的,但實際運作一直出狀況) 所以,解決方法如下: 1、更換 / 使用好的線材聯接線,使用前量測聯接線是否有電阻升高或是斷線問題。 2、更換 / 使用較好的麵包板,如果發現麵包板部分插孔開始鬆脫,無法夾緊零件或是聯接線,就得考慮更換。 只能說該換就換,不然浪費大量時間又讓自己信心崩潰真是划不來啊。

[記錄]快速刪除 SQL Server 前 1000 筆資料的方法 Using Common Table Expressions

【注意】CTE 這個方法只適用於MS SQL Server 一般我們刪除指定資料範圍的方式都會用這種方法: delete from [myTable] where YourConditions 但是有時候,我們因為某些需要刪除資料庫前1000筆資料時卻好像沒辦法用 where 去達成條件。 我們都知道選擇前 1000 筆資料方式: select top 1000 field1,field2,field3 from [myTable] 如果把前述條件當成Conditions來用,就必須 join 欄位 delete from [myTable] where field1 in (select top 1000 field1 from [myTable]) 但很不幸,如果資料龐大,又 field1 不是 Primary Key 的第一欄位, 又或是 Primary Key 是多重組合,則可能造成資料庫大量 LOCK, 使用者得查詢會幾乎被 BLOCK 起來。 這時候我們可以用 CTE 指令方式,這是個類似 Store Procedure 的處理方式,但不需要像 Store Procedure 那樣複雜的語法。 ;WITH CTE AS ( SELECT TOP 1000 * FROM [myTable] ORDER BY field1 ) DELETE FROM CTE 看!簡單多了! 關於 CTE 使用方式可以參考  https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms190766(v=sql.105) ※好像SQL2005以上有提供下面指令可以達到效果,但我個人是沒有用過 DELETE TOP (1000) FROM [myTable] WHERE YourConditions

改造我的檯燈-使用LED取代日光燈管

圖片
最近我的檯燈故障了,鄉更換燈管,發現這款燈管超級難找:T4 12W 1202環形燈管 由於我的檯燈上有放大鏡,因為工作需要常常很靠近燈,常常會覺得很燙。 因此讓我想既然難找到這行燈管乾脆決定使用LED取代燈管,因此進行了改造。 這是我首次拍長時間的 Youtube 影片,因為設備操作不熟悉,所以花了很多時間調整與調教甚至還臨時做了補光燈還呢!!