olá boa noite. estou iniciando nesse ramo de eletrônica agora, e gostaria de criar um projeto onde usaria um buzzer, um sensor de distancia sharp, arduino uno. o que eu estou tentando fazer e não consigo é fazer o sharp funcionar! e claro muito menos o buzzer rs. como e quais códigos devo usar para fazer o sharp mandar um sinal para o buzzer quando detectar algo a diante? utilizaria um pino digital ou analógico? tenho uma protoboarde poderia ser montado nela?

Exibições: 1244

Responder esta

Respostas a este tópico

olá boa noite  assisti as 12 aulas do Mauricio Ortega no YouTube, tem mais alguma sugestão para mim iniciante? ah! poderia me tirar uma dúvida? qual é a diferença do impute e do output? input é saída e output entrada ou vice versa? ou não tem nada disso  rsrs.

Bem.. recomendo rever as aulas do Mauricio, porque deveria ter fixado que INPUT é entrada e OUTPUT é saída, da palavra em ingles, IN, entrada, e OUT, saída.

Compre livros:

http://www.labdegaragem.org/loja/47-livros/primeiros-passos-com-o-a...

http://www.labdegaragem.org/loja/47-livros/livro-arduino-em-ac-o.html

Compre um KIT iniciantes.

http://www.labdegaragem.org/loja/29-arduino/kits-arduino/superkit.html

Estude dedicadamente:03 horas por dia

Abs.

assim Carlos. obrigado ai por ter respondido o que eu estava trocando.  o porém que não entendi de alguns códigos e taus é que ele mostra na t ela, e eu sou portador de deficiência visual, fica difícil acompanhar algumas coisas. por isso não adquiri nem um livro, pois ainda não achei um lugar que vendesse livros digitais, se souber algum lugar que venda esses tipos  de livros, se não for pedir muito me avise!  obrigado  abs.

Oi Yuri,

Eu não sei exatamente essa informação, mas sim tenho certeza que existe uma pessoa que te pode ajudar muito, ele também é deficiente visual, nosso colega aqui no LDG, o Klaus Lacerda, veja este tópico, e aproveite para solicitar a amizade dele.

http://labdegaragem.com/forum/topics/c-digo-funciona-no-uno-mas-n-o...

Estimo que ele tem dicas que vão te ajudar, mas eu também se souber de algo te aviso.

Boa sorte!

Abs.

Olá vocês poderiam me ajudar nesse código? depois de ter estudado um pouquinho sobre isso estou tentando emitir um som  com o buzzer.  o código é esse.

voide setup();

{

pinmode(12, output);

 }

 

Void loop(); {

 digitalwrit(12, HIGH);

Delay(4000);

Digitalwrit(12, low);

Delay(5000);

}

Então galera. Irei colocar o buzzer no gnd, e no pino 12. HIGH mandará uma alimentação pra ele e após 4 segundos se tornará   low. Estou correto nesse código ou falta algo? abs

Oi Yury,

Esta certo sim, apenas um erro no ultimo delay, em vez de 4 você colocou 5, mas é irrelevante, tenha em conta que desta forma o buzzer estará em um loop infinito, ou seja, quando energizada a placa Arduino, ele começara a tocar, desligar, e voltar a tocar, e assim até desligar a placa, caso queira outro modo de funcionamento avise.

IMPORTANTE: note que tem um ponto e virgula depois do void loop(), isso daria erro na hora de compilar, retire o ponto e virgula deste lugar.

Abs.

olá Carlos!   na verdade meu objetivo final é conseguir fazer o sharp mandar um sinal pro arduino e o arduino fazer o buzzer apitar. mais como me falou antes, estou indo de vagar pra ver se consigo realizar esse projeto. bom mais qual outra forma de funcionamento seria possível?

Olá Yury,

Veja a dica do Wiechert que também é importante para que não fique quebrando a cabeça.

A outra forma de fazer caso não fosse repetidamente, ou seja um loop infinito, seria em vez de escrever no void loop, colocar tudo no void setup, desta forma a rotina de programação somente faria o programado uma vez, e para fazer novamente com apertar o botão reset da placa, ou desligar a placa e ligar, voltaria a fazer a mesma coisa por uma só vez.

Ficaria assim:

int buzzer = 12;

void setup() {
 
 pinMode (buzzer, OUTPUT);
 digitalWrite (buzzer, HIGH);
 delay(4000);
 digitalWrite (buzzer, LOW);
 

}

void loop()
{
  }

Note que o void loop esta vazio mas deve conter as chaves de qualquer forma.

Note também que na sua escrita, existem erros so digitar digitalWrite, faltando a letra e no final, o colega Klaus Lacerda fez um comentário no tópico dele certa vez, dizendo que era um dos problemas que ele enfrentava, pois não havia como ele identificar erros de sintaxe que ocorriam devido a sua dificuldade de enxergar.

Outra coisa que pode fazer para avançar no seu projeto também, seguindo o mesmo sketch, é incrementar com um botão, para que cada vez que você pressionar o botão o buzzer toque, isso simulara de certa forma (O botão) um sensor, com um toque liga, com outro desliga o buzzer.

Eu não sei o seu grau de deficiência, mas pode ser que tenha alguém que lhe possa ajudar, por isso colo o código aqui, e um link da simulação do circuito, se tiver duvidas, avise, bons estudos!


int buzzer = 13; // PINO PARA O BUZER
int botao = 2;  // PINO ENTRADA BOTAO
int valorEntrada = LOW; // OBTER O ESTADO DO BOTAO
int valorAnterior = LOW; // MANTER O ESTADO ANTERIRO DO BOTAO
int estado = LOW;


void setup() {

  pinMode (buzzer, OUTPUT); // UTILIZA BUZZER COMO SAIDA


  pinMode (botao, INPUT); //  UTILIZA BOTAO COMO ENTRADA

}

void loop() {
  // OBTER VALOR ENTRADA


  valorEntrada = digitalRead (botao);

  // VERIFICA SE EXISTE MUDANÇA NO BOTAO


  if ((valorEntrada == HIGH) && (valorAnterior == LOW)) {


    estado = 1 - estado;


    delay(10);
  }

  if (estado == LOW) {


    digitalWrite (buzzer, LOW); // DESLIGAR O BUZZER


  } else


  {
    digitalWrite (buzzer, HIGH); // LIGAR O BUZZER


  }

  valorAnterior = valorEntrada;
}

Link video:

https://www.youtube.com/watch?v=WTm7BeoqvM4

assim Carlos.  mais esse botão seria algo que eu deveria comprar, ou posso usar uma tecla do PC?  outra pergunta, notei que no início dos seus exemplos você colocou: int, in, if. esses comandos só seria para identificar inicialmente qual seria o pino de cada componente. ou eles são obrigatório. seria preciso colocar especificamente buzzer? ou apenas colocou para que eu entendesse melhor? acho que agora estou começando a entender sobre   variáveis, aliás buzzer apenas estaria sendo uma variável né?

Oi Yury,

int é a maneira de declarar uma variável, do tipo inteira, o símbolo = é atribuição, e o que vem depois é o nome que vai dar, pode ser buzzer ou qualquer outro nome sim, coloquei para seguir o seu raciocínio, mas você pode nomear como quiser.

já i if serve para condicionar algo, traduzido do ingles, seria SE, ou seja, SE acontecer tal coisa, faça tal coisa, if (acontecer algo) {faça isso};

Anexo segue um PDF que quem sabe possa lhe ajudar se tiver como ler, ou alguém lhe ajudar.

Sim o botão deve ser comprado, custa centavos, mas deve ser comprado, já se quiser usar uma tecla do pc deveria ser outro código.

Abs.

Anexos
Olá,
Qual é o tipo de buzzer que você está usando no projeto?
Se for do tipo ativo (apita em uma frequência assim for energizado) o seu programa estará correto após executar as observações apontadas pelo Carlos.
Porém se o buzzer for do tipo mais simples (sem circuito eletrônico interno) você terá que fazer o pino oscilar na frequência desejada para que o buzzer seja excitado. Isso pode ser feito com a função tone do arduino.

olá! na verdade não sei o tipo desse buzzer, eu imaginei que daria para fazer isso, pois acho que consegui mandar um código já feito pro arduino, onde pisca aquele led 13. e no pino 13 coloquei o buzzer e ele emite um bip bem baixinho. como eu aumentaria sabe me falar?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço