Boa pessoal ! 

Estou com a seguinte dúvida : 

Tenho uma matriz 8x8 e um ultrassonico . 

De acordo com a distancia lida pelo ultrassonico quero mudar a imagem da martiz.

Ex : X distância imprime Y imagem na matriz .

 se distância for igual a 1.00 ,  matriz imprime um coração , por exemplo.

Mas não estou conseguindo ... Fiz ó código 

Código à baixo . 

//esse ai eu mdofiquei dps que tu saiu .. . , ve , ele esta "certo" , mas
//quando vai chamar a funço dentro da condiçao if ,ele da erro.
//outro ponto tambem e que quando coloco no setup os pinos da matriz
//"int linha [] = (9,10,11); - " como OUTPUT , da erro ...
//se der da uma ollhada ...

//esse ai eu mdofiquei dps que tu saiu .. . , ve , ele esta "certo" , mas
//quando vai chamar a funço dentro da condiçao if ,ele da erro.
//outro ponto tambem e que quando coloco no setup os pinos da matriz
//"int linha [] = (9,10,11); - " como OUTPUT , da erro ...
//se der da uma ollhada ...


#include <Ultrasonic.h>

Ultrasonic ultrasonic(6,7);

int linha [8] = { 2,3,4,5,8,9,10,11};
int coluna [8] = { 12,13,14,15,16,17,18,19};
//int esquerda = 0;
//int direita = 0;
//int bifur = 0;
//int sinal = 0;
//============================================
//temperatura
float temp = A5; //
float t = 0; //
//********************************************

//********************************************
//-------------------------------------------
//distancia
float d1=1.45; //
float d2= 2.50; //
float d3= 3.50;
float d4= 5.00;
//==============================================
float distancia = 0; //
long tempo = 0; //
//------------------------------------------//
byte verde = 2; //
byte vermelho = 3; //
byte azul = 4; //
byte alarme = 5; //
//------------------
void setup() {
pinMode(verde,OUTPUT);
pinMode(vermelho,OUTPUT);
pinMode(azul,OUTPUT);
pinMode(t,INPUT);
// pinMode(alarme,OUTPUT);
//pinMode(esquerda,OUTPUT);
// pinMode(direita,OUTPUT);
// pinMode(bifur,OUTPUT);
//pinMode(sinal,OUTPUT);
for(int a=0; a<8 ; a++){
pinMode(linha[a], OUTPUT);
pinMode(coluna[a], OUTPUT);
}
DDRC = B00011111; //configura os pinos de A0 até A5 como saída digital.
DDRB = B00000011; //configura os pinos 8 e 9 como saída digital.
DDRD = B11111111;



Serial.begin(9600);
}

void loop() {
//**************************************
// t = analogRead (temp); //
// t = (t)*5/(1023)/0.01; //
// Serial.print("temperatura " ); //
//Serial.println(t);
// Serial.println();
//delay(500); //
//**********************************
//#############################################################
tempo = ultrasonic.timing(); //
distancia = ultrasonic.convert(tempo, Ultrasonic::CM); //
distancia = (distancia / 100); //
//
//########################################################

if (distancia < d1){
digitalWrite(vermelho,HIGH);
tone(alarme,1500);
delay(900);
noTone(alarme);
delay(900);
digitalWrite(sinal,HIGH);
}else{
digitalWrite(vermelho,LOW);
digitalWrite(sinal,LOW);
}



if (distancia > d1 && distancia < d4){
Serial.print(" M " );
Serial.println( distancia );
Serial.println();
delay(500);
}
if (distancia > d1 && distancia < d2){

digitalWrite(verde,HIGH);
}else{
digitalWrite(verde,LOW);
}
if (distancia > d2 && distancia < d4){
digitalWrite(azul,HIGH);
}else{
digitalWrite(azul,LOW);

}
}

void esquerda (){
const int esquerda[] ={
B0, 0, 0, 1, 0, 0, 0, 0,
B0, 0, 1, 0, 0, 0, 0, 0,
B0, 1, 0, 0, 0, 0, 0, 0,
B1, 1, 1, 1, 1, 1, 1, 1,
B0, 1, 0, 0, 0, 0, 0, 0,
B0, 0, 1, 0, 0, 0, 0, 0,
B0, 0, 0, 1, 0, 0, 0, 0,
B0, 0, 0, 0, 0, 0, 0, 0};
}

void direita (){
int direita[] ={
B0, 0, 0, 0, 1, 0, 0, 0,
B0, 0, 0, 0, 0, 1, 0, 0,
B0, 0, 0, 0, 0, 0, 1, 0,
B1, 1, 1, 1, 1, 1, 1, 1,
B0, 0, 0, 0, 0, 0, 1, 0,
B0, 0, 0, 0, 0, 1, 0, 0,
B0, 0, 0, 0, 1, 0, 0, 0,
B0, 0, 0, 0, 0, 0, 0, 0};
}

void bifur (){
int bifur[] = {
B0, 0, 0, 0, 1, 0, 0, 0,
B0, 0, 0, 1, 1, 1, 0, 0,
B0, 0, 1, 0, 1, 0, 1, 0,
B0, 1, 0, 0, 1, 0, 0, 1,
B0, 0, 0, 0, 1, 0, 0, 0,
B0, 0, 0, 0, 1, 0, 0, 0,
B0, 0, 0, 0, 1, 0, 0, 0,
B0, 0, 0, 0, 1, 0, 0, 0};
}

void sinal(){
int sinal[] = {
B0, 0, 1, 1, 1, 1, 1, 0,
B0, 1, 0, 0, 0, 0, 0, 1,
B0, 1, 0, 0, 0, 0, 1, 1,
B0, 1, 0, 0, 0, 1, 0, 1,
B0, 1, 0, 0, 1, 0, 0, 1,
B0, 1, 0, 1, 0, 0, 0, 1,
B0, 1, 1, 0, 0, 0, 0, 1,
B0, 0, 1, 1, 1, 1, 1, 0};

}

//autores : Inoa e Kesse /Email: inoan.allen@hotmail.com; kesse.matias@hotmail.com

Exibições: 171

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço