#include
//Note Definitions
const int NOTE_AS3 = 233;
const int NOTE_C4 = 262;
const int NOTE_D4 = 294;
const int NOTE_E4 = 330;
const int NOTE_F4 = 349;
const int NOTE_G4 = 392;
const int NOTE_GS4 = 415;
const int NOTE_A4 = 440;
const int NOTE_AS4 = 466;
const int NOTE_B4 = 494;
const int NOTE_C5 = 523;
const int NOTE_CS5 = 554;
const int NOTE_D5 = 587;
const int NOTE_DS5 = 622;
const int NOTE_E5 = 659;
const int NOTE_F5 = 699;
const int NOTE_FS5 = 740;
const int NOTE_G5 = 784;
const int NOTE_GS5 = 831;
const int NOTE_A5 = 880;
const int rhythmBuzzerPin = 8;
const int rhythmServoPin = 9;
const int rhythmLength = 115;
int rhythmNotes[] = {NOTE_A4, 0, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_C5, NOTE_C5, NOTE_C5, //Intro 1 (21 Notes)
NOTE_A4, 0, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_C5, NOTE_C5, NOTE_C5, //Intro 2 (21 Notes)
NOTE_A4, NOTE_A4, NOTE_A4, NOTE_F4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_C5, NOTE_A4, //Part 1 (9 Notes)
0, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_F5, NOTE_C5, NOTE_GS4, NOTE_F4, NOTE_C5, NOTE_A4, //Part 2 (10 Notes)
0, NOTE_A5, NOTE_A4, NOTE_A4, NOTE_A5, NOTE_GS5, NOTE_G5, NOTE_FS5, NOTE_F5, NOTE_FS5, //Part 3 (10 Notes)
0, NOTE_AS4, NOTE_DS5, NOTE_D5, NOTE_CS5, NOTE_C5, NOTE_B4, NOTE_C5, //Part 4 (8 Notes)
0, NOTE_F4, NOTE_GS4, NOTE_F4, NOTE_A4, NOTE_C5, NOTE_A4, NOTE_C5, NOTE_E5, //Part 5 (9 Notes)
0, NOTE_A5, NOTE_A4, NOTE_A4, NOTE_A5, NOTE_GS5, NOTE_G5, NOTE_FS5, NOTE_F5, NOTE_FS5, //Part 6 (10 Notes)
0, NOTE_AS4, NOTE_DS5, NOTE_D5, NOTE_CS5, NOTE_C5, NOTE_B4, NOTE_C5, //Part 7 (8 Notes)
0, NOTE_F4, NOTE_GS4, NOTE_F4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_C5, NOTE_A4
}; //Part 8 (9 Notes)
int rhythmBeats[] = {1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, //Intro 1
1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, //Intro 2
4, 4, 4, 3, 1, 4, 3, 1, 4, //Part 1
4, 4, 4, 4, 3, 1, 4, 3, 1, 4, //Part 2
4, 4, 3, 1, 4, 3, 1, 1, 1, 1, //Part 3
3, 2, 4, 3, 1, 1, 1, 1, //Part 4
3, 2, 4, 3, 1, 4, 3, 1, 4, //Part 5
3, 4, 3, 1, 4, 3, 1, 1, 1, 1, //Part 6
3, 2, 4, 3, 1, 1, 1, 1, //Part 7
3, 2, 4, 3, 1, 4, 3, 1, 4
}; //Part 8
int tempo = 150;
boolean serv = true;
Servo myservo;
void setup()
{
pinMode(rhythmBuzzerPin, OUTPUT);
myservo.attach(9);
}
void loop()
{
int i, rhythmDuration;
for (i = 0; i < rhythmLength; i++) // step through the song arrays
{
rhythmDuration = rhythmBeats[i] * tempo; // length of note/rest in ms
if (rhythmNotes[i] == '0') // is this a rest?
{
if (serv) {myservo.write(0); serv = !serv;} else {myservo.write(90); serv = !serv;}
delay(rhythmDuration); // then pause for a moment
}
else // otherwise, play the note
{
tone(rhythmBuzzerPin, rhythmNotes[i], rhythmDuration);
if (serv) {myservo.write(0); serv = !serv;} else {myservo.write(90); serv = !serv;}
delay(rhythmDuration); // wait for tone to finish
}
delay(tempo / 10); // brief pause between notes
}
while (true) {}
}
sexta-feira, 29 de setembro de 2017
Servo + Som
Aqui simplesmente peguei um código que prometia fazer o servo tocara a marcha imperial (e consegue, mas bem baixo) e como percebi que era basicamente um código normal de música troquei o servo por um buzzer e depois coloquei o servo pra ficar indo e voltando de um ângulo arbitrário no mesmo passo da música
quarta-feira, 20 de setembro de 2017
segunda-feira, 28 de agosto de 2017
The Dawn of the First Day
E para a primeira aula do Laboratório de criatividade tivemos como tarefa a criação de uma logo após a realização de um testezinho de criatividade que consistia em fazer um desenho em pouco tempo com base em um círculo numa folha de papel (que por sinal já tínhamos feito uma vez em comunicação visual, só que lá eram vários círculos). O resultado desse teste e o processo de criação dessa logo, veremos depois do corte.
terça-feira, 23 de maio de 2017
sábado, 18 de junho de 2016
segunda-feira, 16 de maio de 2016
Assinar:
Postagens (Atom)
