Play Video

12 - GETTING HUNDREDS OF DIGITAL INPUTS | PIANO | TONE | BUZZER

එක් ඇනලොග් පින් එකකින් ඩිජිටල් ඉන්පුට්ස් විශාප ප්‍රමාණයක් ලබා ගැනීම පිලිබඳ මෙහෙදී කතා කරනු ලබයි. ඒ වගේම කුඩා පියානෝවක් නිර්මාණය කිරීමද වීඩියෝවේ අවසානයට සිදු කරයි.

විශාල ස්විච් ප්‍රමාණයක් වුවද රෙසිස්ටර් භාවිතයෙන් සම්බන්ද වන නිසා. විවිද අගයෙන් යුත් වෝල්ටේජ් ආර්ඩුයිනෝ බෝඩ් එකේ ඉන්පුට් සඳහා ලබා දෙයි. ඒ වෙනස් කම් අනුව කුමන ස්විචය ක්‍රියාත්මකදැයි දැනගත හැක.

Task 1 - Multiple digital inputs

❒ Components

Circuit and Code

Arduino Code එක පහතින් ලබාගන්න.

/*
  by Dileepa Jayawardena
  ii.lk
*/

#define  c     3830    // 261 Hz 
#define  d     3400    // 294 Hz 
#define  e     3038    // 329 Hz 
#define  f     2864    // 349 Hz 
#define  g     2550    // 392 Hz 
#define  a     2272    // 440 Hz 
#define  b     2028    // 493 Hz 
#define  C     1912    // 523 Hz 

int note[] = {  c,  d,  e,  f,  g,   a,  b,  C};

void setup() {
  Serial.begin(9600);
  pinMode(3, OUTPUT);
}


void loop() {

  int val = analogRead(A0);

  int pin = getPin(val);

  if (pin > -1) {
    Serial.println(pin);
    tone(3, note[pin], 10); // pin , tone , time
  }

  delay(10);
}


int getPin(int val) {
  // 1023, 1003 , 985, // 17... 180ohms

  int pf = 17;

  for (int i = 0; i < 8; i++) {
    if (val > (1003 - (pf * i) - 5)) {
      return i;
    }
  }

  return -1;

}

Task 2 - Tone Piano

❒ Components

Circuit and Code

Arduino Code එක පහතින් ලබාගන්න.

/*
  by Dileepa Jayawardena
  ii.lk
*/

#define  c     3830    // 261 Hz 
#define  d     3400    // 294 Hz 
#define  e     3038    // 329 Hz 
#define  f     2864    // 349 Hz 
#define  g     2550    // 392 Hz 
#define  a     2272    // 440 Hz 
#define  b     2028    // 493 Hz 
#define  C     1912    // 523 Hz 

int note[] = {  c,  d,  e,  f,  g,   a,  b,  C};
void setup() {
  Serial.begin(9600);
}


void loop() {
  int val = analogRead(A0);

  int pin = getPin(val);
  if (pin > -1) {
    Serial.println(pin);
    tone(3, note[pin], 100);
  }


}

int getPin(int val) {

  for (int i = 0; i < 8; i++) {
    if ((1024 - ((i + 1) * 17) - 5) < val) {
      return i;
    }
  }
  return -1;
}

01 – ARDUINO INTRODUCTION

Play Video 01 – Arduino Introduction මෙම වීඩියෝ මාලාව ලංකාවේ ලක්ශ සංක්්‍ාත පිරිසක් නරභා ඇති වීඩියෝ මාලාවකි. Arduino මූලික දැනීම සම්පූර්ණ කරගැනීමට එම වීඩියෝ මාලාවෙන් හැකි වේ. එසේම නව...

02 – Arduino Boards Review

Play Video 02 – Arduino Boards Review විවිද වර්ගයේ ආර්ඩුයිනෝ බෝඩ් වර්ග වෙලඳපොලේ දකින්නට ලැබෙනවා. අපගේ නිර්මාණ වලට ගැලපෙන සේ අපට අවැසි බෝඩ් තෝරෑ ගැනීමට හැකි වන සේ ඒවාගේ...

03 – Start Programming / Digital Write / Blink LED

Play Video 03 – Start Programming / Digital Write / Blink LED ආර්ඩුයිනෝ ප්‍රොග්‍රැමින්ග් හා පරිපථ නිර්මාණය සඳහා මූලික පියවර තැබීමට මේ වීඩියෝවෙන් බලාපොරොත්තු වෙනවා. ❒ Download Arduino IDE...

0
Would love your thoughts, please comment.x
()
x