顯示具有 Arduino 標籤的文章。 顯示所有文章
顯示具有 Arduino 標籤的文章。 顯示所有文章

2017年3月14日 星期二

Arduino LED七段顯示器

LED七段顯示器可以顯示數字0~9

製作的過程中花上兩天才完成

第一天不知為何就是亮不起來,嘗試了非常多次最後在睡前終於成功亮其中一條線

第二天把七段顯示器換位置重新接線竟然就成功了

初步推斷很有可能是麵包版的問題,不知道日後會不會又遇到同樣的問題

byte index=0;
const byte leds[10]={
  B1111110,
  B0110000,
  B1101101,
  B1111001,
  B0110011,
  B1011011,
  B1011111,
  B1110000,
  B1111111,
  B1111011,
  };
void setup() {
  // put your setup code here, to run once:
  DDRD=B1111111;
}

void loop() {
  // put your main code here, to run repeatedly:
  PORTD=leds[index];
  index++;
  if(index==10)
  index=0;
  delay(1000);
}

程式碼有些特別的地方,例如:DDRD =B1111111 意思是把序列埠D的0~6設定成OUTPUT,7設定成INPUT,

PORTD=B1111111 則是把0~6設定成高電位,7低電位 


2017年3月12日 星期日

Arduino遊戲機 俄羅斯方塊

無聊之際突然想看看Arduino能否做出一些好玩的東西

找了一下子發現一個不錯的project

用arduino nano 配上兩塊LED 矩陣就可以做出簡單又好玩的俄羅斯方塊

其他還有一些小零件,例如:按鈕、電池扣之類的小東西也不難取得

有機會值得試一試


外國Arduino俄羅斯方塊影片

Arduino 變色呼吸燈

這個作品是學Arduino第一個自己想到並實現的

一開始是學三色LED燈的使用方法

突然想到小時候有一個LED變色呼吸燈

覺得有辦法利用線在所學的東西來實現

所以就做了這個變色呼吸燈

程式中利用之前學的analogWrite()來做呼吸燈

再用for迴圈來控制顏色的變化,跟之前呼吸燈不同的地方就是把三個燈換成一顆

const byte ledr=11;
const byte ledg=10;
const byte ledb=9;
void setup() {
  // put your setup code here, to run once:
  pinMode(ledr,OUTPUT);
  pinMode(ledg,OUTPUT);
  pinMode(ledb,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  analogWrite(9,0);
  analogWrite(10,0);
  analogWrite(11,0);
  for(int i=9;i<=ledr;i++){
    int r=0;
    for(r;r<255;r+=5){
      analogWrite(i,r);
      delay(30);
    }
  }
  for(int vi=11;i>=ledb;i--){
    int r=255;
    for(r;r>0;r-=5){
      analogWrite(i,r);
      delay(30);
    }
  }    
}

老實說感覺只有做一半,程式碼的部分相當失敗哈哈

畢竟才學過一些c++而已,如果有可以改善的地方請不吝嗇地留言在下方


附上作品影片


Arduino 避障車

 今天因為訂購的零件組還沒到所以上網查看Arduino的成品


看到了一台可以自動避開障礙物的車子感覺滿有趣的


等學會了之後可以試試看


下面有個youtube影片可以參考,裡面有很多種避障車及循跡車可以看看


賣場連結:


【盼盼343】 智能 小車 底盤 雙層 圓形 組裝容易 智慧 圓形車 循跡車 避障車 等 Arduino 


2軸小車 避障車 遙控車


避障車教學文章


明新科技大學避障車影片




2017年3月11日 星期六

Arduino 利用序列埠監控視窗控制LED燈開關

利用Serial.函數可以控制有關序列埠監控視窗的東西

這個作品利用到Serial.available可以讀取是否輸入字元

Serial.read可讀取輸入的字元

利用這兩個函數就可以控制LED是否要通電



算是滿實用的作品






Arduino 五顆LED燈輪流亮

利用迴圈來操控五顆LED燈輪流亮 


利用迴圈減少程式碼



2017年3月10日 星期五

Arduino 控制LED燈光亮度

這次的作品一樣相當基本,用analogWrite()函數來控制LED燈光亮度

但不知道analogWrite()函式的原理是甚麼,如果有大大知道歡迎指教

這次做了兩種,第一種單純控制一顆LED燈

第二種加了另外兩種顏色LED,程式碼則是相當繁雜的修改,

應該要用陣列及for迴圈來達成重複的部分,但沒學過arduino的程式語言,

怕會出現編譯錯誤所以直接複製貼上再稍微修改名稱,下次要改進




              程式碼真的相當雜亂

                                                                 單顆LED燈 

三顆LED燈




2017年3月9日 星期四

Arduino 開關控制LED燈

arduino第一個可以看的實品,用開關來控制LED


程式碼利用button是否通電到pin2來決定pin13是否通電,

是一個非常簡單且基本的實驗