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
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por