Ideias de Arquitetura
segunda-feira, 6 de julho de 2015
PDFs do caderno ténico
Como o caderno é composto por duas folhas, sendo uma A3 e a outra A4, existem dois arquivos, que foram feitos para facilitar a impressão.
domingo, 5 de julho de 2015
quinta-feira, 2 de julho de 2015
Sobre a Intervenção em Glaura
A música de fundo escolhida para tocar durante a intervenção foi Threnody - Goldmund.
Link para download: Threnody - Goldmund
Segue abaixo o código utilizado em nossa intervenção na Clareira. Ele faz com que 30 fios de leds pisquem em forma de cascata de maneira não uniforme, sendo que cada botão (input) deve acionar três fios (output). O arduíno requisitado deve ser o MEGA, com 53 entradas. Serão 10 entradas para os inputs (pinos 0 a 9) e 30 para os outputs (pinos 22 a 52). Para reproduzir a intervenção, posicione as extremidades dos fios nestes pinos citados.
#define LEDQTD 30
#define BOTAOQTD 10
int ledPino[LEDQTD];
int botaoPino[BOTAOQTD];
boolean botaoEstado[BOTAOQTD];
int botaoTimer[BOTAOQTD]; // momento em que o botao foi pressionado
int botaoUltimoMillis[BOTAOQTD]; // ultimo momento em que o botao estava desligado
void setup() {
for (int i = 0; i < 10; i++) {
// preenche os que serao usados para os pinos dos botao
botaoPino[i] = 2 + i;
// preenche o estado do botao
botaoEstado[i] = false;
// preenche o estado do botao
botaoTimer[i] = 0;
botaoUltimoMillis[i] = 0;
// inicia o pino do botao
pinMode(botaoPino[i], INPUT);
}
for (int i = 0; i < LEDQTD; i++) {
// preenche os pinos onde os leds estao ligados
ledPino[i] = 22 + i;
// inicializa o pino do led
pinMode(ledPino[i], OUTPUT);
}
}
void loop() {
// esse parte le todos os botoes e salva o momento em que ele foi desligado e ligado
for (int i = 0; i < BOTAOQTD; i++) {
if (digitalRead(botaoPino[i])) {
botaoTimer[i] = millis();
} else {
botaoUltimoMillis[i] = millis();
}
}
// essa parte define o comportamento do botao
// botao 01
int intervalo = botaoTimer[0] - botaoUltimoMillis[0];
if (intervalo > 0) {
//
if (intervalo < 130) {
digitalWrite(ledPino[2], LOW);
digitalWrite(ledPino[0], HIGH);
} else if (intervalo <= 260) {
digitalWrite(ledPin[0], LOW);
} else if (intervalo <=390) {
digitalWrite(ledPin[0], HIGH);
} else if (intervalo <= 420) {
digitalWrite(ledPin[0], LOW);
digitalWrite(ledPin[1], HIGH);
} else if (intervalo <=550) {
digitalWrite(ledPin[1], LOW);
digitalWrite(ledPin[2], HIGH);
} else if (intervalo <=680) {
digitalWrite(ledPin[2], LOW);
} else if (intervalo <=810) {
digitalWrite(ledPin[2], HIGH);
} else if (intervalo <= 940) {
digitalWrite(ledPin[2], LOW);
digitalWrite(ledPin[1], HIGH);
} else if (intervalo <=1070) {
botaoUltimoMillis[0] = millis();
}
//
} else {
digitalWrite(ledPino[0], LOW);
digitalWrite(ledPino[1], LOW);
digitalWrite(ledPino[2], LOW);
}
// essa parte define o comportamento do botao
// botao 02
intervalo = botaoTimer[1] - botaoUltimoMillis[1];
if (intervalo > 0) {
//
if (intervalo < 30) {
digitalWrite(ledPino[5], LOW);
digitalWrite(ledPino[3], HIGH);
} else if (intervalo <= 60) {
digitalWrite(ledPino[3], LOW);
digitalWrite(ledPino[4], HIGH);
} else if (intervalo <= 90) {
digitalWrite(ledPino[4], LOW);
digitalWrite(ledPino[5], HIGH);
} else if (intervalo <= 120) {
botaoUltimoMillis[1] = millis();
}
//
} else {
digitalWrite(ledPino[3], LOW);
digitalWrite(ledPino[4], LOW);
digitalWrite(ledPino[5], LOW);
}
// botao 03
intervalo = botaoTimer[2] - botaoUltimoMillis[2];
if (intervalo > 0) {
//
if (intervalo < 100) {
digitalWrite(ledPino[8], LOW);
digitalWrite(ledPino[6], HIGH);
} else if (intervalo <= 200) {
digitalWrite(ledPino[6], LOW);
digitalWrite(ledPino[7], HIGH);
} else if (intervalo <= 500) {
digitalWrite(ledPino[7], LOW);
digitalWrite(ledPino[8], HIGH);
} else if (intervalo <= 700) {
botaoUltimoMillis[2] = millis();
}
//
} else {
digitalWrite(ledPino[6], LOW);
digitalWrite(ledPino[7], LOW);
digitalWrite(ledPino[8], LOW);
}
// botao 04
intervalo = botaoTimer[3] - botaoUltimoMillis[3];
if (intervalo > 0) {
//
if (intervalo < 30) {
digitalWrite(ledPino[11], LOW);
digitalWrite(ledPino[9], HIGH);
} else if (intervalo <= 60) {
digitalWrite(ledPino[9], LOW);
digitalWrite(ledPino[10], HIGH);
} else if (intervalo <= 90) {
digitalWrite(ledPino[10], LOW);
digitalWrite(ledPino[11], HIGH);
} else if (intervalo <= 120) {
botaoUltimoMillis[3] = millis();
}
//
} else {
digitalWrite(ledPino[9], LOW);
digitalWrite(ledPino[10], LOW);
digitalWrite(ledPino[11], LOW);
}
// botao 05
intervalo = botaoTimer[4] - botaoUltimoMillis[4];
if (intervalo > 0) {
//
if (intervalo < 50) {
digitalWrite(ledPino[14], LOW);
digitalWrite(ledPino[12], HIGH);
} else if (intervalo <= 100) {
digitalWrite(ledPino[12], LOW);
digitalWrite(ledPino[13], HIGH);
} else if (intervalo <= 150) {
digitalWrite(ledPino[13], LOW);
digitalWrite(ledPino[14], HIGH);
} else if (intervalo <= 200) {
botaoUltimoMillis[4] = millis();
}
//
} else {
digitalWrite(ledPino[12], LOW);
digitalWrite(ledPino[13], LOW);
digitalWrite(ledPino[14], LOW);
}
// botao 06
intervalo = botaoTimer[5] - botaoUltimoMillis[5];
if (intervalo > 0) {
//
if (intervalo < 100) {
digitalWrite(ledPino[17], LOW);
digitalWrite(ledPino[15], HIGH);
} else if (intervalo <=200) {
digitalWrite(ledPino[15], LOW);
digitalWrite(ledPino[16], HIGH);
} else if (intervalo <= 400) {
digitalWrite(ledPino[16], LOW);
digitalWrite(ledPino[17], HIGH);
} else if (intervalo <=500) {
botaoUltimoMillis[5] = millis();
}
//
} else {
digitalWrite(ledPino[15], LOW);
digitalWrite(ledPino[16], LOW);
digitalWrite(ledPino[17], LOW);
}
// botao 07
intervalo = botaoTimer[6] - botaoUltimoMillis[6];
if (intervalo > 0) {
//
if (intervalo < 50) {
digitalWrite(ledPino[20], LOW);
digitalWrite(ledPino[18], HIGH);
} else if (intervalo <= 200) {
digitalWrite(ledPino[18], LOW);
digitalWrite(ledPino[19], HIGH);
} else if (intervalo <=250) {
digitalWrite(ledPino[19], LOW);
digitalWrite(ledPino[20], HIGH);
} else if (intervalo <=300) {
botaoUltimoMillis[6] = millis();
}
//
} else {
digitalWrite(ledPino[18], LOW);
digitalWrite(ledPino[19], LOW);
digitalWrite(ledPino[20], LOW);
}
// botao 08
intervalo = botaoTimer[7] - botaoUltimoMillis[7];
if (intervalo > 0) {
//
if (intervalo < 70) {
digitalWrite(ledPino[23], LOW);
digitalWrite(ledPino[21], HIGH);
} else if (intervalo < 140) {
digitalWrite(ledPino[21], LOW);
digitalWrite(ledPino[22], HIGH);
} else if (intervalo < 210) {
digitalWrite(ledPino[22], LOW);
digitalWrite(ledPino[23], HIGH);
} else if (intervalo < 280) {
botaoUltimoMillis[7] = millis();
}
//
} else {
digitalWrite(ledPino[21], LOW);
digitalWrite(ledPino[22], LOW);
digitalWrite(ledPino[23], LOW);
}
// botao 09
intervalo = botaoTimer[8] - botaoUltimoMillis[8];
if (intervalo > 0) {
//
if (intervalo < 60) {
digitalWrite(ledPino[26], LOW);
digitalWrite(ledPino[24], HIGH);
} else if (intervalo < 60) {
digitalWrite(ledPino[24], LOW);
digitalWrite(ledPino[25], HIGH);
} else if (intervalo < 90) {
digitalWrite(ledPino[25], LOW);
digitalWrite(ledPino[26], HIGH);
} else if (intervalo < 180) {
botaoUltimoMillis[8] = millis();
}
//
} else {
digitalWrite(ledPino[24], LOW);
digitalWrite(ledPino[25], LOW);
digitalWrite(ledPino[26], LOW);
}
// botao 10
intervalo = botaoTimer[9] - botaoUltimoMillis[9];
if (intervalo > 0) {
//
if (intervalo < 40) {
digitalWrite(ledPino[29], LOW);
digitalWrite(ledPino[27], HIGH);
} else if (intervalo < 160) {
digitalWrite(ledPino[27], LOW);
digitalWrite(ledPino[28], HIGH);
} else if (intervalo < 240) {
digitalWrite(ledPino[28], LOW);
digitalWrite(ledPino[29], HIGH);
} else if (intervalo < 280) {
botaoUltimoMillis[9] = millis();
}
//
} else {
digitalWrite(ledPino[27], LOW);
digitalWrite(ledPino[28], LOW);
digitalWrite(ledPino[29], LOW);
}
}
Link para download: Threnody - Goldmund
Segue abaixo o código utilizado em nossa intervenção na Clareira. Ele faz com que 30 fios de leds pisquem em forma de cascata de maneira não uniforme, sendo que cada botão (input) deve acionar três fios (output). O arduíno requisitado deve ser o MEGA, com 53 entradas. Serão 10 entradas para os inputs (pinos 0 a 9) e 30 para os outputs (pinos 22 a 52). Para reproduzir a intervenção, posicione as extremidades dos fios nestes pinos citados.
#define LEDQTD 30
#define BOTAOQTD 10
int ledPino[LEDQTD];
int botaoPino[BOTAOQTD];
boolean botaoEstado[BOTAOQTD];
int botaoTimer[BOTAOQTD]; // momento em que o botao foi pressionado
int botaoUltimoMillis[BOTAOQTD]; // ultimo momento em que o botao estava desligado
void setup() {
for (int i = 0; i < 10; i++) {
// preenche os que serao usados para os pinos dos botao
botaoPino[i] = 2 + i;
// preenche o estado do botao
botaoEstado[i] = false;
// preenche o estado do botao
botaoTimer[i] = 0;
botaoUltimoMillis[i] = 0;
// inicia o pino do botao
pinMode(botaoPino[i], INPUT);
}
for (int i = 0; i < LEDQTD; i++) {
// preenche os pinos onde os leds estao ligados
ledPino[i] = 22 + i;
// inicializa o pino do led
pinMode(ledPino[i], OUTPUT);
}
}
void loop() {
// esse parte le todos os botoes e salva o momento em que ele foi desligado e ligado
for (int i = 0; i < BOTAOQTD; i++) {
if (digitalRead(botaoPino[i])) {
botaoTimer[i] = millis();
} else {
botaoUltimoMillis[i] = millis();
}
}
// essa parte define o comportamento do botao
// botao 01
int intervalo = botaoTimer[0] - botaoUltimoMillis[0];
if (intervalo > 0) {
//
if (intervalo < 130) {
digitalWrite(ledPino[2], LOW);
digitalWrite(ledPino[0], HIGH);
} else if (intervalo <= 260) {
digitalWrite(ledPin[0], LOW);
} else if (intervalo <=390) {
digitalWrite(ledPin[0], HIGH);
} else if (intervalo <= 420) {
digitalWrite(ledPin[0], LOW);
digitalWrite(ledPin[1], HIGH);
} else if (intervalo <=550) {
digitalWrite(ledPin[1], LOW);
digitalWrite(ledPin[2], HIGH);
} else if (intervalo <=680) {
digitalWrite(ledPin[2], LOW);
} else if (intervalo <=810) {
digitalWrite(ledPin[2], HIGH);
} else if (intervalo <= 940) {
digitalWrite(ledPin[2], LOW);
digitalWrite(ledPin[1], HIGH);
} else if (intervalo <=1070) {
botaoUltimoMillis[0] = millis();
}
//
} else {
digitalWrite(ledPino[0], LOW);
digitalWrite(ledPino[1], LOW);
digitalWrite(ledPino[2], LOW);
}
// essa parte define o comportamento do botao
// botao 02
intervalo = botaoTimer[1] - botaoUltimoMillis[1];
if (intervalo > 0) {
//
if (intervalo < 30) {
digitalWrite(ledPino[5], LOW);
digitalWrite(ledPino[3], HIGH);
} else if (intervalo <= 60) {
digitalWrite(ledPino[3], LOW);
digitalWrite(ledPino[4], HIGH);
} else if (intervalo <= 90) {
digitalWrite(ledPino[4], LOW);
digitalWrite(ledPino[5], HIGH);
} else if (intervalo <= 120) {
botaoUltimoMillis[1] = millis();
}
//
} else {
digitalWrite(ledPino[3], LOW);
digitalWrite(ledPino[4], LOW);
digitalWrite(ledPino[5], LOW);
}
// botao 03
intervalo = botaoTimer[2] - botaoUltimoMillis[2];
if (intervalo > 0) {
//
if (intervalo < 100) {
digitalWrite(ledPino[8], LOW);
digitalWrite(ledPino[6], HIGH);
} else if (intervalo <= 200) {
digitalWrite(ledPino[6], LOW);
digitalWrite(ledPino[7], HIGH);
} else if (intervalo <= 500) {
digitalWrite(ledPino[7], LOW);
digitalWrite(ledPino[8], HIGH);
} else if (intervalo <= 700) {
botaoUltimoMillis[2] = millis();
}
//
} else {
digitalWrite(ledPino[6], LOW);
digitalWrite(ledPino[7], LOW);
digitalWrite(ledPino[8], LOW);
}
// botao 04
intervalo = botaoTimer[3] - botaoUltimoMillis[3];
if (intervalo > 0) {
//
if (intervalo < 30) {
digitalWrite(ledPino[11], LOW);
digitalWrite(ledPino[9], HIGH);
} else if (intervalo <= 60) {
digitalWrite(ledPino[9], LOW);
digitalWrite(ledPino[10], HIGH);
} else if (intervalo <= 90) {
digitalWrite(ledPino[10], LOW);
digitalWrite(ledPino[11], HIGH);
} else if (intervalo <= 120) {
botaoUltimoMillis[3] = millis();
}
//
} else {
digitalWrite(ledPino[9], LOW);
digitalWrite(ledPino[10], LOW);
digitalWrite(ledPino[11], LOW);
}
// botao 05
intervalo = botaoTimer[4] - botaoUltimoMillis[4];
if (intervalo > 0) {
//
if (intervalo < 50) {
digitalWrite(ledPino[14], LOW);
digitalWrite(ledPino[12], HIGH);
} else if (intervalo <= 100) {
digitalWrite(ledPino[12], LOW);
digitalWrite(ledPino[13], HIGH);
} else if (intervalo <= 150) {
digitalWrite(ledPino[13], LOW);
digitalWrite(ledPino[14], HIGH);
} else if (intervalo <= 200) {
botaoUltimoMillis[4] = millis();
}
//
} else {
digitalWrite(ledPino[12], LOW);
digitalWrite(ledPino[13], LOW);
digitalWrite(ledPino[14], LOW);
}
// botao 06
intervalo = botaoTimer[5] - botaoUltimoMillis[5];
if (intervalo > 0) {
//
if (intervalo < 100) {
digitalWrite(ledPino[17], LOW);
digitalWrite(ledPino[15], HIGH);
} else if (intervalo <=200) {
digitalWrite(ledPino[15], LOW);
digitalWrite(ledPino[16], HIGH);
} else if (intervalo <= 400) {
digitalWrite(ledPino[16], LOW);
digitalWrite(ledPino[17], HIGH);
} else if (intervalo <=500) {
botaoUltimoMillis[5] = millis();
}
//
} else {
digitalWrite(ledPino[15], LOW);
digitalWrite(ledPino[16], LOW);
digitalWrite(ledPino[17], LOW);
}
// botao 07
intervalo = botaoTimer[6] - botaoUltimoMillis[6];
if (intervalo > 0) {
//
if (intervalo < 50) {
digitalWrite(ledPino[20], LOW);
digitalWrite(ledPino[18], HIGH);
} else if (intervalo <= 200) {
digitalWrite(ledPino[18], LOW);
digitalWrite(ledPino[19], HIGH);
} else if (intervalo <=250) {
digitalWrite(ledPino[19], LOW);
digitalWrite(ledPino[20], HIGH);
} else if (intervalo <=300) {
botaoUltimoMillis[6] = millis();
}
//
} else {
digitalWrite(ledPino[18], LOW);
digitalWrite(ledPino[19], LOW);
digitalWrite(ledPino[20], LOW);
}
// botao 08
intervalo = botaoTimer[7] - botaoUltimoMillis[7];
if (intervalo > 0) {
//
if (intervalo < 70) {
digitalWrite(ledPino[23], LOW);
digitalWrite(ledPino[21], HIGH);
} else if (intervalo < 140) {
digitalWrite(ledPino[21], LOW);
digitalWrite(ledPino[22], HIGH);
} else if (intervalo < 210) {
digitalWrite(ledPino[22], LOW);
digitalWrite(ledPino[23], HIGH);
} else if (intervalo < 280) {
botaoUltimoMillis[7] = millis();
}
//
} else {
digitalWrite(ledPino[21], LOW);
digitalWrite(ledPino[22], LOW);
digitalWrite(ledPino[23], LOW);
}
// botao 09
intervalo = botaoTimer[8] - botaoUltimoMillis[8];
if (intervalo > 0) {
//
if (intervalo < 60) {
digitalWrite(ledPino[26], LOW);
digitalWrite(ledPino[24], HIGH);
} else if (intervalo < 60) {
digitalWrite(ledPino[24], LOW);
digitalWrite(ledPino[25], HIGH);
} else if (intervalo < 90) {
digitalWrite(ledPino[25], LOW);
digitalWrite(ledPino[26], HIGH);
} else if (intervalo < 180) {
botaoUltimoMillis[8] = millis();
}
//
} else {
digitalWrite(ledPino[24], LOW);
digitalWrite(ledPino[25], LOW);
digitalWrite(ledPino[26], LOW);
}
// botao 10
intervalo = botaoTimer[9] - botaoUltimoMillis[9];
if (intervalo > 0) {
//
if (intervalo < 40) {
digitalWrite(ledPino[29], LOW);
digitalWrite(ledPino[27], HIGH);
} else if (intervalo < 160) {
digitalWrite(ledPino[27], LOW);
digitalWrite(ledPino[28], HIGH);
} else if (intervalo < 240) {
digitalWrite(ledPino[28], LOW);
digitalWrite(ledPino[29], HIGH);
} else if (intervalo < 280) {
botaoUltimoMillis[9] = millis();
}
//
} else {
digitalWrite(ledPino[27], LOW);
digitalWrite(ledPino[28], LOW);
digitalWrite(ledPino[29], LOW);
}
}
terça-feira, 23 de junho de 2015
Assinar:
Comentários (Atom)


