sexta-feira, 24 de novembro de 2017
sexta-feira, 27 de outubro de 2017
sexta-feira, 20 de outubro de 2017
Sexta-Feira 13 Parte V - Um Novo Começo
Então, aparentemente a tarefa da Sexta 13 não era sobre sexta-feiras 13...
Mas temos uma nova atividade pra produzir um negócio que pode dar em algo muito legal!
"SMD Fashion" (Ih, f#@&u) fazer uma roupa com detalhes feitos de outros materiais e com algum propósito... Bom, admito logo que tenho alguma vantagem por morar literalmente numa escola de moda (Inclusive digito isso de onde já foi uma das salas de aula à luz da sala de aula/costura atual) mas aí é só pela disponibilidade de material e de alguém que sabe bem dos macetes. Mas ainda assim, tenho eu que criar o que vou fazer, portanto tive que pensar logo no que poderia ser.
Procuro na internet por alguma inspiração, mas a maioria das coisas é para fazer peças femininas mesmo que a partir de peças masculinas e não era bem o que eu queria. Então penso num material que eu tenho sobrando e gostaria de usar, então eu lembrei de um fio de cobre que tenho pra fazer em algum futuro utópico uma "Tesla Coil". Mas o que eu faria com fios de cobre na roupa? Pensei em algum circuito, mas descartei logo, porém a presença de metal na roupa me lembrou da composição de um ceto estilo que eu gosto, então why not?
PS.: Pena que era customização de roupas e não de carros pra mim fazer algo assim:
Mas temos uma nova atividade pra produzir um negócio que pode dar em algo muito legal!
"SMD Fashion" (Ih, f#@&u) fazer uma roupa com detalhes feitos de outros materiais e com algum propósito... Bom, admito logo que tenho alguma vantagem por morar literalmente numa escola de moda (Inclusive digito isso de onde já foi uma das salas de aula à luz da sala de aula/costura atual) mas aí é só pela disponibilidade de material e de alguém que sabe bem dos macetes. Mas ainda assim, tenho eu que criar o que vou fazer, portanto tive que pensar logo no que poderia ser.
Procuro na internet por alguma inspiração, mas a maioria das coisas é para fazer peças femininas mesmo que a partir de peças masculinas e não era bem o que eu queria. Então penso num material que eu tenho sobrando e gostaria de usar, então eu lembrei de um fio de cobre que tenho pra fazer em algum futuro utópico uma "Tesla Coil". Mas o que eu faria com fios de cobre na roupa? Pensei em algum circuito, mas descartei logo, porém a presença de metal na roupa me lembrou da composição de um ceto estilo que eu gosto, então why not?
PS.: Pena que era customização de roupas e não de carros pra mim fazer algo assim:
もうなんか痛車とかの次元超えてた pic.twitter.com/Huh01qNgjK— 🐰恋文紫陽花🐰(冬組ヤバイ) (@koibumiajisai) 17 de outubro de 2017
FF外から失礼します。この車私の地元の方ですwこの写真(約1年前)からだいぶ増えてますね。雨の日も普通に運転されてますよ!近所の喫茶店でよく見かけます!この車を見かけたらラッキーdayです! pic.twitter.com/vwggrTHCmU— あちょん (@mgdietxx) 18 de outubro de 2017
quinta-feira, 19 de outubro de 2017
quinta-feira, 12 de outubro de 2017
sexta-feira, 6 de outubro de 2017
Animatronic Código
#include
int greenLed = 13;
int redLed = 12;
int buzzer = 11;
Servo servo;
int helloLdr = A0;
int foodLdr = A1;
int callibrationPot = A2;
int ZERO = 0;
int HALF = 45;
int FULL = 80;
int EXTR = 120;
int HAPPY = 880;
int ANGRY = 311;
int countH = 0;
int countA = 0;
int deltaT = 2;
void setup() {
// put your setup code here, to run once:
pinMode(greenLed, OUTPUT);
pinMode(redLed, OUTPUT);
pinMode(buzzer, OUTPUT);
servo.attach(9);
pinMode(helloLdr, INPUT);
pinMode(foodLdr, INPUT);
pinMode(callibrationPot, INPUT);
servo.write(ZERO);
}
void loop() {
// put your main code here, to run repeatedly:
if (analogRead(helloLdr) < analogRead(callibrationPot)) {
switch (countH) {
case 0:
hello0();
countH++;
break;
case 1:
hello1();
countH++;
break;
case 2:
hello2();
countH = 0;
break;
}
// digitalWrite(greenLed, HIGH);
// digitalWrite(redLed, LOW);
}
else if (analogRead(foodLdr) < analogRead(callibrationPot)) {
switch (countA) {
case 0:
food0();
countA++;
break;
case 1:
food1();
countA++;
break;
case 2:
food2();
countA = 0;
break;
}
// digitalWrite(greenLed, LOW);
// digitalWrite(redLed, HIGH);
}
else {
digitalWrite(greenLed, LOW);
digitalWrite(redLed, LOW);
noTone(buzzer);
}
}
void hello0() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(500 * deltaT);
tone(buzzer, HAPPY);
delay(100 * deltaT);
noTone(buzzer);
servo.write(ZERO);
delay(400 * deltaT);
}
void hello1() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(200 * deltaT);
servo.write(FULL);
delay(300 * deltaT);
tone(buzzer, HAPPY);
delay(200 * deltaT);
noTone(buzzer);
servo.write(ZERO);
delay(400 * deltaT);
}
void hello2() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(200 * deltaT);
servo.write(FULL);
delay(300 * deltaT);
tone(buzzer, HAPPY);
delay(200 * deltaT);
noTone(buzzer);
delay(100 * deltaT);
digitalWrite(greenLed, LOW);
delay(50 * deltaT);
digitalWrite(greenLed, HIGH);
delay(50 * deltaT);
digitalWrite(greenLed, LOW);
delay(50 * deltaT);
digitalWrite(greenLed, HIGH);
delay(200 * deltaT);
servo.write(ZERO);
delay(400);
}
void food0() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(500 * deltaT);
tone(buzzer, HAPPY);
delay(100 * deltaT);
noTone(buzzer);
servo.write(EXTR);
delay(200 * deltaT);
digitalWrite(greenLed, LOW);
digitalWrite(redLed, HIGH);
tone(buzzer, ANGRY);
servo.write(ZERO);
delay(500 * deltaT);
}
void food1() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(500 * deltaT);
noTone(buzzer);
servo.write(EXTR);
delay(200 * deltaT);
digitalWrite(greenLed, LOW);
digitalWrite(redLed, HIGH);
tone(buzzer, ANGRY);
servo.write(HALF);
delay(500 * deltaT);
servo.write(ZERO);
delay(500 * deltaT);
}
void food2() {
digitalWrite(redLed, HIGH);
servo.write(FULL);
delay(500 * deltaT);
tone(buzzer, ANGRY);
servo.write(EXTR);
delay(200 * deltaT);
servo.write(FULL);
delay(500 * deltaT);
servo.write(EXTR);
delay(200 * deltaT);
servo.write(FULL);
delay(500 * deltaT);
servo.write(EXTR);
delay(200 * deltaT);
servo.write(FULL);
delay(500 * deltaT);
servo.write(ZERO);
delay(500 * deltaT);
}
int greenLed = 13;
int redLed = 12;
int buzzer = 11;
Servo servo;
int helloLdr = A0;
int foodLdr = A1;
int callibrationPot = A2;
int ZERO = 0;
int HALF = 45;
int FULL = 80;
int EXTR = 120;
int HAPPY = 880;
int ANGRY = 311;
int countH = 0;
int countA = 0;
int deltaT = 2;
void setup() {
// put your setup code here, to run once:
pinMode(greenLed, OUTPUT);
pinMode(redLed, OUTPUT);
pinMode(buzzer, OUTPUT);
servo.attach(9);
pinMode(helloLdr, INPUT);
pinMode(foodLdr, INPUT);
pinMode(callibrationPot, INPUT);
servo.write(ZERO);
}
void loop() {
// put your main code here, to run repeatedly:
if (analogRead(helloLdr) < analogRead(callibrationPot)) {
switch (countH) {
case 0:
hello0();
countH++;
break;
case 1:
hello1();
countH++;
break;
case 2:
hello2();
countH = 0;
break;
}
// digitalWrite(greenLed, HIGH);
// digitalWrite(redLed, LOW);
}
else if (analogRead(foodLdr) < analogRead(callibrationPot)) {
switch (countA) {
case 0:
food0();
countA++;
break;
case 1:
food1();
countA++;
break;
case 2:
food2();
countA = 0;
break;
}
// digitalWrite(greenLed, LOW);
// digitalWrite(redLed, HIGH);
}
else {
digitalWrite(greenLed, LOW);
digitalWrite(redLed, LOW);
noTone(buzzer);
}
}
void hello0() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(500 * deltaT);
tone(buzzer, HAPPY);
delay(100 * deltaT);
noTone(buzzer);
servo.write(ZERO);
delay(400 * deltaT);
}
void hello1() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(200 * deltaT);
servo.write(FULL);
delay(300 * deltaT);
tone(buzzer, HAPPY);
delay(200 * deltaT);
noTone(buzzer);
servo.write(ZERO);
delay(400 * deltaT);
}
void hello2() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(200 * deltaT);
servo.write(FULL);
delay(300 * deltaT);
tone(buzzer, HAPPY);
delay(200 * deltaT);
noTone(buzzer);
delay(100 * deltaT);
digitalWrite(greenLed, LOW);
delay(50 * deltaT);
digitalWrite(greenLed, HIGH);
delay(50 * deltaT);
digitalWrite(greenLed, LOW);
delay(50 * deltaT);
digitalWrite(greenLed, HIGH);
delay(200 * deltaT);
servo.write(ZERO);
delay(400);
}
void food0() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(500 * deltaT);
tone(buzzer, HAPPY);
delay(100 * deltaT);
noTone(buzzer);
servo.write(EXTR);
delay(200 * deltaT);
digitalWrite(greenLed, LOW);
digitalWrite(redLed, HIGH);
tone(buzzer, ANGRY);
servo.write(ZERO);
delay(500 * deltaT);
}
void food1() {
digitalWrite(greenLed, HIGH);
servo.write(HALF);
delay(500 * deltaT);
noTone(buzzer);
servo.write(EXTR);
delay(200 * deltaT);
digitalWrite(greenLed, LOW);
digitalWrite(redLed, HIGH);
tone(buzzer, ANGRY);
servo.write(HALF);
delay(500 * deltaT);
servo.write(ZERO);
delay(500 * deltaT);
}
void food2() {
digitalWrite(redLed, HIGH);
servo.write(FULL);
delay(500 * deltaT);
tone(buzzer, ANGRY);
servo.write(EXTR);
delay(200 * deltaT);
servo.write(FULL);
delay(500 * deltaT);
servo.write(EXTR);
delay(200 * deltaT);
servo.write(FULL);
delay(500 * deltaT);
servo.write(EXTR);
delay(200 * deltaT);
servo.write(FULL);
delay(500 * deltaT);
servo.write(ZERO);
delay(500 * deltaT);
}
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
#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) {}
}
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
sexta-feira, 13 de maio de 2016
quinta-feira, 12 de maio de 2016
Prova 1 - Matemática Aplicada a Mídias
Curso de Sistemas e Mídias Digitais - UFC
Matemática para Multimídia l
Verificação Parcial l - Profs. Melo Jr, George Gomes e Clemilson Santos - 04/05/2016
Crie um jogo com as seguintes características:
- Existe um personagem (círculo sobre triângulo e linhas que definem os membros superiores e inferiores) no lado esquerdo da tela, que pode ser deslocado, passo a passo, para a esquerda e para a direita através das respectivas setas do teclado;
- Aproximadamente na mesma posição vertical do personagem, existe uma caixa (retângulo que, a cada meio segundo, torna-se horizontal ou vertical, simulando uma rotação) que repetidamente entra pela direita e sai pela esquerda da tela;
- Quando a seta para cima é pressionada no teclado, o personagem salta a partir de sua posição atual, descrevendo um arco para a direita com altura pouco superior à maior dimensão da caixa;
- Caso o personagem saia da tela pela direita, é indicada vitória na tela;
- Caso o centro do personagem seja atingido pela caixa, é indicada derrota na tela.
Avaliação
- Desenho e movimentação (personagem e caixa): 6,0 pontos
- Indicação de vitória ou derrota: 4,0 pontos
Observações
- A avaliação é pesquisada e possui duração total de 1:30h;
- O jogo deve ser executado normalmente a 60 fps;
- Ao fim da avaliação, deve ser fornecido aos professores o arquivo referente ao jogo desenvolvido.
quarta-feira, 11 de maio de 2016
quarta-feira, 4 de maio de 2016
Assinar:
Postagens (Atom)




















