Ir ao conteúdo
  • Cadastre-se

ViniciusKruz

Membro Pleno
  • Posts

    724
  • Cadastrado em

  • Última visita

Tudo que ViniciusKruz postou

  1. WiFi + bluetooth o caminho mais fácil que você pode encontrar é com os ESP32, veja aqui uma breve explicação sobre ele: http://pedrominatel.com.br/pt/esp32/esp32-o-que-ja-sabemos-sobre-o-novo-esp8266/ Pode criar na IDE do Arduíno se não quiser usar outras, inclusive pode aproveitar os sketch(códigos) do Arduíno, depois de criado o programa basta fazer o upload para o ESP, da mesma forma como é feito no Arduíno. Não! Esta placa é voltada para o protocolo ZeegBee que é diferente do TCP/IP do ESP. Em resumo, o Zeegbee não pode acessar a sua rede WiFi da sua casa, enquanto o TCPIP pode! Com este módulo ESP do vídeo é possível por exemplo você conectar nele um módulo bluetooth à parte, daí você teria as duas tecnologias.
  2. @test man*~ No meu eu também removi esse resistor pra usar a CR2032, no meu caso estou usando uma biblioteca do arduíno, esse bichim é tão preciso que não alterei nada na frequência, deixei do jeito que veio da fábrica e já deve ter uns 3 meses e ele não alterou nem 20 segundos, pra mim esta precisão já está pra lá de boa, se fossem os outros RTCs que já usei, pra conseguir essa mesma precisão seria necessário um tremendo esforço com os capacitores do cristal. Tem um amigo aqui no fórum que está mexendo nessa frequência, só que ele usa é um ESP + arduíno também, no caso dele, está alcançando uma precisão incrível, o próprio ESP acessa os servidores NTPs e corrige a frequência sozinho. Caso interesse o link para o tópico com o arquivo de teste que ele disponibilizou é esse: https://www.clubedohardware.com.br/forums/topic/1134300-esp8266-a-pequena-maravilha-para-comunicação-wifi/?do=findComment&comment=6561099
  3. Via WiFi a melhor opção seria o ESP8266, inclusive já estão comercializando a nova versão que é o ESP32 na China(um pouco caro ainda por ser lançamento), com ele é dá pra conectar em redes WiFi e bluetooth. Quanto ao acesso de diversos dispositivos e plataformas, é só o servidor permitir os acessos tanto para inserirem dados quanto para lerem.
  4. Parabéns!! Esse é sem dúvidas o melhor RTC que já vi.
  5. @celsolrc Ao entrar em modo Sleep, daria para o seu microcontrolador desacoplar/desligar a parte do circuito que mantem o display, leds, motores, etc., ligados, ao sair do Sleep, religa o circuito novamente. Essa função de Sleep geralmente é usado para sistemas alimentados por baterias, e o consumo é quase nulo. Fora isto, como eu já disse, você teria que criar um circuito eletrônico analógico que ao ser acionado, desliga o microcontrolador e todo o seu circuito, mas é bem possível que esse circuito consuma até mais energia que o micro em modo sleep.
  6. @celsolrc Isso que você quer é uma função chamada Sleep, depois de certo tempo de inatividade o microcontrolador entra em stanby(baixo consumo) e se voltar a ter atividade ele reativa novamente, geralmente por algum evento externo. Dá uma estudada no datasheet do seu microcontrolador e também no manual da sua IDE que vai encontrar as respostas. Se mesmo assim você quiser realmente "desligar", aí vai ter que ser por meio da eletrônica analógica mesmo, o que seria uma gambiarra mas é possível hehehe.
  7. @aphawk Muito bacana seu rádio. Meu atual projeto não contempla display, todos os controles são em uma interface feita no C# que comunica pela USB com um PIC18f4550, embora eu concorde com você que um display cairia bem. Vejam na imagem a interface gráfica do atual projeto para PIC com o CCS Compiller (inacabado) :
  8. A ideia é de que ele faça a mixagem dos canais só que de forma digital. Não abrirei um novo tópico, a não ser depois de pronto para ficar como tutorial. Em uma mesa de som, mesmo que tenha 40 canais, todos eles são iguais, ou seja, se eu fizer um canal somente, já é o suficiente, basicamente basta juntar quantos outros quiser. Então, não usará potenciometro nenhum, será tudo digital, o interessante desses circuitos PT2323, PT2322 entre outros é que eles já tem tudo isso internamente, em específico, os potenciometros. Tem CIs de áudio(digitais) específicos para equalizadores, efeitos e muito mais. Aí já seria uma mesa de som digital no seu sentido mais complexo mesmo, esses potenciômetros digitais além de caros, como você disse, exigiriam uma eletrônica beeemmm mais complicada. Primeiramente didática mesmo, com um projeto desses daria para as pessoas aprenderem muita coisa sobre os CIs de áudio digitais. Em nível de projeto, primeiro precisa entender as mesas de som analógicas, elas tem muitos potenciômetros, pra se ter uma ideia, cada canal no mínimo vai ter 7 potenciômetros panorâmicos mais um deslizante(linear), sem contar os outros que vão no master, que controla todos os canais. Com o ESP, a mesa não precisa de nenhum botão a não ser o power e as entradas e saídas de áudio e o grande diferencial seria acessar estes controles pelo celular, pc ou seja lá o que for. adicionado 4 minutos depois Nos próximos meses estarei muito ocupado, não sei nem se vou ter tempo para estar diariamente aqui no fórum, passando esta semana, na outra, é bem possível que eu suma daqui por causa de um novo projeto que estou começando em uma nova empresa e lá estarei afastado de tudo, logo não sei nem se vou poder realmente fazer este projeto da mesa de som, mas vamos ver no que vai dar.
  9. Desculpa a intromissão, já me intrometendo... ...mas precisa mesmo usar outro micro junto do ESP? Porque não programar tudo nele(ESP)?
  10. Amigo, na boa, seria quase um crime você querer que isso aí funcione bem, vou te sugerir uma gambiarra menos gambiarrada: https://mlb-s2-p.mlstatic.com/424801-MLB20415158259_092015-C.jpg
  11. @alexandre.mbm Pode ser usado também em casa, por exemplo para mixar separadamente cada fonte de áudio, como som da TV, computador, microfone, DVD, etc.
  12. @alexandre.mbm O @Papibakigrafo tem razão, a mesa de som serve para mixar/misturar e controlas os graves medios e agudos dos diversos instrumentos de uma banda por exemplo.
  13. Para os embarcados estas suas dúvidas sobre POO estão muito além da compreensão, porque em geral é usado a programação estruturada e os conceitos da orientação a objetos estão sendo inclusos somente agora e pelo que já entendi, vai avançar mas de imediato ainda está engatinhando, no caso do Arduíno, tem traços claros da POO nas funções que são as classes(objetos), Herança(porque as características de um objeto podem passar de um para outro), poliformismo(porque é possível que uma classe assuma mais de uma forma de executar a mesma função), abstração eu ainda não encontrei traços(pode ser por inexperiência mesmo), e também tem o encapsulamento que no Arduíno, existem as propriedades private e public que servem para não permitir ou permitir respectivamente que as propriedades da classe sejam acessadas externamente. Penso que para uma melhor compreensão você deverá buscar ajuda neste fórum na parte de programação O.O. e depois tentar aplicar nos embarcados, orientação a objetos só se aprende fazendo. adicionado 0 minutos depois Tem que experimentar!!!
  14. @alexandre.mbm Pela USB é imperceptível, pode-se dizer até que é em tempo real, agora, pelo ESP com certeza vai ser maior que pela USB, mas pela experiência com os ESPs acredito que vai ser praticamente em tempo real também, até porque a interação será em ambiente de rede local.
  15. Tenho um projeto aqui que fiz uma mesa de som digital com um PIC18f4550+PT2323+PT2322. Tem um aplicativo feito em C# que do windows se conecta ao PIC através da porta USB e com isso posso controlar os canais graves, médios, agudos e volumes. Agora estou me propondo o desafio de fazer esse brinquedo funcionar com o ESP só que o ESP vai hospedar uma paginazinha com todos os controles, vai ser uma mesa digital acessada pela web. Até parece que eu to tendo tempo pra isso kkkk, mas vou ver se consigo levar a diante e se der certo, vai ser um projeto pra compartilhar aqui.
  16. @Papibakigrafo Tem razão, confundi com char, na verdade o tipo int no Arduíno é de 16 bits. Vou analisar um pouco mais seu sketch. adicionado 11 minutos depois @Papibakigrafo Não encontrei nada que pudesse causar algum erro, vou testar seu sketch. adicionado 32 minutos depois @Papibakigrafo Aqui funcionou direitinho, tá tudo certo.
  17. Variáveis do tipo int só contam até 254, pode ser esse o problema, muda ela pra long que deve resolver.
  18. @lucianolcoa Dá certo sim, nesse caso eu posso te ajudar porque é coisa que eu já estou acostumado, quando fizer as funções para ler e escrever, posta eles que checo pra você.
  19. Kkkk, na verdade é que eu não estou usando um sensor de temperatura como no seu tutorial, daí coloquei um número aleatório só pra testar mesmo. Ao invés do ESP ler o valor no sensor, ele apenas gera um valor qualquer. adicionado 29 minutos depois Vamos analisar seu código, afinal o importante aqui não é dar pronto mas sim ensinar... String token=""; char tiken[50]=""; int i=0; char valor=" "; while(valor != '\0'){ valor=char(EEPROM.read(i)); token +=valor; i++; } Na loop while() eu mudei para while(valor != '\0'), aqui precisa ser observado algumas coisinhas: a variável "valor" foi mudada para "char" porque é o tipo de dado que será recebido a variável "valor" foi inicializada com um " " (espaço), para que ela não seja nula e não entre no loop você havia colocado para sair do loop se "valor" fosse nulo('\0') e deve ser o contrário, a rotina deve permanecer no loop enquanto não receber o valor nulo ('\0') nessa checagem do valor nulo, só vai funcionar se ao gravar a string na eeprom, o sistema estiver finalizado com o caractere nulo('\0'), tipo assim, se for gravar na eeprom a palavra "ola", na verdade deve ser gravado "o,l,a,\0", se o seu sistema (struct) não estiver fazendo isto, a rotina do loop não vai funcionar, ela vai ficar lendo a memória inteira até encontrar o cal caractere. por último, a variável "i" serve de parâmetro para o loop acessar a eeprom e nesse caso, ela está começando com o valor "0", ou seja, seu loop vai pegar todos os caracteres da eeprom a partir do endereço "0" até encontrar o caracrete nulo. Avalia com calma isso aí, eu não tenho certeza se a struct grava o caractere nulo, mas penso que não e se eu estiver certo, seu loop já era.
  20. @lucianolcoa Eu faço do jeito mais difícil kkkk, veja como eu deixo documentado a posição de cada campo: É bem mais trabalhoso, mas dá pra saber exatamente onde está cada coisa. Quando eu tiver com meu sistema pronto vou mudar ele para struct. adicionado 30 minutos depois @Papibakigrafo Olha só o teste com seu tutorial: Muito bacana, tá vendo só, seu tutorial já tá me ajudando, meu ESP está gerando um número aleatório e mandando pro site que grava na tabela do BD e mostra no gráfico.
  21. Eu realmente não tenho muito conhecimento de como executar as leituras e gravações por struct, mas creio que com esse comando aí você apenas salvou o dado na struct, para passar da struct para a memória ainda precisa chamar aquela função: saveConfig(); Acredito que seja uma destes dois valores pre definidos: #define VERSION_START 500 #define CONFIG_START 6 Pra ter certeza mesmo só mandando gravar pela struct e depois mandar ler manualmente endereço por endereço para ver onde o dado começou e onde terminou. Para ler manualmente seria com um EEPROM.read(6), desta forma você verificaria qual dado foi gravado no endereço 6 da eeprom. adicionado 5 minutos depois @Papibakigrafo Imagino que caso seja uma estação meteorológica, seria bom atualizar os dados quase que em tempo real, o ideal seria pelo menos 5 segundos entre cada envio e nesse caso realmente precisaria ficar tudo guardado no BD para futuras comparações.
  22. @Papibakigrafo Estive pensando se realmente seria uma boa opção gravar dados de leitura de portas e sensores no banco de dados do servidor, pra ser sincero estou em dúvidas se isso vai funcionar, imagina um sensor mandando um Byte a cada segundo e isto sendo gravado no BD do servidor, em uma hora seriam 3,6KB, em um dia seriam 86KB, em um ano seriam 31MB, se for apenas um sensor ainda vai, mas e se forem 100? Estou pensando em limitar na tabela tipo as últimas 24hs de registro, ou no máximo o último mês, no caso seria só criar uma função que delete da tabela os registros anteriores, concorda?
  23. @lucianolcoa O problema da conversão (toCharArray()) ta resolvido? Como assim começa em 506? Se sua Eeprom está configurada para 512 e você começar a gravar no 506 só vão sobrar 6 posições. Você precisa ter certeza de que tem espaço para gravar suas variáveis, nesse sistema de Struct, você não precisa definir as posições dos dados na memória, mas precisa ter espaço para os dados, por exemplo, imagina a seguinte struct: struct { int dia; int mes; int ano; } x; Considerando o começo da gravação em 506 conforme você colocou, os dados na eeprom ficariam assim: dia(posição 506) mes(posição 507) ano(posição 508) Agora considere a seguinte struct: struct { char dia[10]; char mes[10]; char ano[10]; } x; dia(posição 506 a 515) mes(posição 516 a 525) ano(posição 526 a 535) Nesse caso sua eeprom já estaria estourada porque ela foi declarada para 512 posições(Bytes)
  24. @lucianolcoa Bacana cara, vou citar Cora Coralina: "Feliz aquele que aprende o que ensina e transfere o que sabe." Tenho certeza de que você aprendeu muito com esse tutorial, parabéns!!
  25. @Papibakigrafo Fiz uns testes aqui e funcionou beleza, não usei tudo do seu tutorial, apenas o grafico.php, pra conhecer esse tal chart da google, (muito bacana, diga-se de passagem) só teve uma alteração que fiz pra atualizar o código para o PHP5 que foi: $sql = "SELECT * FROM grafico"; $result = mysqli_query($mysqli, $sql); //Cria o array primário $dados = array(); while($linha = mysqli_fetch_array($result)) { $temp_hora = array(); $temp_hora[] = ((string) $linha['hora']); $temp_hora[] = ((int) $linha['valor']); //Recebe no array principal, os dados. $dados[] = ($temp_hora); } //Trasforma os dados em JSON $jsonTable = json_encode($dados); echo $jsonTable; ?> Depois com mais tempo quero dar uma estudada nesse Google Chart, achei muito interessante.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!