A.先接好溫控,並測試
溫控
int tempr=A0;
int tv=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
tv=analogRead(tempr);
Serial.println(tv);
delay(2000);
}
=============================
兩顆七段顯示器可正常運作
int sp1[10][7]={{1,1,1,1,1,1,0},{0,1,1,0,0,0,0},{1,1,0,1,1,0,1},{1,1,1,1,0,0,1},{0,1,1,0,0,1,1},{1,0,1,1,0,1,1},{1,0,1,1,1,1,1},{1,1,1,0,0,0,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};
int sp2[10][7]={{1,1,1,1,1,1,0},{0,1,1,0,0,0,0},{1,1,0,1,1,0,1},{1,1,1,1,0,0,1},{0,1,1,0,0,1,1},{1,0,1,1,0,1,1},{1,0,1,1,1,1,1},{1,1,1,0,0,0,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};
int k=0;
int k2=0;
void setup() {
// put your setup code here, to run once:
for(int i=0;i<=13;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=0;j<7;j++)
{
digitalWrite(j,sp1[k][j]);
}
for(int h=7;h<=13;h++)
{
digitalWrite(h,sp2[k2][h]);
}
delay(2000);
k++;
k2++;
if(k==10)
{
k=0;
}
if(k2==10)
{
k2=0;
}
}
=================================
C.再接上 溫控及讀取其值顯示在七段顯示器
int sp1[10][7]={{1,1,1,1,1,1,0},{0,1,1,0,0,0,0},{1,1,0,1,1,0,1},{1,1,1,1,0,0,1},{0,1,1,0,0,1,1},{1,0,1,1,0,1,1},{1,0,1,1,1,1,1},{1,1,1,0,0,0,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};
int sp2[10][7]={{1,1,1,1,1,1,0},{0,1,1,0,0,0,0},{1,1,0,1,1,0,1},{1,1,1,1,0,0,1},{0,1,1,0,0,1,1},{1,0,1,1,0,1,1},{1,0,1,1,1,1,1},{1,1,1,0,0,0,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};
int tempr=A0;
int tv=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for(int i=0;i<=13;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
tv=analogRead(tempr);
Serial.println(tv);
String sdata=(String)tv;
int k=sdata.charAt(0)-'0';
int k2=sdata.charAt(1)-'0';
for(int j=0;j<7;j++)
{
digitalWrite(j,sp1[k][j]);
}
for(int h=7;h<=13;h++)
{
digitalWrite(h,sp2[k2][h]);
}
delay(2000);
k++;
k2++;
if(k==10)
{
k=0;
}
if(k2==10)
{
k2=0;
}
}
======================================
光敏電阻 控制LED燈
int lightr=A0;
int vin=0;
int refv=850; //視實際光度
int led=7;
void setup() {
// put your setup code here, to run once:
pinMode(led,OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
vin=analogRead(lightr);
Serial.println(vin);
if (vin>refv)
{
digitalWrite(led,LOW);
}
if (vin<refv)
{
digitalWrite(led,HIGH);
}
}
=================================================
#difine 定義
1.定義接腳
2.定義運算式
3.定義函數
#define 名稱 資料
2016年12月22日 星期四
2016年12月20日 星期二
函數
https://www.arduino.cc/en/Reference/FunctionDeclaration
函數架構二
Void 函數名稱(資料型態 參數 1,資料型態 參數 2)
{ [ 程式區塊 ] }
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a=12;
int b=14;
fun2(a,b);
}
void fun2(int x,int y)
{
int total=x+y;
Serial.println(total);
}
=====================
函數架構三
函數名稱()
{
[ 程式區塊 ]
return 回傳變數值
}
接受回傳值=函數名稱();
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int k=fun3(); //整數
Serial.println(k);
}
int fun3()
{
return 100;
}
----------------------------------------------
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
String str3=fun3_1(); //字串
Serial.println(str3);
}
String fun3_1()
{
String str1="Hello ";
String str2="world";
return str1+str2;
}
---------------------------------
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
char k=fun3_2();
Serial.println(k);
}
char fun3_2()
{
char k='q';
return k;
}
=======================
函數架構 四
函數名稱(資料型態 參數 1,資料型態 參數 2)
{ [ 程式區塊 ]
return 回傳變數值
}
接受回傳值=函數名稱(引數1,引數2);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int k=fun4(12,45);
Serial.println(k);
}
int fun4(int x,int y)
{
int k=x+y;
return k;
}
================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[]={11,12,13,14,15};
int len=sizeof(a)/sizeof(int);
Serial.println(len);
fun1(a,len);
}
int fun1(int b[],int n)
{
for(int i=0;i<n;i++)
{
Serial.println(b[i]);
}
}
===============
ex1
int k;
int a=12;
int b=43;
int result;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("please choose(1)+ (2)- (3)*");
}
int jung1(int x,int y)
{
return x+y;
}
int jung2(int x,int y)
{
return x-y;
}
int jung3(int x,int y)
{
return x*y;
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()>0)
{
k=Serial.read()-'0';
switch (k) {
case 1:
{
result=jung1(a,b);
break;
}
case 2:
{
result=jung2(a,b);
break;
}
case 3:
{
result=jung3(a,b);
break;
}
}
Serial.print("result=");
Serial.println(result);
}
}
=====================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
String s=sdata();
int slen=s.length();
for(int i=0;i<slen;i++)
{
char t=s.charAt(i);
if(t==",")
{
Serial.println();
}
else
{
Serial.print(s[i]);
}
}
}
String sdata()
{
String d="";
int k[5]={12,34,65,11,78};
int len=sizeof(k)/sizeof(int);
for (int i=0;i<len;i++)
{
d=d+(String)k[i]+',';
}
return d;
}
=========================
蜂鳴器
int sp=2;
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<10;i++)
{
tone(sp,500);
delay(50);
tone(sp,500);
delay(50);
}
noTone(sp);
delay(2000);
}
函數架構二
Void 函數名稱(資料型態 參數 1,資料型態 參數 2)
{ [ 程式區塊 ] }
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a=12;
int b=14;
fun2(a,b);
}
void fun2(int x,int y)
{
int total=x+y;
Serial.println(total);
}
=====================
函數架構三
函數名稱()
{
[ 程式區塊 ]
return 回傳變數值
}
接受回傳值=函數名稱();
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int k=fun3(); //整數
Serial.println(k);
}
int fun3()
{
return 100;
}
----------------------------------------------
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
String str3=fun3_1(); //字串
Serial.println(str3);
}
String fun3_1()
{
String str1="Hello ";
String str2="world";
return str1+str2;
}
---------------------------------
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
char k=fun3_2();
Serial.println(k);
}
char fun3_2()
{
char k='q';
return k;
}
=======================
函數架構 四
函數名稱(資料型態 參數 1,資料型態 參數 2)
{ [ 程式區塊 ]
return 回傳變數值
}
接受回傳值=函數名稱(引數1,引數2);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int k=fun4(12,45);
Serial.println(k);
}
int fun4(int x,int y)
{
int k=x+y;
return k;
}
================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[]={11,12,13,14,15};
int len=sizeof(a)/sizeof(int);
Serial.println(len);
fun1(a,len);
}
int fun1(int b[],int n)
{
for(int i=0;i<n;i++)
{
Serial.println(b[i]);
}
}
===============
ex1
int k;
int a=12;
int b=43;
int result;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("please choose(1)+ (2)- (3)*");
}
int jung1(int x,int y)
{
return x+y;
}
int jung2(int x,int y)
{
return x-y;
}
int jung3(int x,int y)
{
return x*y;
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()>0)
{
k=Serial.read()-'0';
switch (k) {
case 1:
{
result=jung1(a,b);
break;
}
case 2:
{
result=jung2(a,b);
break;
}
case 3:
{
result=jung3(a,b);
break;
}
}
Serial.print("result=");
Serial.println(result);
}
}
=====================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
String s=sdata();
int slen=s.length();
for(int i=0;i<slen;i++)
{
char t=s.charAt(i);
if(t==",")
{
Serial.println();
}
else
{
Serial.print(s[i]);
}
}
}
String sdata()
{
String d="";
int k[5]={12,34,65,11,78};
int len=sizeof(k)/sizeof(int);
for (int i=0;i<len;i++)
{
d=d+(String)k[i]+',';
}
return d;
}
=========================
蜂鳴器
int sp=2;
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<10;i++)
{
tone(sp,500);
delay(50);
tone(sp,500);
delay(50);
}
noTone(sp);
delay(2000);
}
2016年12月15日 星期四
二維陣列
int s[5];
int g=1;
int j=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int len=sizeof(s)/sizeof(int);
if (Serial.available()>0)
{
if (j<len)
{
s[j]=Serial.readString().toInt();
Serial.println("input ["+(String)g+"] element:"+s[j]);
if(g==len)
{
Serial.println("finish input...end");
for (int y=0;y<len;y++)
{
Serial.println(s[y]);
}
}
else
{
g++;
j++;
}
}
}
}
====================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[2][3]={{10,20,30},{40,50,60}}; // a[y][x]
int len1=sizeof(a)/sizeof(int); //所有元素
int len2=sizeof(a[0])/sizeof(int); //y個元素
int len0=len1/len2; //x元素
Serial.println("len1:"+(String)len1);
Serial.println("len2:"+(String)len2);
Serial.println("len0:"+(String)len0);
}
============================
輸出
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[2][3]={{10,20,30},{40,50,60}};
int len1=sizeof(a)/sizeof(int);
int len2=sizeof(a[0])/sizeof(int);
int len0=len1/len2;
for(int i=0;i<len0;i++)
{
for (int j=0;j<len2;j++)
{
Serial.println("a["+(String)i+"]["+(String)j+"]="+a[i][j]);
}
}
}
====================================================
七段顯示器
int sp[10][7]={{1,1,1,1,1,1,0},
{0,1,1,0,0,0,0},
{1,1,0,1,1,0,1},
{1,1,1,1,0,0,1},
{0,1,1,0,0,1,1},
{1,0,1,1,0,1,1},
{1,0,1,1,1,1,1},
{1,1,1,0,0,0,0},
{1,1,1,1,1,1,1},
{1,1,1,1,0,1,1}};
int k;
void setup() {
// put your setup code here, to run once:
k=0;
for(int i=5;i<=11;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=0;j<7;j++)
{
digitalWrite(j+5,sp[k][j]);
}
delay(2000);
k++;
if(k==10)
{
k=0;
}
}
=================================================
int sp[10][7]={{1,1,1,1,1,1,0},{0,1,1,0,0,0,0},{1,1,0,1,1,0,1},{1,1,1,1,0,0,1},{0,1,1,0,0,1,1},{1,0,1,1,0,1,1},{1,0,1,1,1,1,1},{1,1,1,0,0,0,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};
int d[4]={1,3,1,4};
int k;
void setup() {
// put your setup code here, to run once:
k=0;
for(int i=5;i<=11;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=0;j<7;j++)
{
digitalWrite(j+5,sp[d[k]][j]);
}
delay(2000);
k++;
if(k==4)
{
k=0;
}
}
===================================
int sp[10][7]={{1,1,1,1,1,1,0},{0,1,1,0,0,0,0},{1,1,0,1,1,0,1},{1,1,1,1,0,0,1},{0,1,1,0,0,1,1},{1,0,1,1,0,1,1},{1,0,1,1,1,1,1},{1,1,1,0,0,0,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};
int d[3]={5,2,0};
int k;
void setup() {
// put your setup code here, to run once:
k=0;
for(int i=5;i<=11;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=0;j<7;j++)
{
digitalWrite(j+5,sp[d[k]][j]);
}
delay(2000);
k++;
if(k==3)
{
k=0;
}
}
=============================================
輸入
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[2][3];
int len1=sizeof(a)/sizeof(int);
int len2=sizeof(a[0])/sizeof(int);
int len=len1/len2;
int k=10;
for(int i=0;i<len;i++)
{
for (int j=0;j<len2;j++)
{
a[i][j]=k;
k++;
}
}
for(int i=0;i<len;i++)
{
for (int j=0;j<len2;j++)
{
Serial.println(a[i][j]);
}
}
}
====================================================
int g=1;
int j=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int len=sizeof(s)/sizeof(int);
if (Serial.available()>0)
{
if (j<len)
{
s[j]=Serial.readString().toInt();
Serial.println("input ["+(String)g+"] element:"+s[j]);
if(g==len)
{
Serial.println("finish input...end");
for (int y=0;y<len;y++)
{
Serial.println(s[y]);
}
}
else
{
g++;
j++;
}
}
}
}
====================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[2][3]={{10,20,30},{40,50,60}}; // a[y][x]
int len1=sizeof(a)/sizeof(int); //所有元素
int len2=sizeof(a[0])/sizeof(int); //y個元素
int len0=len1/len2; //x元素
Serial.println("len1:"+(String)len1);
Serial.println("len2:"+(String)len2);
Serial.println("len0:"+(String)len0);
}
============================
輸出
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[2][3]={{10,20,30},{40,50,60}};
int len1=sizeof(a)/sizeof(int);
int len2=sizeof(a[0])/sizeof(int);
int len0=len1/len2;
for(int i=0;i<len0;i++)
{
for (int j=0;j<len2;j++)
{
Serial.println("a["+(String)i+"]["+(String)j+"]="+a[i][j]);
}
}
}
====================================================
七段顯示器
int sp[10][7]={{1,1,1,1,1,1,0},
{0,1,1,0,0,0,0},
{1,1,0,1,1,0,1},
{1,1,1,1,0,0,1},
{0,1,1,0,0,1,1},
{1,0,1,1,0,1,1},
{1,0,1,1,1,1,1},
{1,1,1,0,0,0,0},
{1,1,1,1,1,1,1},
{1,1,1,1,0,1,1}};
int k;
void setup() {
// put your setup code here, to run once:
k=0;
for(int i=5;i<=11;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=0;j<7;j++)
{
digitalWrite(j+5,sp[k][j]);
}
delay(2000);
k++;
if(k==10)
{
k=0;
}
}
=================================================
int sp[10][7]={{1,1,1,1,1,1,0},{0,1,1,0,0,0,0},{1,1,0,1,1,0,1},{1,1,1,1,0,0,1},{0,1,1,0,0,1,1},{1,0,1,1,0,1,1},{1,0,1,1,1,1,1},{1,1,1,0,0,0,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};
int d[4]={1,3,1,4};
int k;
void setup() {
// put your setup code here, to run once:
k=0;
for(int i=5;i<=11;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=0;j<7;j++)
{
digitalWrite(j+5,sp[d[k]][j]);
}
delay(2000);
k++;
if(k==4)
{
k=0;
}
}
===================================
int sp[10][7]={{1,1,1,1,1,1,0},{0,1,1,0,0,0,0},{1,1,0,1,1,0,1},{1,1,1,1,0,0,1},{0,1,1,0,0,1,1},{1,0,1,1,0,1,1},{1,0,1,1,1,1,1},{1,1,1,0,0,0,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};
int d[3]={5,2,0};
int k;
void setup() {
// put your setup code here, to run once:
k=0;
for(int i=5;i<=11;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=0;j<7;j++)
{
digitalWrite(j+5,sp[d[k]][j]);
}
delay(2000);
k++;
if(k==3)
{
k=0;
}
}
=============================================
輸入
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[2][3];
int len1=sizeof(a)/sizeof(int);
int len2=sizeof(a[0])/sizeof(int);
int len=len1/len2;
int k=10;
for(int i=0;i<len;i++)
{
for (int j=0;j<len2;j++)
{
a[i][j]=k;
k++;
}
}
for(int i=0;i<len;i++)
{
for (int j=0;j<len2;j++)
{
Serial.println(a[i][j]);
}
}
}
====================================================
2016年12月13日 星期二
陣列 map函式
陣列
資料型態 陣列[]={值1,......}
對映函式 map(可變電阻,值1,值2,值3,值4);
int srv=(0,1023,1,4);
const int led[5]={3,4,5,6,7};
int va=A0;
int kv;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for(int i=0;i<5;i++)
{
pinMode(led[i],OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
int sv=analogRead(va);
kv=map(sv,0,1023,0,4);
//Serial.println(kv);
for(int i=0;i<5;i++)
{
digitalWrite(led[i],LOW);
}
digitalWrite(led[kv],HIGH);
delay(1000);
}
================================
使用if
int led1=3;
int led2=4;
int led3=5;
int led4=6;
int led5=7;
int srv;
void setup() {
// put your setup code here, to run once:
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
srv=analogRead(A0);
srv=map(srv,0,1000,0,4);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
if (srv==0)
{
digitalWrite(led1,HIGH);
}
else if(srv==1)
{
digitalWrite(led2,HIGH);
}
else if(srv==2)
{
digitalWrite(led3,HIGH);
}
else if(srv==3)
{
digitalWrite(led4,HIGH);
}
else if(srv==4)
{
digitalWrite(led5,HIGH);
}
delay(1000);
}
==================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int k[6]={11,12,13,14,15,16};
int len=sizeof(k);//12
Serial.println(len);
}
====================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int k[6]={11,12,13,14,15,16};
int len=sizeof(k)/sizeof(int);//6
Serial.println(len);
}
======================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[5]={10,20,30,40,50};
int len=sizeof(a)/sizeof(int);
for (int i=0;i<len;i++)
{
Serial.println(a[i]);//
}
for (int j=len-1;j>=0;j--)
{
Serial.println(a[j]);//
}
}
1-2 常用單位:如焦耳(J)、庫侖(C)、伏特(V)、安培(A)及瓦特(W)等
1-3 能量:包含能量定義、能量轉換、效率、單位轉換等
1-4 電荷:包含電荷定義、電荷特性、庫侖定律等
1-5 電壓:包含電壓定義、電位與電位差、電動勢、電壓降及端電壓等
1-6 電流:包含電流定義、電流速率等
1-7 功率:包含功率定義、功及功率等
1-8 基本元件及符號認識
資料型態 陣列[]={值1,......}
對映函式 map(可變電阻,值1,值2,值3,值4);
int srv=(0,1023,1,4);
const int led[5]={3,4,5,6,7};
int va=A0;
int kv;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for(int i=0;i<5;i++)
{
pinMode(led[i],OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
int sv=analogRead(va);
kv=map(sv,0,1023,0,4);
//Serial.println(kv);
for(int i=0;i<5;i++)
{
digitalWrite(led[i],LOW);
}
digitalWrite(led[kv],HIGH);
delay(1000);
}
================================
使用if
int led1=3;
int led2=4;
int led3=5;
int led4=6;
int led5=7;
int srv;
void setup() {
// put your setup code here, to run once:
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
srv=analogRead(A0);
srv=map(srv,0,1000,0,4);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
if (srv==0)
{
digitalWrite(led1,HIGH);
}
else if(srv==1)
{
digitalWrite(led2,HIGH);
}
else if(srv==2)
{
digitalWrite(led3,HIGH);
}
else if(srv==3)
{
digitalWrite(led4,HIGH);
}
else if(srv==4)
{
digitalWrite(led5,HIGH);
}
delay(1000);
}
==================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int k[6]={11,12,13,14,15,16};
int len=sizeof(k);//12
Serial.println(len);
}
====================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int k[6]={11,12,13,14,15,16};
int len=sizeof(k)/sizeof(int);//6
Serial.println(len);
}
======================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[5]={10,20,30,40,50};
int len=sizeof(a)/sizeof(int);
for (int i=0;i<len;i++)
{
Serial.println(a[i]);//
}
for (int j=len-1;j>=0;j--)
{
Serial.println(a[j]);//
}
}
=============================
求極大值
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[5]={67,6,99,12,89};
int len=sizeof(a)/sizeof(int);
int max=0;
for (int i=0;i<len;i++)
{
if (max<a[i])
{
max=a[i];
}
}
Serial.println(max);
}
=============================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[5]={67,6,99,12,89};
int len=sizeof(a)/sizeof(int);
int min=a[0];
for (int i=0;i<len;i++)
{
if (min>a[i])
{
min=a[i];
}
}
Serial.println(min);
}
============================
int b[5];
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for(int i=10;i<=14;i++)
{
b[i-10]=i;
}
int len=sizeof(b)/sizeof(int);
for (int i=0;i<len;i++)
{
Serial.println(b[i]);
}
}
=================================
1-1 電的特性:如物質的結構、原子的結構及電的產生等求極大值
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[5]={67,6,99,12,89};
int len=sizeof(a)/sizeof(int);
int max=0;
for (int i=0;i<len;i++)
{
if (max<a[i])
{
max=a[i];
}
}
Serial.println(max);
}
=============================================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int a[5]={67,6,99,12,89};
int len=sizeof(a)/sizeof(int);
int min=a[0];
for (int i=0;i<len;i++)
{
if (min>a[i])
{
min=a[i];
}
}
Serial.println(min);
}
============================
int b[5];
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for(int i=10;i<=14;i++)
{
b[i-10]=i;
}
int len=sizeof(b)/sizeof(int);
for (int i=0;i<len;i++)
{
Serial.println(b[i]);
}
}
=================================
1-2 常用單位:如焦耳(J)、庫侖(C)、伏特(V)、安培(A)及瓦特(W)等
1-3 能量:包含能量定義、能量轉換、效率、單位轉換等
1-4 電荷:包含電荷定義、電荷特性、庫侖定律等
1-5 電壓:包含電壓定義、電位與電位差、電動勢、電壓降及端電壓等
1-6 電流:包含電流定義、電流速率等
1-7 功率:包含功率定義、功及功率等
1-8 基本元件及符號認識
2016年12月8日 星期四
指令switch呼吸燈練習
break and continue
輸入數字
int k;void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Please choice (1)Led1 HIGH (2)Led2 HIGH(3)Led3 HIGH");
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available()>0)
{
k=Serial.read()-'0';
switch(k)
{
case 1:
{
Serial.println("Led1 HIGH");
break;
}
case 2:
{
Serial.println("Led2 HIGH");
break;
}
case 3:
{
Serial.println("Led3 HIGH");
break;
}
default:
{
Serial.println("choose 1-3 number");
}
}
}
}
==============
輸入字元
char k;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Please choice (a)Led1 HIGH (b)Led2 HIGH(c)Led3 HIGH");
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available()>0)
{
k=Serial.read();
switch(k)
{
case 'a':
{
Serial.println("Led1 HIGH");
break;
}
case 'b':
{
Serial.println("Led2 HIGH");
break;
}
case 'c':
{
Serial.println("Led3 HIGH");
break;
}
default:
{
Serial.println("choose a-c character");
}
}
}
}
===================================
輸入字元
String data;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Please type p1001 p1002 p1003");
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available()>0)
{
data=Serial.readString();
if(data=="p1001")
{
Serial.println("bill");
}
else if(data=="p1002")
{
Serial.println("Lise");
}
else if(data=="p1003")
{
Serial.println("Mary");
}
}
}
===================
呼吸燈
http://yehnan.blogspot.tw/2012/02/arduino_16.html
=========================
int bh=0;
int fa=5;
int led=3;
void setup() {
// put your setup code here, to run once:
pinMode(led,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
analogWrite(led,bh);
bh=bh+fa;
if(bh<=0 || bh>=255) //0-255
{
fa=-fa; //反相
}
delay(30);
}
========================
int bt=4;
int pin=7;
int vt=0;
void setup() {
// put your setup code here, to run once:
pinMode(pin,OUTPUT);
pinMode(bt,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
vt=digitalRead(bt);
if (vt==HIGH)
{
digitalWrite(pin,HIGH);
}
======================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int sum=0;
int i=1;
do
{
sum +=i;
i=i+2;
}while (i<=100);
Serial.println(sum);
}
輸入數字
int k;void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Please choice (1)Led1 HIGH (2)Led2 HIGH(3)Led3 HIGH");
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available()>0)
{
k=Serial.read()-'0';
switch(k)
{
case 1:
{
Serial.println("Led1 HIGH");
break;
}
case 2:
{
Serial.println("Led2 HIGH");
break;
}
case 3:
{
Serial.println("Led3 HIGH");
break;
}
default:
{
Serial.println("choose 1-3 number");
}
}
}
}
==============
輸入字元
char k;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Please choice (a)Led1 HIGH (b)Led2 HIGH(c)Led3 HIGH");
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available()>0)
{
k=Serial.read();
switch(k)
{
case 'a':
{
Serial.println("Led1 HIGH");
break;
}
case 'b':
{
Serial.println("Led2 HIGH");
break;
}
case 'c':
{
Serial.println("Led3 HIGH");
break;
}
default:
{
Serial.println("choose a-c character");
}
}
}
}
===================================
輸入字元
String data;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Please type p1001 p1002 p1003");
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available()>0)
{
data=Serial.readString();
if(data=="p1001")
{
Serial.println("bill");
}
else if(data=="p1002")
{
Serial.println("Lise");
}
else if(data=="p1003")
{
Serial.println("Mary");
}
}
}
===================
呼吸燈
http://yehnan.blogspot.tw/2012/02/arduino_16.html
=========================
int bh=0;
int fa=5;
int led=3;
void setup() {
// put your setup code here, to run once:
pinMode(led,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
analogWrite(led,bh);
bh=bh+fa;
if(bh<=0 || bh>=255) //0-255
{
fa=-fa; //反相
}
delay(30);
}
========================
int bt=4;
int pin=7;
int vt=0;
void setup() {
// put your setup code here, to run once:
pinMode(pin,OUTPUT);
pinMode(bt,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
vt=digitalRead(bt);
if (vt==HIGH)
{
digitalWrite(pin,HIGH);
}
======================
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int sum=0;
int i=1;
do
{
sum +=i;
i=i+2;
}while (i<=100);
Serial.println(sum);
}
============
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
int sum=0;
int i=0;
while (i<=100)
{
sum +=i;
i=i+2;
}
Serial.println(sum);
}
2016年12月6日 星期二
敘述跟指標VR可變電阻控制LED燈
http://yhhuang1966.blogspot.tw/2015/09/arduino_14.html
x++;
if else 敘述
int x=20;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
if ((x%2)==0)
{
Serial.println("1");
}
else
{
Serial.println("2");
}
===========================
if
else if
int x=20;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
if (x>=90)
{
Serial.println("segament 1");
}
else if (x>=80)
{
Serial.println("segament 2");
}
else if (x>=70)
{
Serial.println("segament 3");
}
else if (x>=600)
{
Serial.println("segament 4");
}
else
{
Serial.println("segament 5");
}
}
=======================
for迴圈
語法
for(開始值;終止值;增量值)
{
[循環區塊]
}
int total=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for(int i=1;i<10;i++)
{
for(int y=1;y<10;y++)
{
total=i*y;
Serial.print(i);
Serial.print("*");
Serial.print(y);
Serial.print("=");
Serial.print(total);
Serial.print(" ");
}
Serial.println();
}
}
=========================
正向
void setup() {
// put your setup code here, to run once:
for(int i=7;i<=13;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=7;j<=13;j++)
{
digitalWrite(j,HIGH);
delay(3000);
}
}
===================
逆向
void setup() {
// put your setup code here, to run once:
for(int i=13;i>=1;i--)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=13;j>=1;j--)
{
digitalWrite(j,HIGH);
delay(3000);
}
}
============================
void setup() {
// put your setup code here, to run once:
for(int i=13;i>=1;i--)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=13;j>=1;j--)
{
digitalWrite(j,HIGH);
delay(100);
digitalWrite(j,LOW);
}
for(int j=7;j<=13;j++)
{
digitalWrite(j,HIGH);
delay(100);
digitalWrite(j,LOW);
}
}
===========
anoloaRead(變數) A0-A5/PWM ~D3
anolofWrite(接腳,類比值)
const int va=A2;
const int led=9;
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
int sv=analogRead(va);
analogWrite(led,sv/4);
delay(150);
}
Arduino 基本語法筆記
++x;x++;
if else 敘述
int x=20;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
if ((x%2)==0)
{
Serial.println("1");
}
else
{
Serial.println("2");
}
===========================
if
else if
int x=20;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
if (x>=90)
{
Serial.println("segament 1");
}
else if (x>=80)
{
Serial.println("segament 2");
}
else if (x>=70)
{
Serial.println("segament 3");
}
else if (x>=600)
{
Serial.println("segament 4");
}
else
{
Serial.println("segament 5");
}
}
=======================
for迴圈
語法
for(開始值;終止值;增量值)
{
[循環區塊]
}
int total=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for(int i=1;i<10;i++)
{
for(int y=1;y<10;y++)
{
total=i*y;
Serial.print(i);
Serial.print("*");
Serial.print(y);
Serial.print("=");
Serial.print(total);
Serial.print(" ");
}
Serial.println();
}
}
=========================
正向
void setup() {
// put your setup code here, to run once:
for(int i=7;i<=13;i++)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=7;j<=13;j++)
{
digitalWrite(j,HIGH);
delay(3000);
}
}
===================
逆向
void setup() {
// put your setup code here, to run once:
for(int i=13;i>=1;i--)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=13;j>=1;j--)
{
digitalWrite(j,HIGH);
delay(3000);
}
}
============================
void setup() {
// put your setup code here, to run once:
for(int i=13;i>=1;i--)
{
pinMode(i,OUTPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for(int j=13;j>=1;j--)
{
digitalWrite(j,HIGH);
delay(100);
digitalWrite(j,LOW);
}
for(int j=7;j<=13;j++)
{
digitalWrite(j,HIGH);
delay(100);
digitalWrite(j,LOW);
}
}
===========
anoloaRead(變數) A0-A5/PWM ~D3
anolofWrite(接腳,類比值)
const int va=A2;
const int led=9;
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
int sv=analogRead(va);
analogWrite(led,sv/4);
delay(150);
}
2016年12月1日 星期四
語言基礎(02)
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);
}
}

訂閱:
文章 (Atom)


