Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
benoitdr
Published © GPL3+

Xmas musical robot

A musical robot for Christmas

BeginnerShowcase (no instructions)2,128
Xmas musical robot

Things used in this project

Story

Read more

Schematics

Schematic

Breadboard

Source file

Code

Arduino code

Arduino
#define NOTE_G3 392
#define NOTE_A3 440
#define NOTE_B3 494
#define NOTE_C4 523
#define NOTE_D4 587
#define NOTE_E4 659
#define NOTE_F4 699
#define NOTE_G4 784
#define NOTE_A4 880

void setup() {
pinMode(6,OUTPUT);  // Tone
pinMode(7,OUTPUT);  // Red
pinMode(8,OUTPUT);  // Green
pinMode(9,INPUT);   // Switch
pinMode(5,OUTPUT);  // Blue
digitalWrite(9,HIGH);
}

unsigned int notes[109][2]={
  {NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_G4,1},{NOTE_C4,1},{NOTE_D4,1},{NOTE_E4,4},
  {NOTE_F4,1},{NOTE_F4,1},{NOTE_F4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_D4,1},{NOTE_D4,1},{NOTE_E4,1},{NOTE_D4,2},{NOTE_G4,2},
  {NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_G4,1},{NOTE_C4,1},{NOTE_D4,1},{NOTE_E4,4},
  {NOTE_F4,1},{NOTE_F4,1},{NOTE_F4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_G4,1},{NOTE_G4,1},{NOTE_F4,1},{NOTE_D4,1},{NOTE_C4,4},
  {NOTE_G3,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_C4,1},{NOTE_G3,2},{NOTE_G3,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_C4,1},{NOTE_A3,2},
  {NOTE_A3,1},{NOTE_F4,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_B3,2},{NOTE_G4,1},{NOTE_G4,1},{NOTE_F4,1},{NOTE_D4,1},{NOTE_E4,2},
  {NOTE_G3,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_C4,1},{NOTE_G3,2},{NOTE_G3,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_C4,1},{NOTE_A3,2},
  {NOTE_A3,1},{NOTE_F4,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_G4,1},{NOTE_G4,1},{NOTE_G4,2},{NOTE_A4,1},{NOTE_G4,1},{NOTE_F4,1},{NOTE_D4,1},{NOTE_C4,4},
  {NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_G4,1},{NOTE_C4,1},{NOTE_D4,1},{NOTE_E4,4},
  {NOTE_F4,1},{NOTE_F4,1},{NOTE_F4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_G4,1},{NOTE_G4,1},{NOTE_F4,1},{NOTE_D4,1},{NOTE_C4,4},
};

void loop() {
digitalWrite(5,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);

int A = digitalRead(9);

if (A==0) {
  digitalWrite(5,LOW);  
  digitalWrite(7,HIGH);
  for (int i=0;i<109;i++) {
    tone(6,notes[i][0],notes[i][1]*200);
    delay(notes[i][1]*200+100);
    digitalWrite(7,!digitalRead(7));
    digitalWrite(8,!digitalRead(8));
  }
}
}

Credits

benoitdr
1 project • 29 followers
Contact

Comments

Please log in or sign up to comment.