2015年12月23日 星期三

Andino M1平台-使用Arduino IDE開發(14)_Due & Zero only

1. 電路圖:

2. 程式:


void setup(){
  // open a serial connection
  Serial.begin(9600); 
  // make our digital pin an output
  pinMode(4, OUTPUT); //SDA(PWM0)
  pinMode(5, OUTPUT); //SCL(PWM1)
}

void loop(){
  // read the input on A0 and map it to a PWM pin
  // with an attached LED
  int sensorVal = analogRead(A0);
  Serial.print("Analog Read) : ");
  Serial.print(sensorVal);

  // the default PWM resolution
  analogWriteResolution(8);
  analogWrite(4, map(sensorVal, 0, 1023, 0 ,255));
  Serial.print(" , 8-bit PWM value : ");
  Serial.print(map(sensorVal, 0, 1023, 0 ,255));

  // change the PWM resolution to 4 bits
  analogWriteResolution(4);
  analogWrite(5, map(sensorVal, 0, 1023, 0, 127));
  Serial.print(", 4-bit PWM value : ");
  Serial.println(map(sensorVal, 0, 1023, 0, 127));

  delay(100);
}

3. 結果:

Andino M1平台-使用Arduino IDE開發(13)_Due & Zero only

1. 電路圖:

2. 程式:

void setup() {
  // open a serial connection
  Serial.begin(9600); 
}

void loop() {
  // read the input on A0 at default resolution (10 bits)
  // and send it out the serial connection 
  analogReadResolution(10);
  Serial.print("ADC 10-bit (default) : ");
  Serial.print(analogRead(A0));

  // change the resolution to 12 bits and read A0
  analogReadResolution(12);
  Serial.print(", 12-bit : ");
  Serial.print(analogRead(A0));

  // change the resolution to 16 bits and read A0
  analogReadResolution(16);
  Serial.print(", 16-bit : ");
  Serial.print(analogRead(A0));

  // change the resolution to 8 bits and read A0
  analogReadResolution(8);
  Serial.print(", 8-bit : ");
  Serial.println(analogRead(A0));

  // a little delay to not hog serial monitor
  delay(100);
}

3. 結果:

2015年12月22日 星期二

Andino M1平台-使用Arduino IDE開發(12)_Analog I/O

1. 電路圖:

2. 程式:


int ledPin = 4;      // LED connected to digital pin SDA(PWM0)
int analogPin = 3;   // potentiometer connected to analog pin 3
int val = 0;         // variable to store the read value

void setup()
{
  pinMode(ledPin, OUTPUT);   // sets the pin as output
}

void loop()
{
  val = analogRead(analogPin);   // read the input pin
  analogWrite(ledPin, val / 4);  // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
}

3. 結果:

Andino M1平台-使用Arduino IDE開發(11)_Analog I/O

1. 電路圖:

2. 程式:

int analogPin = 3;     // potentiometer wiper (middle terminal) connected to analog pin 3
                       // outside leads to ground and +5V
int val = 0;           // variable to store the value read

void setup()
{
  Serial.begin(9600);          //  setup serial
}

void loop()
{
  val = analogRead(analogPin);    // read the input pin
  Serial.println(val);             // debug value
}

3. 結果:

2015年12月21日 星期一

Andino M1平台-使用Arduino IDE開發(10)_Digital I/O

1. 電路圖:

2. 程式:


int ledPin = 13; // LED connected to digital pin 13
int inPin = 7;   // pushbutton connected to digital pin 7
int val = 0;     // variable to store the read value

void setup()
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin 13 as output
  pinMode(inPin, INPUT);      // sets the digital pin 7 as input
}

void loop()
{
  val = digitalRead(inPin);   // read the input pin
  digitalWrite(ledPin, val);    // sets the LED to the button's value
}

3. 結果:

Andino M1平台-使用Arduino IDE開發(9)_Digital I/O

1. 電路圖:

2. 程式:

int ledPin = 13;                 // LED connected to digital pin 13

void setup()
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}

void loop()
{
  digitalWrite(ledPin, HIGH);   // sets the LED on
  delay(1000);                  // waits for a second
  digitalWrite(ledPin, LOW);    // sets the LED off
  delay(1000);                  // waits for a second
}

3. 結果:

2015年12月20日 星期日

Andino M1平台-使用Arduino IDE開發(8)_Arduino終端機-序列埠監控視窗

Arduino IDE的終端機翻譯成序列埠監控視窗,主要是用來讓UART顯示文字資訊,好方便Debug,那Andino M1如何使用序列埠監控視窗,可以依照下列步驟操作。

1. 將UART連接至PC的USB插槽。

2. 使用滑鼠選擇〝工具〞>〝序列埠:"COM?"〞,先設定USB是接到哪一個序列埠(COM?)。

3. 之後選擇〝工具〞>〝序列埠監控視窗〞。

4. 開啟〝序列埠監控視窗〞後,如果你的程式有使用到Serial.print()函數時,視窗就會顯示出訊息。

Andino M1平台-使用Arduino IDE開發(7)_Andino M1平台元件布局

Andino M1使用了比原廠ARDUINO UNO還要多的IC元件,除了與ARDUINO UNO相對應的腳位之外,Andino M1最大的特色就是多增加支援Zigbee無線網路傳輸。
一般使用其他IDE在除錯上可以利用中斷設定,經過JTAG介面,來進行程式的Debug工作,而 Arduino IDE在除錯上就只能用Serial.print()函數就資訊顯示在序列埠監控視窗〞上來除錯,
晶心科技在這塊板子上預留NXP LPC1820 32-bit ARM  Cortex-M3的MCU除了目前當作燒錄程式至M2COMM M2C8001 32-bit AndesCore N801-S的使用外,因該也是未來增加ICE除錯工具的預留做準備。

2015年12月19日 星期六

Andino M1平台-使用Arduino IDE開發(6)_安裝Boards Manager遇到CRC doesn’t match. File is corrupted.

1. 當使用Boards Manager安裝遇到CRC doesn’t match. File is corrupted.錯誤訊息。

2. 請先暫時關閉防火牆或是防毒軟體。

3. 使用滑鼠點選〝檔案〞>〝偏好設定〞>〝在偏好設定檔裡還有更多設定值可直接編輯〞。

4. 刪除\Arduino15路徑下所有之前安裝的檔案。

5. 選擇〝工具〞>〝板子:”Arduino Yun”>Boards Manager〞。

6. 使用滑鼠點選〝Andino ANDES Boards by Andestech〞,會出現〝Install〞按鈕,點選〝Install〞。

7. 安裝完成後,可以看見Andino M1選項,請使用滑鼠勾選。

2015年12月4日 星期五

Andino M1平台-使用Arduino IDE開發(5)_Arduino草稿程式碼

當使用滑鼠點選桌面Arduino ICON後,會開啟一個新的計畫視窗。

驗證: 進行程式編譯/建置。




上傳: 將編譯好的程式燒錄至開發板。




新增: 增加一個新的計畫視窗。




開啟: 開啟舊的計畫檔案。




儲存: 將目前的計畫檔案存檔。




程式編輯程式視窗
在新增程式碼中可以看到void setup()void loop()函式,當系統重置(Reset)時,微處理器會先執行void setup()內的程式,且只會執行一次,之後就會持續循環的執行void loop()函式內的程式。

訊息視窗
訊息視窗主要是顯示編譯程式時的進度與結果的資訊,以供程式開發人員參考。