我的同事建議我將 NTP 加上網路斷線偵測可以重新reset的功能
2023年12月7日 星期四
2015年8月3日 星期一
五分鐘使用Arduino控制SPI
什麼是SPI?
https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
SPI 是一種四線制串列匯流排介面,為主/從結構,四條導線分別為串列時脈(SCLK)、主出從入(MOSI)、主入從出(MISO)和從選(SS)訊號。主元件為時脈提供者,可發起讀取從元件或寫入從元件作業。這時主元件將與一個從元件進行對話。當匯流排上存在多個從元件時,要發起一次傳輸,主元件將把該從元件選擇線拉低,然後分別透過MOSI和MISO線路啟動數據發送或接收。【這一段說明引用自電子工程專輯】請參考下列聯結
http://www.eettaiwan.com/SEARCH/ART/SPI.HTM
詳細的中文介紹請參考台灣WIKI
http://www.twwiki.com/wiki/SPI
廢話不說了介紹Arduino的SPI接法
Arduino UNO內定10,11,12,13為SPI通信界面使用
10 :SS chip select從設備致能信號,由主設備控制
11 : MOSI 主設備數據輸出,從設備數據輸入
12 : MISO 主設備數據輸入,從設備數據輸出
13 : CLOCK 時鐘信號,由主設備產生
https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
SPI 是一種四線制串列匯流排介面,為主/從結構,四條導線分別為串列時脈(SCLK)、主出從入(MOSI)、主入從出(MISO)和從選(SS)訊號。主元件為時脈提供者,可發起讀取從元件或寫入從元件作業。這時主元件將與一個從元件進行對話。當匯流排上存在多個從元件時,要發起一次傳輸,主元件將把該從元件選擇線拉低,然後分別透過MOSI和MISO線路啟動數據發送或接收。【這一段說明引用自電子工程專輯】請參考下列聯結
http://www.eettaiwan.com/SEARCH/ART/SPI.HTM
詳細的中文介紹請參考台灣WIKI
http://www.twwiki.com/wiki/SPI
廢話不說了介紹Arduino的SPI接法
Arduino UNO內定10,11,12,13為SPI通信界面使用
10 :SS chip select從設備致能信號,由主設備控制
11 : MOSI 主設備數據輸出,從設備數據輸入
12 : MISO 主設備數據輸入,從設備數據輸出
13 : CLOCK 時鐘信號,由主設備產生
首先程式必須包含下列函數:
在Arduino的程式中設定如圖所示
這樣就可以打開SPI通信PORT了
資料的移出是MSB先出
SPI mode 設定為MODE1
SPI的clock速度是clock/64
#SPI
#五分鐘
#串列通信
#五分鐘
#串列通信
2015年8月2日 星期日
使用Arduino 五分鐘搞定1602 LCD
對於不懂的Firmware的人要進入Firmware的世界真的很難,現在有一種工具很快就讓人上手使用,我今天要介紹的就是Arduino UNO + I2C LCD模組。
什麼是Arduino?
什麼是Arduino?
圖一 Arduino UNO
Arduino,是一個開放原始碼的單晶片微控制器,它使用了Atmel AVR單片機,採用了基於開放原始碼的軟硬體平台,建構於簡易輸出/輸入(simple I/O)介面板,並且具有使用類似Java、C語言的Processing/Wiring開發環境。 【資料來自於維基百科】
請參考: https://zh.wikipedia.org/wiki/Arduino
製作這個專題需要下列工具:
1. Arduino UNO 硬體如【圖一】
購買可以參考下列網址
2. Arduino IDE 開發環境
圖二 Arduino 首頁
3. Notepad++ 文書編輯軟體
圖三 Notepad++首頁
4. IIC IO 板 + 1602 LCD模組
圖四 IIC LCD模組與Arduino UNO接線圖
什麼是IIC?
I²C(Inter-Integrated Circuit)是內部整合電路的稱呼,是一種串列通訊匯流排,使用內送流量備援容錯機制從架構,由飛利浦公司在1980年代為了讓主機板、嵌入式系統或手機用以連接低速週邊裝置而發展。I²C的正確讀法為"I-squared-C" ,而"I-two-C"則是另一種錯誤但被廣泛使用的讀法。截至2006年11月1日為止,使用I²C協定不需要為其專利付費,但製造商仍然需要付費以獲得I²C從屬裝置位址。
【請參考維基百科】
圖五 IIC的架構示意圖
圖六 Arduino的程式基本架構
開機之後的基本設定寫在setup() 函數內 這裡的程式碼只有執行一次。
然後一直循環的程式碼寫在loop()函數內。
圖七 LCD 範例
本專案必須使用下列驅動
#include // IIC communication
#include // LCD
Wire.h 負責IIC通信
LiquidCrystal_I2C.h 負責 IIC LCD的控制。
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
void setup()
{
//*************************
//****** LCD setting ********
//*************************
lcd.begin(16,2); // initialize the lcd for 20 chars 4 lines, turn on backlight
lcd.backlight(); //點亮背光
// Print a message to the LCD.
lcd.setCursor(2, 0); //設定游標在第2列第0行
lcd.print("Hello !! ");
lcd.setCursor(2, 1);
lcd.print("I am IIC LCD");
}
void loop() {
}
基本上寫這幾行程式就可以讓LCD顯示文字了。
# 1602 LCD
# LCD 1602
# IIC
# Arduino
# arduino
# I2C
# LCD 1602
# IIC
# Arduino
# arduino
# I2C
訂閱:
意見 (Atom)
如何使用終端機軟體收集來自於Arduino的資料
將治具使用Micro USB cable 連上電腦 開啟終端機軟體 選擇 Serial🡪按下OK File🡪Log… 設定log file要存放位置,建議檔案名稱直接取名為*.CSV 例如:20231224.csv 按下治具Reset按鍵開始收集資料
-
[Arduino 技巧 ] 使用 u8g2 函式庫建立自訂字庫,讓 OLED 顯示中文 2023 年 12 月 11 日 下午 02:42 傑森創工的LCM 模組不錯我我常常買大家可以參考看看 下面是我小小研究心得 OLED 中文 LCD 中文 中文字庫 ...
-
#Arduino #ESP8266 #OLED #LCD #I2C #IIC #NTP #網路時鐘 #Clock #李進衛 I2C LCD Wemos D1 Mini Board Wemos D1 Mini Board購買 http://g...
-
#Arduino #DAQ #Labview #Arduino UNO #NI USB-6501 如何使用 Arduino 替代 NI USB-6501 DAQ 所需的硬體以及軟體如下: Arduino UNO http://www....










