PIXNET Logo登入

彥霖 實驗筆記

跳到主文

個人筆記...

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 3月 27 週四 201414:54
  • Arduino 入門教學:使用 UART / COM Port 控制 雙色LED

void setup(){
    pinMode(9, OUTPUT);
    pinMode(8, OUTPUT);
    Serial.begin(9600);
    Serial.println("Please Keyin y/n To Control LED...");
}

void loop(){
  if(Serial.available()){
    if(Serial.read()=='y'){
      analogWrite(8, 255);
      analogWrite(9, 0);
      Serial.println("LED is ON.");
    }else{
      analogWrite(8, 0);
      analogWrite(9, 255);
      Serial.println("LED is OFF.");
    }
  }  
}
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(1) 人氣(2,032)

  • 個人分類:[單晶片] Arduino
▲top
  • 3月 27 週四 201414:32
  • Arduino 入門教學:類比輸出 - LED 淡入淡出

本篇文章重點就是用 Arduino 實作類比輸出,可以使 LED 漸漸亮~漸漸暗~。
主要程式碼只有一行 analogWrite(9, i); ,這行程是碼的 9 代表 輸出 腳, i 代表 亮度,0 最暗,255 最亮。
void setup(){
    pinMode(9,OUTPUT);
}

void loop(){
    
    for(int i = 0; i < 255; i++){
      analogWrite(9, i);
      delay(3);
    }
    
    delay(50);
    
    for(int i = 255; i > 0; i--){
      analogWrite(9, i);
      delay(3);
    }
    
    delay(50);
}
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(0) 人氣(4,719)

  • 個人分類:[單晶片] Arduino
▲top
  • 12月 03 週二 201322:34
  • Arduino 入門教學:Timer 使用

請先下載 Timer 庫。並解壓縮到 Arduino 專案路徑下 (存檔路徑)
https://github.com/JChristensen/Timer#installation

傳統我們要控制 LED 閃爍頻率則是修改 delay() 延遲時間,但是如果之後要讓 10 個 LED 以不同頻率閃爍則非常困難。如果之後只是要修改其中一個LED頻率,那麼其他9個LED也要修改,而且還要大量計算好時間,這是非常不容易維護的。如下是使用傳統作法:
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(7) 人氣(50,051)

  • 個人分類:[單晶片] Arduino
▲top
  • 10月 26 週六 201322:17
  • Arduino 入門教學:COM (UART) 輸入判斷並讓 LED 發亮

請勿使用 Aduino 內建的 COM 輸入,內建有些BUG可能無法正確輸出。這裡我是用 Access Port 軟體,也是將資料從COM輸出至Arduino軟體。
下載:http://www.sudt.com/en/ap/download.htm
打開  Access Port 從左上角的齒輪圖案設定 COM 與 包率 (9600、115200...等等)。
OK後按下電源圖案即可與 Arduino通信
在下方的框框輸入 ABC 並按下 Enter 後,點選 [發送資料按鈕] 即可看見 第12腳 LED 發光發亮。
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(1) 人氣(6,856)

  • 個人分類:[單晶片] Arduino
▲top
  • 10月 23 週三 201304:20
  • Arduino 入門教學:讀取 ADXL345 三軸加速度計


ADXL345 是一種常見、便宜、簡單、好用的 3 軸加速度計。我這片 ADXL345 模組是我在露天拍賣買的,約台幣 110 元...,比起之前買的 LSM303DLH 就要台幣 6、7 百元要來的便宜多了...Orz
另外記得 信號線 都要接 10K 上拉電阻,不然會讀不到...( 只要是走 i2c 協定的都要接上拉電阻
實際接線圖 (右邊小塊板子就是 ADXL345 ):
特寫 ADXL345 模組:
執行結果:
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(49) 人氣(50,178)

  • 個人分類:[單晶片] Arduino
▲top
  • 10月 01 週二 201306:23
  • Arduino 入門教學:讀取 LSM303DLHC 三軸加速度計 (進階)

11111111111
還有一篇基本篇可參考:http://lolikitty.pixnet.net/blog/post/163032620
 
#include <Wire.h>

// LSM303DLHC 的 i2c 地址。由於 Arduino i2c 資料空間是 7 bit 所以要右移一個位元
int i2cAddress = 0x32 >> 1;

void setup() {
    Serial.begin(9600);
    Serial.println("-------------------");
    Wire.begin(); // 啟用 i2c
    
    writeReg(0x20,0b00100111); // 打開三軸加速計的電源 ,設定每秒讀取10次,啟用XYZ軸
}

void loop() {
  Wire.beginTransmission(i2cAddress);
  Wire.write(0x28 | (1 << 7));
  Wire.endTransmission();
  Wire.requestFrom(i2cAddress, 6);
  
 

  byte xla = Wire.read();
  byte xha = Wire.read();
  byte yla = Wire.read();
  byte yha = Wire.read();
  byte zla = Wire.read();
  byte zha = Wire.read();
  
  int x = (xha << 8 | xla) >> 4;
  int y = (yha << 8 | yla) >> 4;
  int z = (zha << 8 | zla) >> 4;
    
  Serial.print("X : ");
  Serial.print(x);
  Serial.print(" Y : ");
  Serial.print(y);
  Serial.print(" Z : ");
  Serial.println(z);
    
    delay(500);
}

/************************************************************* 
* 寫入佔存器:writeReg(int reg, int value)
* reg:佔存器地址
* value:要寫入的值
*/
void writeReg(int reg, int value){
    Wire.beginTransmission(i2cAddress);
    Wire.write(reg);
    Wire.write(value);
    Wire.endTransmission();
}

/************************************************************* 
* 讀取佔存器:readReg(int reg)
* reg:要讀取的佔存器地址
*/
int readReg(int reg){
    Wire.beginTransmission(i2cAddress);
    Wire.write(reg);
    Wire.endTransmission();
    
    Wire.requestFrom(i2cAddress, 1);
    int value = Wire.read();
    Wire.endTransmission();
    
    return value;
}
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(1) 人氣(1,791)

  • 個人分類:[單晶片] Arduino
▲top
  • 9月 29 週日 201305:07
  • Arduino 入門教學:讀取 LSM303DLHC 三軸加速度計(基本)

I2C1
還有一篇進階篇可參考:http://lolikitty.pixnet.net/blog/post/163257851
 
#include <Wire.h>

// LSM303DLHC 的 i2c 地址。由於 Arduino i2c 資料空間是 7 bit 所以要右移一個位元
int i2cAddress = 0x32 >> 1;

void setup() {
    Serial.begin(9600);
    Serial.println("-------------------");
    Wire.begin(); // 啟用 i2c
    
    writeReg(0x20,0b00100111); // 打開三軸加速計的電源 ,設定每秒讀取10次,啟用XYZ軸
}

void loop() {
    Serial.print("X : ");
    Serial.print(readReg(0x29));
    Serial.print(" Y : ");
    Serial.print(readReg(0x2B));
    Serial.print(" Z : ");
    Serial.println(readReg(0x2D));
    delay(500);
}

/************************************************************* 
* 寫入佔存器:writeReg(int reg, int value)
* reg:佔存器地址
* value:要寫入的值
*/
void writeReg(int reg, int value){
    Wire.beginTransmission(i2cAddress);
    Wire.write(reg);
    Wire.write(value);
    Wire.endTransmission();
}

/************************************************************* 
* 讀取佔存器:readReg(int reg)
* reg:要讀取的佔存器地址
*/
int readReg(int reg){
    Wire.beginTransmission(i2cAddress);
    Wire.write(reg);
    Wire.endTransmission();
    
    Wire.requestFrom(i2cAddress, 1);
    int value = Wire.read();
    Wire.endTransmission();
    
    return value;
}
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(2) 人氣(2,806)

  • 個人分類:[單晶片] Arduino
▲top
  • 9月 28 週六 201310:13
  • Arduino 入門教學:TC74 A0 溫度 i2c 讀取

// 資料手冊 i2c 的 TC74 A0 地址是寫 1001000
 
#include <Wire.h>

int i2cAddress = 72; // TC74 A0 的 i2c 地址 ( 2 進制 1001000 轉成 10 進制後為 72 )

void setup() {
    Serial.begin(9600);
    Serial.println("-------------------");
     Wire.begin(); // 一定要寫
}

void loop() {
    
    Wire.beginTransmission(i2cAddress);
    Wire.write(0);
    Wire.endTransmission();

    Wire.requestFrom(i2cAddress, 1); // 一定要寫
    
    while(Wire.available() == 0); // 等待回應
        
    Serial.println(Wire.read()); // 讀取溫度並傳送至電腦顯示
    
    delay(500); // 延遲0.5秒
}

(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(0) 人氣(4,305)

  • 個人分類:[單晶片] Arduino
▲top
  • 8月 31 週六 201322:31
  • Arduino 入門教學:藍芽 Bluetooth 下達 AT 指令

21301307863059_305
本次使用 CSR BC-4 藍牙模組 ,是一款常見的藍芽模組,個人覺得便宜好用...
程式碼: 
void setup(){
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(2) 人氣(9,611)

  • 個人分類:[單晶片] Arduino
▲top
  • 8月 31 週六 201314:26
  • Arduino 入門教學:UART 讀取一整行字串

Arduino 官方的 Serial.read() 一次只能讀取一個字元 ( char ) ,但是在很多應用上都是使用字串 ( String ) 操控比較多,另外一整行寫入官方已經有實作 Serial.println() 了,所以這裡不再講解。今天來介紹如何使 Arduino UART 讀取 一整行字串的程式碼,如下:
 
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(2) 人氣(21,328)

  • 個人分類:[單晶片] Arduino
▲top
12»

實驗人員

黃彥霖
暱稱:
黃彥霖
分類:
數位生活
好友:
累積中
地區:

文章分類

  • [遊戲設計] Unity (100)
  • [程式語言] Java (91)
  • [程式語言] Go (31)
  • [程式語言] C # (15)
  • [程式語言] Python 3 (11)
  • [程式語言] Erlang (2)
  • [程式語言] Python 2 (2)
  • [程式語言] C++ (10)
  • [程式語言] C (8)
  • [程式語言] Node.js (5)
  • [程式語言] JavaScript (8)
  • [程式語言] Java-Android (2)
  • [資料庫] PostgreSQL (28)
  • [資料庫] Hadoop (2)
  • [作業系統] Linux (23)
  • [作業系統] Windows (3)
  • [作業系統] FreeRTOS (1)
  • [單晶片] Arduino (19)
  • [單晶片] ARM-STM32-F4 (15)
  • [單晶片] ARM-STM32-F1 (13)
  • [單晶片] ARM-LPC1114 (1)
  • [單晶片] PIC33FJ128MC804 (4)
  • [硬體設計] 常用IC (1)
  • [硬體設計] 3D 印表機 (3)
  • [硬體設計] 其他 (4)
  • [數學+程式語言] Matlab (4)
  • [數學] 應用數學 (2)
  • [論壇架設] Discuz! (1)
  • [科技新聞] 機器人 (3)
  • [轉碼工具] FFMPEG (1)
  • [檔案格式] 3D 檔案 (1)
  • [程式語言] 程式設計經驗談 (2)
  • [伺服器] GlassFish 筆記 (1)
  • [網頁] HTML 教學 (5)
  • [網頁] CSS 語法 (1)
  • [網頁] JSP / Servlet (7)
  • [網路監控] SmartSniff (1)
  • [虛擬機器] VirtualBox (1)
  • [電腦安全] 開發者 (1)
  • [美術設計] 繪畫 (0)
  • [3D設計] Blender 教學 (2)
  • [3D設計] Blender 外掛設計 (1)
  • [2D設計] GIMP Python (2)
  • [3D設計] Shroud Studio (3)
  • [展示] 作品、比賽、專題 (4)
  • [人類語言] 希伯來語 (1)
  • [金融] 外匯 (1)
  • 未分類文章 (1)

FB 粉絲頁

最新留言

  • [24/05/04] 訪客 於文章「Arduino 入門教學:讀取 ADXL...」留言:
    我想問一下關於ADXL345的問題,我在ARDUINO上測量...
  • [23/01/14] 訪客 於文章「Arduino 入門教學:Timer 使...」留言:
    如果我的callfunction是需要帶參數的 那t.ev...
  • [21/10/21] 陳霖 於文章「Arduino 入門教學:讀取 LSM3...」留言:
    不好意思不知道您還看不看的到,想請問您,你抓出的加速度器資料...
  • [21/07/23] wjb5741 於文章「Arduino 入門教學:讀取 ADXL...」發表了一則私密留言
  • [21/07/23] wjb5741 於文章「Arduino 入門教學:讀取 ADXL...」發表了一則私密留言
  • [20/10/27] 蔡金龍 於文章「STM32F1 入門教學:UART 接收...」發表了一則私密留言
  • [20/09/17] 秋本 嵐 於文章「Unity 入門教學:使用攝影機...」留言:
    您好,我最近在做Unity與Webcam相關的東西。 我想...
  • [20/08/09] 訪客 於文章「STM32F4 入門教學:SysTick...」留言:
    謝謝分享 ~ : )...
  • [20/07/24] 楊昇逸 於文章「C++ ( Qt 5 ) 入門範例:各種...」發表了一則私密留言
  • [20/03/04] 訪客 於文章「Java Json 教學:使用 org....」留言:
    <script>alert('hello');</scrip...

參觀人氣

  • 本日人氣:
  • 累積人氣: