Décima primeira semana(11/06-12/06): P2 - Apresentação FINAL do projeto.
Apresentação FINAL:
Clique aqui para download
Roteiros e trabalhos de Física Experimental 2 PUC SP - 2012
segunda-feira, 11 de junho de 2012
quinta-feira, 7 de junho de 2012
"No light Home" - Oitava fase - Etapa final
Nona semana(28/05-01/06): Aprimoramento final da maquete e do código.
Código :
Código :
int s0,s1,s2;
int L0=0, L1=0,L2=0, L3=0,L4=0,L5 =0,L6 = 0;
int ledPin = 1,ledPin1 = 13,ledPin2 = 12;
int ctl_1 = 0,ctl_2 = 0;
int A=0;
int calibL4 = 400, calibL5=200,calibL6=300;//valores de base para sensores da porta
int calibD0=1000,calibD1=800, calibD2=800,calibD3=600;//valores de base para disparo de sensores da parede
void setup()
{
//4051 digital control pins
pinMode(8, OUTPUT); // s0
pinMode(9, OUTPUT); // s1
pinMode(10, OUTPUT); // s2
Serial.begin(9600);
}
int binario(int n, int b){
int r[3],a[3];
int m10=1;
int z=0;
int q=n,c=2;
for(int i=0;i<3;i++) r[i] = 0;
do{
r[c] = q%2;
q = q /2;
z = (r[c]*m10)+z;
m10 = m10 * 10;
c = c - 1;
}while(q!= 0);
return (r[b]);
}
void comodo(float LDR0,float LDR1,float LDR2,float LDR3,float LDR4, float LDR6) {
int media, desvio0, desvio1, desvio2, desvio3,desvio4;
media = (LDR0 + LDR1 + LDR2 + LDR3)/4;
Serial.print(" ");
Serial.print(" media: ");
Serial.print(media);
desvio0 = (LDR0/media)*1000;
desvio1 = (LDR1/media)*1000;
desvio2 = (LDR2/media)*1000;
desvio3 = (LDR3/media)*1000;
desvio4 = (LDR4/media)*1000;
Serial.print(" ");
Serial.print(" D0: ");
Serial.print(desvio0);
Serial.print(" D1: ");
Serial.print(desvio1);
Serial.print(" D2: ");
Serial.print(desvio2);
Serial.print(" D3: ");
Serial.print(desvio3);
if ((desvio0 < calibD0) ) {
digitalWrite(ledPin, HIGH);
tone(5,261.626);
}else if ((desvio1 < calibD1) ) {
digitalWrite(ledPin, HIGH);
tone(5,329.628);
}
else if ((desvio2 < calibD2) ) {
digitalWrite(ledPin, HIGH);
tone(5,391.995);
}
else if ((desvio3 < calibD3)) {
digitalWrite(ledPin, HIGH);
tone(5,440);
}else if(LDR6<calibL6){
tone(5,220);
tone(5,440);
}
else {
digitalWrite(ledPin, LOW);
tone(5,LOW);
}
}
int luz(int a){
int n1,n2,c1,c2;
////////////////////
if (a==0){
n1 = analogRead(A4); //le L5
if(n1<calibL5){
c1= 1;
}
if(c1==1){
n2 = analogRead(A5);//le L6
if(n2<calibL6){
c2 =1;
}else c2 = 0;
if (c2 == 1){
digitalWrite(ledPin1, HIGH); //ascende a luz
digitalWrite(ledPin, HIGH); //ascende a luz
c2=0;
c1 = 0;
a=1;
}
}
}
/////////////
if(a==1){
n2 = analogRead(A5);//le L6
if(n2<calibL6){
c2= 1;
}
if(c2==1){
//c2=0;
n1 = analogRead(A4); //le L5
if(n1<calibL5){
c1 =1;
}else c1=0;
if (c1 == 1){
digitalWrite(ledPin1, LOW);//desliga a luz
digitalWrite(ledPin, LOW);//desliga a luz
c1=0;
c2=0;
a=0;
}
}
}
/////////
return a;
}
void loop()
{
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
int readInZero = analogRead(0); // read the input pin
//Serial.print(readInZero); //use the result
for(int j=0; j<=7;j++){
s0 = binario(j,0);
s1 = binario(j,1);
s2 = binario(j,2);
digitalWrite(8, s0);//s0
digitalWrite(9, s1);//s1
digitalWrite(10, s2);//s2
int readInTwo= analogRead(0);
switch(j){
case 0:
L0 = readInTwo;
break;
case 4:
L1 = readInTwo;
break;
case 2:
L2 = readInTwo;
break;
case 6:
L3 = readInTwo;
break;
default:
break;
}
L4 = analogRead(A3);
L5 = analogRead(A4);//n1
L6 = analogRead(A5);//n2
if(L4<calibL4){
A = luz(A);
}
comodo(L0,L1,L2,L3,L4,L6);//controla sinais sonoros no comodo
Serial.print("\n L0 ");
Serial.print(L0);
Serial.print(" L1 ");
Serial.print(L1);
Serial.print(" L2 ");
Serial.print(L2);
Serial.print(" L3 ");
Serial.print(L3);
Serial.print(" L4 ");
Serial.print(L4);
Serial.print(" L5 ");
Serial.print(L5);
Serial.print(" L6 ");
Serial.print(L6);
}
}
//luz
//som
segunda-feira, 4 de junho de 2012
"No light Home" - Sexta fase - Etapa intermediária
Etapa intermediária
Oitava semana(21/05-25/05): Etapa INTERMEDIÁRIA do projeto.
Protótipo
Apresentação do projeto em sala de aula:
Clique aqui para download
"No light Home" - Quinta fase - Etapa intermediária
Quarta semana(24/04-27/04): Etapa final para o desenvolvimento da maquete e do protoboard.
Quinta semana(30/04-04/05): Desenvolvimento inicial do código.
Sexta semana(07/05-11/05): Desenvolvimento intermediário do código, dúvidas sobre o projeto(em sala) e ajustes.
int s0,s1,s2;
int L0=0, L1=0,L2=0, L3=0,L4=0,L5 =0,L6 = 0;
int ledPin = 12,ledPin1 = 13;
int ctl_1 = 0,ctl_2 = 0;
void setup()
{
//4051 digital control pins
pinMode(8, OUTPUT); // s0
pinMode(9, OUTPUT); // s1
pinMode(10, OUTPUT); // s2
Serial.begin(9600);
}
int binario(int n, int b){
int r[3],a[3];
int m10=1;
int z=0;
int q=n,c=2;
for(int i=0;i<3;i++) r[i] = 0;
do{
r[c] = q%2;
q = q /2;
z = (r[c]*m10)+z;
m10 = m10 * 10;
c = c - 1;
}while(q!= 0);
return (r[b]);
}
void comodo(float LDR0,float LDR1,float LDR2,float LDR3,float LDR4, float LDR5) {
int media, desvio0, desvio1, desvio2, desvio3,desvio4;
media = (LDR0 + LDR1 + LDR2 + LDR3)/4;
Serial.print(" ");
Serial.print(" media: ");
Serial.print(media);
desvio0 = (LDR0/media)*1000;
desvio1 = (LDR1/media)*1000;
desvio2 = (LDR2/media)*1000;
desvio3 = (LDR3/media)*1000;
desvio4 = (LDR4/media)*1000;
Serial.print(" ");
Serial.print(" D0: ");
Serial.print(desvio0);
Serial.print(" D1: ");
Serial.print(desvio1);
Serial.print(" D2: ");
Serial.print(desvio2);
Serial.print(" D3: ");
Serial.print(desvio3);
int luz = 100;
if(media > luz ) //LUZ
{
if ((desvio0 < 900) ) {
digitalWrite(ledPin, HIGH);
tone(9,261.626);
}else if ((desvio1 < 700) ) {
digitalWrite(ledPin, HIGH);
tone(9,329.628);
}
else if ((desvio2 < 900) ) {
digitalWrite(ledPin, HIGH);
tone(9,391.995);
}
else if ((desvio3 < 600)) {
digitalWrite(ledPin, HIGH);
tone(9,440);
}
else {
digitalWrite(ledPin, LOW);
tone(9,LOW);
}
}
else
{
if ((desvio0 < 900) ||(desvio2 < 700) ||(desvio1 < 900) ||(desvio3 < 600)) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}
}
void luz(int ldr1,int ldr2){
if(ldr1<200) ctl_1 = (ctl_1+1)%2;
if(ctl_1==0) ctl_2=0;
if(ctl_1==1 &&ldr2<200){
ctl_2 = 1;
}
if( ctl_2 ==1) {
digitalWrite(ledPin1, HIGH);
delay(100);
}
else digitalWrite(ledPin1, LOW);
}
void loop()
{
//Read Value of 4051 analog-in 0 by setting the values of s0,s1 and s2
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
delay(10); //not sure if this delay is strictly necessary
int readInZero = analogRead(0); // read the input pin
//Serial.print(readInZero); //use the result
for(int j=0; j<=7;j++){
s0 = binario(j,0);
s1 = binario(j,1);
s2 = binario(j,2);
digitalWrite(8, s0);//s0
digitalWrite(9, s1);//s1
digitalWrite(10, s2);//s2
int readInTwo= analogRead(0);
switch(j){
case 0:
L0 = readInTwo;
break;
case 4:
L1 = readInTwo;
break;
case 2:
L2 = readInTwo;
break;
case 6:
L3 = readInTwo;
break;
default:
break;
}
L4 = analogRead(A3);
L5 = analogRead(A5);
L6 = analogRead(A4);
luz(L5,L6);
comodo(L0,L1,L2,L3,L4,L5);
Serial.print("\n L0 ");
Serial.print(L0);
Serial.print(" L1 ");
Serial.print(L1);
Serial.print(" L2 ");
Serial.print(L2);
Serial.print(" L3 ");
Serial.print(L3);
Serial.print(" L4 ");
Serial.print(L4);
Serial.print(" L5 ");
Serial.print(L5);
Serial.print(" L6 ");
Serial.print(L6);
}
}
Sétima semana(14/05-18/05): Desenvolvimento final do código.
Marcadores:
Código,
Etapa intermediaria,
Etapa intermediária,
Projeto Arduíno,
Quarta semana,
Quinta fase,
Quinta semana,
Sétima semana,
Sexta semana,
Terceira semana
"No light Home" - Quarta fase - Etapa inicial
ETAPA INICIAL
Segunda semana(09/04-13/04): Preparação inicial do desenvolvimento da maquete e do protoboard."No light Home" - Terceira fase - Etapa inicial
Assinar:
Postagens (Atom)