2018年11月22日 星期四

week11

瀏覽電腦上的驅動程式

前往此網址下載驅動程式:

https://makeruno.com.my/getting-started/

更改工具列的序列埠(COM7)



複製此網頁中的程式碼:

https://makeruno.com.my/playing-melody-using-only-maker-uno/?fbclid=IwAR0tZ_KdYKtJw9aii5Foj-eNHvXMWCRF7SSoir2nivJAez7VqyK8293UdHo

此程式會使用蜂鳴器來播放小星星


int piezoPin = 8;

int length = 15;

char notes[] = "ccggaag ffeeddc ggffeed ggffeed ccggaag ffeeddc ";      // a space represents a rest

int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };

int tempo = 300;


void playTone(int tone, int duration) 

{

  for (long i = 0; i < duration * 1000L; i += tone * 2) 

  {

    digitalWrite(piezoPin, HIGH);

    delayMicroseconds(tone);

    digitalWrite(piezoPin, LOW);

    delayMicroseconds(tone);

  }

}


void playNote(char note, int duration) 

{

  char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };

  int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

  for (int i = 0; i < 8; i++) 

  {

    if (names[i] == note) 

    {

      playTone(tones[i], duration);

    }

  }

}


void setup() 

{

  pinMode(piezoPin, OUTPUT);

}


void loop() 

{

  for (int i = 0; i < length; i++) 

  {

    if (notes[i] == ' ') 

    {

      delay(beats[i] * tempo);

    } else 

      playNote(notes[i], beats[i] * tempo);

    delay(tempo / 2); 

  }



}


沒有留言:

張貼留言