Colegas, alguém sabe como que teria que ficar este trecho de código para que o PIC consiga acionar o led de acordo com o que eu escrevi neste anexo ? O IF aí no caso tá errado. Como seria o certo ?

...e se for me dar gelo, não esquece a vodka

Exibições: 290

Anexos

Responder esta

Respostas a este tópico

Olá Sérgio França.

Sugiro que você poste seu código. De preferência em um ".ino", ".txt" ou no pastebin ( https://pastebin.com/ )

Olá. 

  Seu questionamento tem um formato que faz parecer exercício de escola. Não acho adequado darmos a resposta, seria injusto com vc, o ideal é que ajudemos apenas a raciocinar para o lugar certo, se for o caso.

  Ali fala em "quando os pulsos cessarem". Isso não se consegue resolver com apenas um if(), é um pouco mais complexo. vc teria que fazer um loop que incrementa e espera a cada intervalo de tempo e zera a cada pulso. Entender "cessou" quando o cronometro (contador de loop sem pulso)  atingir certo patamar. Aih dispara o led.

  Diga, primeiro, se é para a escola, tente implementar isso.

Bom dia SF, (se não gosta que te chame pelas iniciais, avise),

em primeiro lugar concordo com as palavra do Eduardo:

Se for um exercício escolar, devemos orientar e não dar a solução.

Em segundo lugar, faça um exercício de empatia:

Esqueça tudo que você sabe sobre seu projeto, e em seguida coloque-se do lado de quem vai ajuda-lo,

leia o texto do tópico, e abra a imagem.

E diga pra si mesmo.

Consigo ajudar com as informações que recebi?

Veja quanta informação faltou?

1. Qual PIC pretende usar neste projeto?

2. Qual compilador será usado?

3. Que linguagem de programação aceita um if como este?     if(Gp5 != 100 ms). 

4. Post o código inteiro aqui para que possamos entender tudo que envolve o projeto e poder dar uma ajuda correta.

Se for postar um código aqui, não o faça colando no tópico ou postando uma imagem.

Anexe um arquivo usando o clips acima na barra de ferramentas.

RV mineirin

Cuanta bobagem

Mas vamos lá. Quem estiver passando pela mesma situação pense assim: Toda vez que o pino que recebe o sinal for para nível baixo um contador precisa ser resetado. Então eu criei uma variável que chamei de counter, e fiz o código em anexo. Primeiro montei no arduino para ver pelo monitor serial. Depois fiz em C e testei num 16f630 que eu tenho aqui. Funfou beleza.

Saudações a todos.

FINAL.txt

Realmente você tem razão...    

Cuanta bobagem"    muita bobagem escrita até errada.......

Quanta é com Q................

Olá Sergio França.

O que foi apresentado não é bobagem. 

Entenda que aqui temos pessoas que estão aprendendo a ligar um led numa fonte de 5v. Temos pessoas que estão aprendendo sobre lógica de programação básica, outros estão aprendendo sobre funcionamento de integrados e componentes básicos, outros que estão aprendendo sobre controladores (arduino, esp), hobistas de final de semana, da mesma forma como existem pessoas que trabalharam 20 anos desenvolvendo circuitos para equipamentos hospitalares (olha o peso disso), outros que trabalharam na IBM (olha o peso disso²) por 10~20 anos, outros que trabalharam com grandes motores elétricos em indústria, outros tem sua própria empresa que desenvolve circuitos para os mais diversos fins, e muitos outros. Tem uns aqui que eu nem sei o que fazem, mas volta e meia fazem ótimas colaborações.

Percebe que existe uma variedade muito grande no nível de conhecimento dos usuários aqui no LdG? Por isso, é sempre importante fornecer o máximo de informações possíveis para facilitar o entendimento de quem quer ajudar, reduzindo assim, o tempo e esforço para se chegar a uma solução extremamente efetiva para quem solicitou a ajuda.

"Tá Tiago, mas é só olhar o código e a pergunta"

Veja esta pergunta: "Qual a melhor forma de declarar uma variável no arduino?"

Acredite ou não, a resposta dependerá MUITO de quem está perguntando. Se for um iniciante, eu diria que ele deve declarar como int ou long. Mas se fosse o  Bill Gates... ai eu nem tinha coragem de entrar na conversa, pois eu sei que ele vai trabalhar com binário, hex ou assembly.

Existe diferença? Existe. Veja estes dois vídeos do WRkits. Ele fornece informação a respeito da FREQUÊNCIA entre 3 códigos (Lib Arduino, C++ e Assembly). Os três fazem EXATAMENTE a mesma coisa (alternar entre HIGH e LOW, 1 pino), todos utilizam O ARDUINO (atmega328p) mas a diferença de frequência é ENORME. 

Vídeo 1: Lib Arduino x C++

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

Video 2: Assembly

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

Caso não tenha tempo para assistir, o resultado final é, aproximadamente, os seguintes:

- Lib Arduino = 145khz

- C++ = 1,13mhz á 1,98Mhz

- Assembly = 2,66Mhz

Então, na maioria das vezes, a resposta depende do nível de conhecimento e, principalmente, do projeto do usuário.

Qualquer coisa, estamos as ordens. emoji #norteño #like #smile #sonrisa #freetoedit - Hey Panini Don T You Be A Meanie, HD Png Download - kindpng

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço