2016年12月1日 星期四

語言基礎(02)

arduino 架構
arduino SDK
arduino IDE
COM3
微控板   輸入 輸出 記憶 邏輯運算單元
         monitor     serial序列埠視窗  速率9600
         麵包板1      digital
         麵包板2      anolog
         模組            LCD BT WIFI
元件庫 (第三方官方函數庫)->sketct c語言
Rx,Tx 用D0  D1  如使用D0  D1 要先拔出再插入

物聯網架構
實體層   生活上實體如飛機車子
感知層    微電腦感測器1.架構2.sketch c  3.信號  4.硬體連接方式  電壓電流控制
網路層    乙太網路 wifi bigzee Hc06  w5100  通訊協定  封包
應用層    存檔到雲端資料庫>app,web application other
                 >HTML,javascript,Jquery,php,mysql,firebase
創作層    bigdata R語言  PowerBee

sketch c 語言

資料型態
1.byte      位元
2.int         整數
3.short     短整數
4.long      常整數 65535以上
5.float      浮點數
6.double  倍精數
7.char   'c'
8.string  "bull"
9.boolean  true/false
10.Array  一維 二維
11.word  number字


變數
資料型態  變數名稱;
例   int  a=10;  string str="bill";  shar[]="bill";
=====================================
serial:

1.serial.begin(9600);   定數綠
2.輸出
  serial.print() 無換行
  serial.println()
3.輸入
        serial.read()
4.判斷是否有資料
        serial.available()>0
======================================
運算子
1算術運算子  +,-,*,/,%,=
2關係運算子   >,<,>=,<=,!=
3邏輯運算子  &&,||,!
4增減量運算子 ++,--
5複合運算子  +=,-=,*=,/=,
==========================
int x=20;
int y=40;
int total=0;
void setup() {
  // put your setup code here, to run once: 計算寫在setup() 可在序列號視窗看結果
  Serial.begin(9600);
  total=x+y;
  Serial.println(total);
}

void loop() {
  // put your main code here, to run repeatedly:

}
===================
int x=20;
int y=40;
char k;;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
 }

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available()>0)
  {
    k=Serial.read();  由序列埠讀入
    Serial.println(k);  送到com3
  }
 }
========================
int k;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
 }

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available()>0)
  {
    k=Serial.read()-'0';  //讀取字元ASCII碼減零得數字
    Serial.println(k);
  }
 }
=================
練習&& 積法功能   || 加法功能  或
int k=56;
int y=60;
boolean z;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  z=((k<=80) && (y<=70));
  Serial.println(z);
 }

void loop() {
  // put your main code here, to run repeatedly:

 }
=================
例    由序列埠控制
int led1=7;
int led2=8;
int led3=9;
int n;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
 }

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available()>0)
  {
    n=Serial.read()-'0';
    digitalWrite(led1,LOW);
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);

    if(n==1)
    {
      digitalWrite(led1,HIGH);
    }
    if(n==2)
    {
      digitalWrite(led2,HIGH);
    }
    if(n==3)
    {
      digitalWrite(led3,HIGH);
    }
  delay(3000);
  }
 }


沒有留言:

張貼留言