網頁

2012年9月23日 星期日

使用 Timer 中斷讓 Arduino 控制 VGA

Pyroelectro.com 使用 Timer 中斷來讓 Arduino UNO 輸出 VGA 訊號。Timer 中斷是用來控制 VGA 協議的訊號同步,由於 Arduino UNO 速度為 16MHz,所以使用中斷輸出VGA訊號幾乎是將 Arduino UNO 推到極限。


Arduino VAG via Interrupt, 共分為七格部分說明。


使用 "Breakout" 控制 Arduino

Breakout -- 是一個利用 Arduino 平台與 Firmata 的協議,純粹使用 Javascripr 讓用戶能夠經由網路控制或接收物理輸入與輸出訊號。Breakout 需要 Arduino-IDE-1.0 以上。

  1. 安裝 Breakout 之後,在 Arduino 中打開 "File \ Examples \ Firmata \ StandardFirmata" 編譯 (Compiler) 後上傳 (Upload)
  2. 連接線路 (按下面按鈕 Show Schematic)
  3. 開啟 Breakout Server
  4. ...接下去請連接到 "Breakout \ Getting Started" 繼續看下去。
現在很多設備或裝置都講求遠端控制,甚至還需要將資料回傳到網頁上做為紀錄或顯示成趨勢圖 (
如我們之前介紹過的 The Internet of Things - 連接設備與應用程序到 COSM 平台,分享你的數據與想法於網路上 )。不過,總歸一個字 "懶",也就是想懶所以造就了方便,對吧!

2012年9月22日 星期六

如何焊接與保養焊槍


焊接要焊的好,真的是需要耐心與技術,如果還要符合國際標準那可真是需要練習的。

這裡有一份 IPC hand soldering 的七分鐘影片,裡面有關於焊接的要點、在使用焊槍焊接前的準備動作以及最後完成焊接時的焊槍保養與清潔的方式。

這是專家的焊接示範,相信看完影片後能增加你(妳)既有的焊接技術。




如果有需要可以上 http://www.ipctraining.org/ 尋找其他資料看,但有些是需要付費的。

IPC 在對岸有舉辦手工焊接競賽,可見手工焊接在對岸是很受到重視的。對岸成為太陽能發電模組最大製造國,這些手工焊接人員應該可說是幕後的大功臣!

2012年9月12日 星期三

模擬 74xx595 移位暫存器

有時在使用單晶片作IO控制時,常有 IO 數目不夠的問題,因此常借用一些 SIPO 的晶片做 IO 的擴充,像 74595就是一種常用的 IO 擴充晶片,但是對於其控制方式卻常模不著頭緒!

CONDUCTIVE RESISTANCE 網頁 Interactive 595 Shift Register Simulator 做出了一個模擬 595 動作的網頁互動程式,藉由 595 晶片控制七段顯示器,經由網頁中的操作提示作練習,了解 595 的操作方式。



使用這網頁中的互動操作,比看操作手冊的時序圖更容易瞭解,推薦想認識 595 晶片的人上去瞧瞧吧!

2012年9月6日 星期四

The Internet of Things - 連接設備與應用程序到 COSM 平台,分享你的數據與想法於網路上

The Internet of Things (物聯網, MBA 智庫百科的說明,Wiki 百科的說明),簡單來說,就是把設備裝置 Sensors 的資料通過網際網路連接起來。

原本這只是一個概念,現在 COSM 做到了!

它可以連接 iphone、Android 手機的 Apps、Arduino 裝置、其他很多設備,連 Excel 也可以,只要你懂得如何將資料傳送到網路,它會儲存你的數據資料與繪出圖形並顯示在網頁上。



網頁裡有教學,如果你需要將監控設備的資料傳送到網路讓需要的人知道的話,到這個網站申請帳號,照著教學一步一步做,將你的設備連上網路,資料數據傳送上 COSM ,即便你身在遠方也能即時得知數據走向。

2012/09/07 更新:
有一篇文章的作者將 Geiger Counter 連線到 COSM 的方式發表在 Sparkfun  部落格

2012年8月26日 星期日

USBtinyISP 在 AVR Studio 5 和 Atmel Studio 6 的配置

最近這一陣子,Atmel 一直在更新 AVR 微處理器的編輯軟體,從 AVR Studio 4 到現在最新的版本 Atmel Studio 6,程式碼撰寫變得越來越人性化,也大幅減少打字錯誤以及編譯的速度,因此如果電腦還有空間的話,可以更新或是直接下載 AVR Studio 5 或 Atmel Studio 6 安裝,絕對讓你耳目一新!

電腦環境:

  • HP COMPAQ 8710W
  • Processor: Intel Core 2 Duo CPU T7500 2.20GHz
  • Memory (RAM) : 4GB
  • Windows Vista Business, SP2, 64-bit
  • 燒錄器:USBtinyISP ( 上 Google 瞧瞧這東西的樣子! )

我一開始使用 AVR Studio 4 配合 USBtinyISP 進行晶片的燒錄,但官方軟體只知官方燒錄硬體,如 STK500 和 AVRISP Programmer。因為兩者都是使用 serial port ( 串列埠 ) 與 PC 做連接,而 USBtinyISP 是使用 USB 轉 serial port,兩者不同,即使插上 USBtinyISP, AVR Studio 4 也不會認得 USBtinyISP。

解決的方法就是 USBtiny500 將 USBtinyISP 模擬成 AVR Studio 4 認得的硬體,並利用 COM Bride 軟體 com0com,建立 AVR Studio 4 與 USBtinyISP 兩者 serial port 的連接。這樣傳送到 STK500 或 AVRISP 的命令,就會轉到 USBtinyISP 幫你(妳)完成燒錄的動作。

AVR Studio 4 使用 USBtinyISP 燒錄的方法,請參考這個網站的說明。

升級到 V5 和 V6 後,上述的方法就不能再用了,也就是本文接下來要講的,怎樣使用升級後的軟體做燒錄,以及環境如何設置。

2012年8月16日 星期四

Use Arduino sketches to program TI Launchpad MSP430

相信使用 Arduino 開發 AVR 韌體的都知道,其控制函式語法很直覺化。相對於 TI MSP430 LaunchPad  只要花費美金 $4.3元就可買到,但對於沒接觸過 16-bit 微處理器的人來講,其學習過程就是要下那麼一番苦工,才能得到我們所要的結果。

還好,網路上就是有那麼多有心人士分享其開發成果,讓我們有下面要介紹的這軟體可以像在開發 Arduino 韌體一樣開發 MSP430。

Energia 是使用與 Arduino IDE 一樣的核心 (Processing),函式與語法使用上都與 Arduino 大同小異,如果你沒有使用過 Arduino IDE,可以先上 Getting Started 網頁看看,裡面有 Energia 安裝及使用的說明,有較深入的問題就上 Disscussion Froum 論壇找答案。



更多資訊請上:https://github.com/energia/Energia/wiki


手邊沒有 TI MSP430 LaunchPad ? 只要註冊後花費 $4.3 美元(免運費),每個人最多可買 3 片,3-7 天就會運送到府,非常的划算。配合上面所介紹的開發工具,有興趣的你(妳)還在等什麼 ?

2011年7月3日 星期日

使用AVR 玩弄 EL-Wire (冷光線)

EL-Wire(ElectroLuminescent Wire, 簡稱 冷光線),是一種利用電致發光原理的發光體,外觀類似電線。看起來像是電線,但依照所要發出不同顏色的光再批覆上不同的外皮,而且由於本體中心有一根單心銅線(依照本文所使用的 3mm 的冷光線線徑,銅線部分大約占整體的 1/3,也就是 1mm 左右的線徑)可根據設計的圖形、文字做不同的形狀變化。

本文主要的目的為介紹如何使用 AVR (其他為控制器亦可)控制冷光線,內容有:

  1. 冷光線介紹與焊接方法
  2. 冷光線DC(直流電)轉AC(交流電)電路(此處的AC是指有頻率的電壓,但所轉換的電壓不一定要通過電壓零點)。
  3. 冷光線控制電路
  4. 程式碼
  5. 實際例子影片

無線模組 (RF 315MHz) 發射接收,使用8051與ATtiny2313

相信大多數的人都有玩過遙控類的玩具,甚至在日常生活中也常常用到,例如家裡的電動門、汽車中控鎖......等,都使用到這種 RF (Radio Frequency) 通訊的技術。

本文中所要探討的是 RF 315MHz 長距離發射/接收模組 (TG-11A 與 TG-11B) 的控制方法,不使用額外的編碼與解碼晶片,而是使用 MCU (Micro-Controller Unit) 微控制器來負責發射與接收:發射端送出自訂字元,接收端接收自訂字元產生相對應的動作 (這裡是控制 LED 明滅)。


網路上關於照片中的模組所找到的資料都是基於八支腳位的,不過由於大部份接腳都是共用的,所以簡化之後的接腳只有 Vcc、GND和 DATA IN/OUT用的到。

文中所使用的模組都是 4-pin,有些接腳在使用時必須接在一起 (照片中可清楚看出)。

參考網站:
WinAVR AVR-GCC Tutorial - Running TX433 and RX433 RF modules with AVR microcontrollers

2011年3月3日 星期四

實作 UART 功能使用 Attiny45 USI

Attiny45 是一個 8-pin 的晶片,因為體積小而且功能強大且內建 4K 的 flash rom,對於簡單的一些練習是再好不過的晶片。但是這幾天為了想作一些關於 ADC 的實驗,於是就拿了它來做,結果呢? 它本身內建的功能沒有所謂的 UART (也就是在接腳圖上看不到 TxD 與 RxD ),而且手邊的Attiny2313 卻只有 on-chip Analog Comparator 兩支接腳作為類比比較用。一個有 ADC 卻沒硬體 UART,一個有 UART 卻只有一組 Analog Comparator 也不夠用 ......真是羚羊趕不完!

不過既然 Attiny45 有 USI 功能,想必可以用軟體實作的方式做出來!

上網 google 的一下,在 Atmel 官網中的一份文件( AVR307: Half Duplex UART Using the USI Module on tinyAVR and megaAVR devices) 有解決方案(如果找不到這份文件請 Google 一下,Updated 10/03,打文時又檢查了一遍連結發現ATEML官網最近有大改版)。不過事情卻沒想像中這麼容易,文件中所使用的晶片是 Attiny26,編譯器是 IAR Workbench。跟我用的都不一樣,所以如果要使用 Attiny45 內的 USI 做出 UART 的功能,必定要經過一番苦讀與修改。


首先要做的就是下載 AVR307所附的範例程式,把 Attiny26 相關的暫存器設定,修改為Attiny45,最後再修改整個 IAR 的程式碼讓它可以符合並通過 AVR Studio 編譯器的語法檢查,這樣才能產生所需要的Attiny45 UART 程式碼。


我的目的是要使用 ATtiny45 實現兩個 ADC 的監控。當然需要兩個 UART 功能的也可利用這個方法來做實現。


硬體線路:


硬體線路可以分為兩個部份,第一部分是Attiny45的線路部分,需要注意的是:當使用三線USI模式時,PB1(pin6) 是設定為 output 而且是一個open-drain output,所以必須要加上一個pull-up電阻。如圖中所示,加上了一個 1K 電阻,經實際測試是OK的!


第二部份是一個 RS232 準位準換電路,Attiny45 所標示的的 Tx 與 Rx 分別接到 232 晶片的 pin11 和 pin12,由於輸出已經直接跳線到 D-Type 母接頭,因此在與電腦連接時並不需要特別購買 9-pin 的 RS232跳線,直接用一般的線就好。圖中所使用的晶片為 MAX232 和 HIN232,若你使用的晶片代號不一樣時,請查閱一下晶片手冊。對於簡單應用與測試來講這個線路很足夠了,不但簡單而且零件很容易取得,價錢又便宜!