爆料公社:教學研究Arduino 互動裝置簡介 - www.99k.tw

爆料公社:

 找回密碼
 馬上加入

Login

免註冊即享有會員功能

Login

免註冊即享有會員功能

Login

免註冊即享有會員功能

掃一掃,訪問微社區

搜索
查看: 195|回復: 10

Arduino 互動裝置簡介

[複製鏈接]
收录查询
發表於 2017-2-5 06:18:19 | 顯示全部樓層 |閱讀模式 | 招呼Ta 关注Ta 收录查询
  

這塊小小的板子
原本感覺上會是唸資工之類的才會用到的東西
沒想到卻是許多互動設計會用得到的玩意兒
這個的功能就是讓設計者可以透過接線
然後利用板子上的程式
(不過,這程式是自己要先用電腦寫完,再存到這塊板子裡面)讓連接的裝置如LED、燈光等
產生一些動態的呈現
甚至可以利用按鈕之類的與使用者互動
舉例來說
有些展覽會要使用者按一下鈕
然後周圍的LED燈光就會開始變化
就可以用Arduino來做到
而不需要搬一台筆電來控制

他的USB孔是這種
接印表機用的
平常在寫程式時就要用這個接到電腦
他也可以直接吃USB的電

但是等到設計完之後當然就不希望東西還要再掛在電腦上
畢竟程式都已經存到這片裡面
所以直接用這邊的電源插電就好了
這樣就可以直接把這塊板子藏在天花板或牆壁中

他有分為數位輸出輸入和類比輸出輸入
數位的就是只有0跟1 (有或沒有)
類比的話就是可以有程度上的不同 (比方音量調大小、LED亮度調整大小等)
在板子的一邊有13個孔
下面標Digital代表是數位輸出/輸入用
(不過3、5、6、9、10、11還是可以拿來當類比輸出用)
另外0跟1基本上不要去使用它~
所以這邊至少有12個孔可以拿來用
另外GND代表接地

另一邊則也有類比(Analog)的6個孔

在一開始板子上是沒有任何程式在裡面的
我們要自己寫進去
而寫程式的介面跟語法跟Processing非常像
其實他就是基於Processing來的
非常高階的程式語言(也就是比較接近人話而不是機器語言、0跟1等等)
所以即便不是資訊科出身的人要學會
也不會太困難
程式介面長這樣:

他裡面有很多例子可以拿來參考或測試

然後也與Processing一樣
有Reference可以查他函式的說明


而一般玩Arduino
不可或缺的一個配件就是麵包板了
麵包板就是讓人接電線用的
藍的是一整橫排都是同一條電路
紅的也是一整橫排都是同一條電路
中間的則是一直行ABCDE是同一條
FGHIJ也是同一條
可以把它想成:
─────
─────
|||||||||
|||||||||
─────
─────

而這要怎麼接就是要看設計者怎麼安排了

最基本的讓LED亮燈看看
一般而言
從那0~13的孔(程式裡面要寫是哪一個號碼的孔!)
接到正極
而接地的是接到負極

當然也可以接得更複雜一些
包括電組、LED

還可以接按鈕
(左下角那顆)

簡單的李麥克霹靂遊俠燈~
用按鈕可以控制跑的速度
  

以下是程式:

int buttonFast = 2;
int buttonSlow = 7;

int ledNo[] = {3,5,6,9,10,11};
int fadeValue[] = {0,0,0,0,0,0};

int buttonFastState = 0;
int buttonSlowState = 0;
int nowFastPressing = 0;
int nowSlowPressing = 0;

int nowSpeed=100;
int nowNo=1;
int inverse=0;

int i=0;

//Setup-------------------------------------------------------------------------------
void setup() {
  for(i=0;i<6;++i){
    pinMode(ledNo, OUTPUT);
  }
  pinMode(buttonFast, INPUT);
  pinMode(buttonSlow, INPUT);
}

//Loop-------------------------------------------------------------------------------
void loop(){
  buttonFastState = digitalRead(buttonFast);
  buttonSlowState = digitalRead(buttonSlow);

  //Faster button
  if (buttonFastState == HIGH) {
    if(nowFastPressing ==0){
      nowFastPressing=1;
      if(nowSpeed>40){
        nowSpeed-=10;
      }
    }
  }
  else {
    if(nowFastPressing==1){
      nowFastPressing=0;
    }
  }
  //Slower button
  if (buttonSlowState == HIGH) {
    if(nowSlowPressing ==0){
      nowSlowPressing=1;
      if(nowSpeed<1000){
        nowSpeed+=10;
      }
    }
  }
  else {
    if(nowSlowPressing==1){
      nowSlowPressing=0;
    }
  }
  
  delay(nowSpeed);
  nowNoSet();
  lightUp();
  
}

void nowNoSet(){
  if(nowNo==0){
    inverse=0;
  }
  if(nowNo==5){
    inverse=1;
  }
  
  if(inverse==0){
    nowNo++;
  }
  else{
    nowNo--;
  }
}

void lightUp(){
  for(i=0;i<6;++i){
    if(i==nowNo){
      fadeValue=240;
      analogWrite(ledNo, fadeValue);
    }
    else{
      if(fadeValue>0){
      fadeValue-=40;
      }
      else{
        fadeValue=0;
      }
      analogWrite(ledNo, fadeValue);
    }
  }
}




资料完善: %

發表於 2017-2-13 20:52:09 | 顯示全部樓層 | 招呼Ta 关注Ta
很好哦
回復 支持 反對

使用道具 舉報

资料完善: %

發表於 2017-2-13 21:01:22 | 顯示全部樓層 | 招呼Ta 关注Ta
佔坑編輯ing
回復 支持 反對

使用道具 舉報

资料完善: %

發表於 2017-2-13 21:04:16 | 顯示全部樓層 | 招呼Ta 关注Ta
確實不錯,頂先
回復 支持 反對

使用道具 舉報

资料完善: %

發表於 2017-2-13 21:12:59 | 顯示全部樓層 | 招呼Ta 关注Ta
花的顏色 又怎麼會帶著 淡淡的離別
回復 支持 反對

使用道具 舉報

资料完善: %

發表於 2017-2-13 21:26:49 | 顯示全部樓層 | 招呼Ta 关注Ta
液體要具備隱晦艱深的 對白
回復 支持 反對

使用道具 舉報

资料完善: %

發表於 2017-4-15 11:16:03 | 顯示全部樓層 | 招呼Ta 关注Ta
報告!別開槍,我就是路過來看看的。。。
回復 支持 反對

使用道具 舉報

资料完善: %

發表於 2017-4-15 11:12:05 | 顯示全部樓層 | 招呼Ta 关注Ta
……
回復 支持 反對

使用道具 舉報

资料完善: %

發表於 2017-4-15 10:52:07 | 顯示全部樓層 | 招呼Ta 关注Ta
珍愛生命,果斷回帖。
回復 支持 反對

使用道具 舉報

资料完善: %

發表於 2017-4-15 11:15:54 | 顯示全部樓層 | 招呼Ta 关注Ta
LZ是天才,堅定完畢
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 馬上加入

本版積分規則

回首頁|小黑屋|手機版|Archiver|道具中心|爆料公社:

GMT+8, 2017-5-30 05:02 PM , Processed in 0.910105 second(s), 68 queries , Gzip On, Memcache On.

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表