Ir ao conteúdo
  • Cadastre-se

Alternativas mais avançadas ao arduino?


Ir à solução Resolvido por aphawk,

Posts recomendados

Fala pessoal, sou programador há 6 anos, e nesses dias eu estava a procura de cursos para complementar as horas extras que a minha faculdade (faculdade de analise de sistemas) pede, acessando o portal udemy (que é aceito pela minha faculdade), realizando uma pesquisa por lá vi alguns cursos que sempre tive interesse de fazer (construir hardwares em conjunto com o conhecimento de programação que eu já tenho), pois sempre tive interesse em fazer algo a mais alem do mundo virtual.

 

Lá eles ensinam a usar a plataforma arduino e raspberry pi, vi a capacidade dessas duas placas e fazendo uma pequena referencia ela me lembra muita uma placa-mãe com um processador integrado e com varias portas aonde podemos encaixar outros modulos.

 

Pesquisando na internet eu cai em uma das postagens desse forum, na qual falava sobre "Como construir um drone com um arduino", link da postagem, nele eu vi coisas interessantes como:

 

Citação

....Não conheço arduino (e acho que não quero conhecer. arduino... é para os fracos. rs) mas um mc tende a ser mais leve....

Citação

Já vi gente batendo no peito e dizendo "Eu sou programador de Embarcados" e tudo que o cara fazia era digitar "digitalWrite()" naquela IDE e olhar um LED piscar... Não tinha nem Ideia do que era o Registrador DDR e nunca tinha pego um Datasheet na mão.... É realmente triste!!

 

É exatamente nesse ponto que eu queria chegar, se o arduino/raspberry pi é "para os fracos" (eu sei que ele não é fraco, mas entendi o que ele falou) quais seriam os "para os fortes"?

 

Quando eu imagino "para os fortes" eu imagino mais ou menos isso aqui: uma plataforma aonde contem uma bateria, microcontrolador, fios, resistores, capacitores... mas que não possui uma placa já pre-programada, com uma IDE pronta e um hardware já montado que possua entradas. Seria isso? ou estou errado?

 

 

Link para o comentário
Compartilhar em outros sites

Opa, @Micilini!

 

Cara, acho que o que você procura chama-se Microcontroladores.

 

Os microcontroladores são CI's que já veem com diversos componentes como um microprocessador, memória ram, memória rom, osciladores de frequência, conversores A/D etc...

 

Eles são amplamente utilizados e servem para fazer quase tudo nesse mundo eletrônico.

Você pode programá-los em linguagens como C, Basic...

 

Acho que os mais conhecidos são os PIC...

Você também pode pesquisar por Atmel AVRs

 

Mas aconselho dar primeiro uma olhada nos Arduínos devido a grande facilidade na hora de gravar o seu programa no chip e a vasta gama de tutoriais na internet.

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Solução

@Micilini ,

 

Bom, vou tentar te passar uma ideia mais genérica primeiro.

 

Você está habituado a programar para um computador. E o que define um computador hoje ?

- uso de um microprocessador potente (acima de 1 Ghz de clock, e vários núcleos de processamento)

- grande capacidade de memória ( gigabytes de Ram.... ) podendo ser usada tanto para programas como para dados.

- Não precisa receber ou transmitir informações de outros hardwares além do que pode ser usado na Internet.

 

Um Raspberry Pi se encaixa na definicão de um pequeno computador, pois embora o processador não seja tão potente, ele é bem mais potente do que um microcontrolador, tendo até saida de vídeo HDMI !!!!

 

Agora, o que é um microcontrolador ?

 

- baseado em um microprocessador de baixa velocidade (geralmente abaixo de 100 Mhz) com apenas um núcleo de processamento.

- um conjunto de eletrônica interna capaz de realizar diversas operações de I/O diferentes, que permite ser configurado de várias maneiras conforme a nossa necessidade

- possui poucos pinos se comparado a um microprocessador ( por exemplo 40 pinos, enquanto um microprocessador moderno tem várias centenas de pinos ), os quais podem ser configurados com várias funções diferentes conforme a necessidade

- Pouca memória Ram ( quase sempre abaixo de 2K ), e pouca capacidade de memória de programa ( raramente acima de 64K ).

- Baixo consumo de energia, para poder ser alimentado com baterias ou pilhas.

- Não precisa de saída de vídeo.

 

Então, acho que agora posso te responder melhor....

 

Um Arduíno é uma plataforma de desenvolvimento, baseada em microcontroladores da Atmel. O mais famoso é o Arduíno Uno. Roda a 16 Mhz. Tem capacidade para programas de até 32Kbytes, e a memória Ram é de cerca de 2Kbytes.

 

Como programador de desktop, voce deve ter programas compilados cujo executável muitas vezes passam de 10 Mbytes.... 

 

Com os microcontroladores, terá de fazer programas mais de 100 vezes menores, e para isso utilizamos linguagens mais simples, como o C ou o Assembler. É um desafio enorme fazer programas sofisticados com tão pouca memória !

 

Eu, por exemplo, uso o hardware do Arduíno Uno, mas não uso a IDE do Arduíno, eu programo em Basic e misturo Assembler quando preciso de tempos muito críticos.

 

Não considero um Arduíno lento, mas claro que não daria para fazer um jogo sofisticado que gerasse vídeo também com ele. 

 

Mas já conseguiram simular dois antigos computadores com ele : um Sinclair ZX81, e um Apple II !!!!!

 

Repare que um Arduíno pode controlar um Hexacóptero , e manter ele no ar sem nenhuma interferência humana !!!!!  

 

Portanto, não pode ser considerado "lento" ....

 

Agora, tudo depende de o quê que você quer fazer.... 

 

Paulo

 

 

  • Curtir 4
  • Amei 1
Link para o comentário
Compartilhar em outros sites

Entendi pessoal, obrigado pelas dicas @aphawk e @densyy, ja que tocou no assunto da memoria e da capacidade de armazenamento, eu tive uma duvida, eu ja imaginava que a plataforma do arduino não tinha muito estrutura, sendo assim, acredito que é uma coisa complicada para aumentar a memoria ou a capacidade de armazenamento.

 

Se considerarmos não utilizar a plataforma arduino, e fazer sem ela (como na imagem que eu tinha postado) acredito que deve haver uma maneira de sei lá, conectar uma memoria dessas de computador ddr2, ddr3, ou ate mesmo arrumar uma maneira de conectar um intel celeron, atom, core i5, e esses por ai a fora.

 

Exemplo, vamos supor que eu gostaria de criar uma calculadora simples, e não usar a plataforma arduino ou raspberry pi, e sim fazer sem ela... so que no caso eu gostaria de usar um chip intel core i7 nessa minha calculadora, isso seria possivel? (Desconsidere a necessidade de usar um chip desses em uma coisa tão simples e que pode ser feita com a plataforma, so quero saber mesmo se é possivel ou não, porque dependendo da resposta vai ficar mais claro o meu entendimento sobre esse mundo de eletronica)

 

Desculpe, mas é que estou iniciando, e não sei aonde dá para ir rs

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Micilini ,

 

Bom.... Se vocē conseguir comprar o chipset e os quase uma dúzia de pequenos CI's especializados ( ou seja, você vai fazer uma motherboard !!! ), na teoria sim, seria possível. Mas na prática, esqueçe isso, pois é melhor voce comprar uma motherboard prontinha e usar ela !

 

Paulo

 

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

"fracos" no sentido que é muito fácil pois tem tudo mastigado bibliotecas, hardwares e afins. Pode até ter "crianças" envolvidas e sério. É sério...Fala sério! Claro serve pra qualquer "idade". Tem até arduino no espaço. Falando nisso, k entre nós, penso ser uma excelente plataforma de lançamento pra você começar a calejar 1 pouco as mãos. ou melhor...

4 horas atrás, Micilini disse:

(construir hardwares em conjunto com o conhecimento de programação que eu já tenho), pois sempre tive interesse em fazer algo a mais alem do mundo virtual.

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • 4 anos depois...
Em 21/08/2016 às 16:05, aphawk disse:

@Micilini ,

 

Bom, vou tentar te passar uma ideia mais genérica primeiro.

 

Você está habituado a programar para um computador. E o que define um computador hoje ?

- uso de um microprocessador potente (acima de 1 Ghz de clock, e vários núcleos de processamento)

- grande capacidade de memória ( gigabytes de Ram.... ) podendo ser usada tanto para programas como para dados.

- Não precisa receber ou transmitir informações de outros hardwares além do que pode ser usado na Internet.

 

Um Raspberry Pi se encaixa na definicão de um pequeno computador, pois embora o processador não seja tão potente, ele é bem mais potente do que um microcontrolador, tendo até saida de vídeo HDMI !!!!

 

Agora, o que é um microcontrolador ?

 

- baseado em um microprocessador de baixa velocidade (geralmente abaixo de 100 Mhz) com apenas um núcleo de processamento.

- um conjunto de eletrônica interna capaz de realizar diversas operações de I/O diferentes, que permite ser configurado de várias maneiras conforme a nossa necessidade

- possui poucos pinos se comparado a um microprocessador ( por exemplo 40 pinos, enquanto um microprocessador moderno tem várias centenas de pinos ), os quais podem ser configurados com várias funções diferentes conforme a necessidade

- Pouca memória Ram ( quase sempre abaixo de 2K ), e pouca capacidade de memória de programa ( raramente acima de 64K ).

- Baixo consumo de energia, para poder ser alimentado com baterias ou pilhas.

- Não precisa de saída de vídeo.

 

Então, acho que agora posso te responder melhor....

 

Um Arduíno é uma plataforma de desenvolvimento, baseada em microcontroladores da Atmel. O mais famoso é o Arduíno Uno. Roda a 16 Mhz. Tem capacidade para programas de até 32Kbytes, e a memória Ram é de cerca de 2Kbytes.

 

Como programador de desktop, voce deve ter programas compilados cujo executável muitas vezes passam de 10 Mbytes.... 

 

Com os microcontroladores, terá de fazer programas mais de 100 vezes menores, e para isso utilizamos linguagens mais simples, como o C ou o Assembler. É um desafio enorme fazer programas sofisticados com tão pouca memória !

 

Eu, por exemplo, uso o hardware do Arduíno Uno, mas não uso a IDE do Arduíno, eu programo em Basic e misturo Assembler quando preciso de tempos muito críticos.

 

Não considero um Arduíno lento, mas claro que não daria para fazer um jogo sofisticado que gerasse vídeo também com ele. 

 

Mas já conseguiram simular dois antigos computadores com ele : um Sinclair ZX81, e um Apple II !!!!!

 

Repare que um Arduíno pode controlar um Hexacóptero , e manter ele no ar sem nenhuma interferência humana !!!!!  

 

Portanto, não pode ser considerado "lento" ....

 

Agora, tudo depende de o quê que você quer fazer.... 

 

Paulo

 

 

 

Opa @aphawk, beleza?

 

Tava buscando sobre tecnologias semelhantes ao Arduino e encontrei essa sua resposta.

Embarquei em um projeto que o pessoal ta apanhando nisso. Criamos uma máquininha de controle de eventos para a empresa, tipo uma maquininha de cartão crédito/débito, só que pra bater o crachá e com isso automatizar o controle de pessoal nos eventos.

Já fizemos uma primeira versão e está funcionando muito bem, porém o problema é que um dos requisitos é que a maquininha tenha login e senha pra ter esse usuário controlador da máquina, e percebemos que com o Arduino não é possível fazer essa tela de login... Pode me dar um direcionamento? De programas que poderiam atender a esse requisito?

 

 

  • Confuso 1
Link para o comentário
Compartilhar em outros sites

4 horas atrás, alvaroxssz disse:

Já fizemos uma primeira versão e está funcionando muito bem, porém o problema é que um dos requisitos é que a maquininha tenha login e senha pra ter esse usuário controlador da máquina, e percebemos que com o Arduino não é possível fazer essa tela de login... Pode me dar um direcionamento? De programas que poderiam atender a esse requisito?

 

Não sou o @aphawk mas eu posso sugerir o uso de um Orange Pi (a versão One talvez).

Já usei para fins parecidos, no caso com o Orange Pi comunicando com os microcontroladores.

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

@alvaroxssz ,
 

Oras, dá sim 👍 

 

Uma solução legal seria usar uma tela sensível ao toque, você pode delimitar “áreas” na tela como se fosse um teclado, e assim ao primeiro toque do usuário na tela você faz o desenho de um teclado nela e captura a digitação usando o sensor de toque.

 

Existem displays desse tipo com tecnologia I2C ou SPI , que usariam poucos pinos de seu Arduíno. Eu recomendo usar SPI porque é mais rápido, ainda mais alterando a velocidade padrão do Arduino no SPI usando um pequeno truque que tem nos Atmegas.

 

Ou você pode usar um desses novos displays inteligentes que fazem quase tudo para você, basta você enviar comandos via serial em alta velocidade e o display executa todo o trabalho pesado para você...  o problema é que esses displays são bem mais caros !


 

Estes inteligentes são bem conhecidos e você encontra alguns modelos aqui no ML :

 

https://nextion.tech/basic-series-introduction/

 

A IDE deles permite você escrever tudo no próprio display, desenhar as telas,

fazer a leitura do toque, e depois

você simplesmente envia comandos curtos de forma serial e o display se vira !

 

Já este aqui é do tipo serial sensível ao

toque: 

 

https://loja.wilsolucoes.com.br/display-open-smart
 

Barato mas o trabalho pesado de software tem de ser feito todo pelo Arduino e acaba sendo grandinho para se incluir num projeto com o Arduino Uno, porque as libraries são bem grandinhas ...

 

Tem muita informação sobre usar

esses displays com touchscreen em projetos com Arduino, basta dar uma pesquisadinha no Google, ok ?
 

Espero ter ajudado !

 

Paulo

 

  • Curtir 2
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
14 horas atrás, Carlos Zanon disse:

Não sou o @aphawk

eu muito menos que ambos mas me permita opinar...

Concordo que se libertar do paradigma arduino pode ser um pouco traumático de início mas existe vida além dele. P.ex. a série stm32 da st... 32bits, memória flash e ram enormes, velocidade altíssima, altas libs prontas inclusive as de seu projeto e um monte de etc e o mais importante: o preço é uma fração dos atmega. Ah e também é arduinizável... viu arduino blue pill nos links de cima?

Se bem que pra este seu projeto eu (eu) optaria por 1 esp32 😉

  • Curtir 2
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@if. ,

 

Preferia seu old nick .....

Esse projeto pode ser feito com muitas famílias de microcontroladores,  até o Esp8266 atende sossegado.

 

Mas o autor tem de levar em conta a quantidade de informações disponíveis para facilitar o projeto. 

Não tem como negar que existe 100 vezes mais informações e programas free disponíveis para a plataforma Arduino do que para todas as outras plataformas, isso pesa bastante para quem está iniciando na área.

 

É uma questão de escolha , e ele tem de levar em conta uma coisa : onde encontrar um suporte razoável para os Esp32 ou os STM32 ?
 

Mesmo aqui no CDH não ví ninguém com experiência se apresentar para isso, mas para Pics e Arduínos temos algumas pessoas bem capacitadas.

 

Se fosse um projeto para produzir milhares de peças, eu também iria de STM32 pelo custo final, embora eu teria de contratar um programador para isso kkkkk.

 

Paulo

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Em 10/09/2020 às 12:33, alvaroxssz disse:

Já fizemos uma primeira versão e está funcionando muito bem, porém o problema é que um dos requisitos é que a maquininha tenha login e senha pra ter esse usuário controlador da máquina, e percebemos que com o Arduino não é possível fazer essa tela de login... Pode me dar um direcionamento? De programas que poderiam atender a esse requisito?

 

 


você não descreveu o que está usando agora. Mas como disse que está funcionando, creio que você tem um teclado (talvez numérico) e um display (que pode ser até um lcd só de digitos)

 

É perfeitamente possivel você criar um código fixando um login (9999 ou 0000), ou ainda algo tipo segura a tecla 9 ou 0 por 10 segundos que abre a tela de login que você quer.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Me lembro que fiz um daqueles tokens de autenticação, antigamente usados por bancos em formato físico (hoje alguns são no app do celular), usando um display desses aqui:

[spoiler]image.png.d4c7234627b8a497941dd59d1cad1946.png[/spoiler]

São bem pequenos... Eu usei um algoritmo do google autenticator + um daqueles relógios rtc.

 

[spoiler]image.png.876188591938f30eff321b5af5504d02.png[/spoiler]

 

O Artigo está em italiano, mesmo assim, recomendo a leitura: http://www.lucadentella.it/totp-libreria-per-arduino/

 

Eu nunca cheguei ao ato de montar ele numa plaquinha perfurada, ficou apenas na minha protoboard, meu objetivo era testar se dava pra fazer a autenticação usando esses algoritmos no Arduíno e eventualmente fazer a abertura da porta, que da acesso a minha casa (garagem -> corredor da casa) usando isso, mas não dei continuidade. Minha ideia era deixar o gerador dos códigos no celular e usar os códigos na tela do celular para validar com o do Arduíno.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Carlos Zanon ,

 

Esse display é Oled, com o chipset SSD1306 se não me engano, é bem legal. 
 

O módulo relógio deve ser o DS3231, outro módulo que funciona muito bem .

 

Eu sugeri um display LCD ou TFT que tenha tela touchscreen pois facilita muito em vez de adicionar mais um conjunto de teclado com os números...

 

Montar isso tudo em plaquinha perfurada é tranquilo, eu faço sempre isso antes de partir para a PCB.

 

Sobre esse seu projeto, gostei da ideia da autenticação...

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

4 horas atrás, aphawk disse:

@Carlos Zanon ,

 

Esse display é Oled, com o chipset SSD1306 se não me engano, é bem legal. 
 

O módulo relógio deve ser o DS3231, outro módulo que funciona muito bem .

 

Eu sugeri um display LCD ou TFT que tenha tela touchscreen pois facilita muito em vez de adicionar mais um conjunto de teclado com os números...

 

Montar isso tudo em plaquinha perfurada é tranquilo, eu faço sempre isso antes de partir para a PCB.

 

Sobre esse seu projeto, gostei da ideia da autenticação...

 

Paulo

Oi Paulo,

Peço desculpas porque acabei não vendo que sugeriu o uso do display touch, para o autor do tópico eu concordo que é a melhor opção.

 

Na época eu pensei em deixar 3 formas de autenticação, sendo uma a nível físico.

  1. Uso daqueles cartões rfid de proximidade;
  2. Uso desse modo de autenticador google;
  3. Chave para abrir;

Numa primeira degustação com esses equipamentos, eu não me senti confiante em nível técnico afim de implementar. Foi de apenas experimentar, motivo pelo qual deixei de canto a implementação.

 

Para a resolução de certas intempéries, mais pesquisa é necessária antes do fato de implementação. Mas funcionou bem a nível Arduíno, a leitura do RFID + o GAuth.

 

  

36 minutos atrás, vtrx disse:

Eu comprei um display desses(OLED),é muito pequeno,esta mais para fazer um relógio de pulso Smart.

 

Eu achei bem pequeno também. Tanto que hoje, está "aposentado" em casa, eu não tenho muita utilidade pra ele. Algumas coisas com interface pequena, ele pode vir a funcionar bem.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Se não quiser abandonar a sua placa pode aprender a programar o ATMega328P, o microcontrolador do Arduino Uno, em C puro e usando os registradores, como é feito na maioria das outras arquiteturas. Com o passar do tempo pode abandonar a IDE do Arduino e fazer tudo chamando as ferramentas da "toolchain" AVR.

 

Se quiser outras arquiteturas com uma grande variedade de placas prontas com programadores integrados, "toolchain" livre, e bastante documentação há: MSP430, focada em baixo consumo de energia, ARM Cortex-M0, mais completa, e os próprios AVR da Atmel, hoje da Microchip.

  • Curtir 2
  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...