Está na moda o conceito Internet of Things, que se refere à capacidade de interagir com dispositivos físicos, obtendo informação/métricas (e.g., temperatura, humidade, etc.) e enviando comandos/acções (e.g., abrir porta, ligar ar condicionado, etc.).
O conceito, que não é novo, implica colaboração entre profissionais de electrónica, programadores e até DBAs. Este workshop é adequado para programadores e DBAs que têm poucos conhecimentos de electrónica, dando-lhes uma introdução à utilização de Arduino (actualmente referido como Genuino na Europa), uma das mais conhecidas plataformas de electrónica utilizada nesta área.
A plataforma Genuino, tornou-se bastante popular ao longo dos anos, sendo uma das plataformas mais usadas em projectos de IoT e automação, tanto pelo seu baixo custo como pela sua capacidade de processamento e de I/O (input/output). Para os leitores que estão menos familiarizados com este tema, o Genuino é análogo da marca Arduino.cc, tendo sido criado pelos co-fundadores do Arduino Massimo Banzi, David Cuartielles, Tom Igoe e David Mellis. Na prática, o Genuino é usado para as boards vendidas fora dos EUA.
Isto é, a marca Genuino certifica também a sua autenticidade com a filosofia de hardware aberto e de código aberto que sempre caracterizou os valores do Arduino. As placas Genuino e Arduino partilham os mesmos componentes e as mesmas características. São as mesmas boards, mas a “marca” do circuito é determinada pelo país. O Arduino é comercializado dentro dos EUA e o Genuino fora dos EUA.
Uma das tarefas mais comuns quando se trabalha com aquisição de dados, é a representação dos mesmos em gráficos, de forma a serem mais facilmente interpretáveis pelo utilizador. Na verdade seja para um uso de hobbie, seja para uma utilização mais científica ou profissional, na maior parte dos casos, acabamos quase sempre por preferir a leitura gráfica dos dados, o que nos permite rapidamente uma noção mais ampla do contexto visível.
Como é do conhecimento do leitor, hoje em dia existe uma grande quantidade de dispositivos que transmitem dados via USB, usando conversão USB – Série, para a transmissão dos dados adquiridos, referentes a um ou mais parâmetros num contexto ou ambiente. No entanto o que a maioria dos dispositivos tem em comum, é a forma como transmite os dados para o computador, normalmente usando um cabo USB ou série e transmitindo os dados em formato de texto simples. Ao longo deste artigo irá ser apresentado o código para receber dados de um conjunto de quatro sensores independentes, ligados a um mesmo dispositivo que os transmite via RS232 e posterior apresentação em modo gráfico, usando a linguagem Python e a biblioteca matplotlib, para nos desenhar o gráfico em tempo “quase real”. (Para os mais distraídos a transmissão via RS-232 é um padrão de protocolo para troca serial de dados binários entre um DTE – Data Terminal Equipment e um DCE – Data Communication Equipment. Normalmente usado nas portas série dos computadores.)
Recentemente a tão conhecida marca Arduino , fundada por Massimo Banzi, David Cuartielles, Tom Igoe e David Mellis e toda uma comunidade, sofreu uma mudança de nome, para os produtos destinados a outros mercados fora dos EUA, passando a usar o nome Arduino apenas nos EUA e o nome Genuino, em todos os restantes mercados. Falo em marca, pois não se refere apenas a uma board, mas a toda uma “marca” de circuitos baseados em microcontroladores e projectos com base numa mesma filosofia de open-hardware. Não me alongando mais sobre o tema, esta mudança teve origem numa questão legal, que é muito bem apresentada por Maximo Banzi, no keynote que apresentou na Maker Fair e pode ser visto no youtube. Assim sendo, de agora avante, neste artigo, o circuito anteriormente conhecido por Arduino, será designado por Genuino.
Um dos mais comuns e mais falados problemas de segurança de um sistema de informação são as passwords sem “qualidade” muitas vezes motivadas pela dificuldade de memorização das mesmas.
De forma a enquadrar o leitor, cada password deve ter um comprimento adequado e preferencialmente não ser previsível. Por exemplo, uma password como 1979aMelhorGeracaoDeSempre! (27 caracteres), é previsível se considerarmos que o utilizador nasceu em 1979 e possivelmente falará imenso desse facto gabando a sua geração. Neste caso, apesar de ser fácil de memorizar, é relativamente simples de “adivinhar”, ou melhor deduzir, por parte de alguém que pretenda obter acesso ao sistema no qual o utilizador em causa usa esta password.
Por outro lado, passwords com qualidade como: zb8@g-DMK&7@%pRyhE45DhbbPs$!angSRhHNUenBpu4AZ4+$KLA-gcJFYfdwV=yN$RXw6TmD-YTpBf9?dWRkRAXu35XhwE=d*!vt53-m8dq34fmr?cCAv#k#u*gsSdgg (128 caracteres), apesar de serem praticamente impossíveis de deduzir, são demasiado complexas para serem memorizadas, tornando o seu uso difícil e praticamente inviável.
O mundo da tecnologia é motivado e “limitado” pela imaginação de cada um. Desta feita o artigo desta edição prende-se com a ligação de um micro-controlador Arduino ao conhecido Game Engine Unity.
O objetivo deste artigo é explicar como proceder à ligação de um micro-controlador Arduino ao Unity e usar este como uma espécie de “comando” para o jogo criado no Unity. Será um exemplo extremamente simples que resultará no controlo de um simples sprite no eixo do X sem qualquer animação especial.
Ando há anos a tentar vender a ideia, de que na automatização de pequenos processos industriais, é possível substituir os autómatos por pequenos microcontroladores, no meu caso o Arduino. As vantagens são suficientemente aliciantes para avançar com estes projectos :
Baixo custo do microcontrolador (Arduino, cerca de 40€)
Linguagem muito perto do C , com muitas librarias para os mais diversos fins.
O que vos mostro de seguida, é um processo industrial real, que uma equipa na qual eu participei construiu e pôs em funcionamento, com um orçamento inferior a 1000€.
Longe vão os tempos em que os computadores possuíam quantidades irrisórias de memória RAM quando comparadas com os dias de hoje. Falo sim em quantidades na ordem dos kbytes de memória.
Actualmente os programadores descuram um pouco essa afinação e optimização na alocação de memória das suas aplicações, mas ainda existe um pequeno grupo onde ainda é necessário optimizar ao pormenor a alocação de memória, refiro-me então às áreas da robótica e electrónica, de um modo geral na utilização de micro-controladores.
Nesta edição irei evoluir um pouco mais as funcionalidades demonstradas no artigo publicado na edição 39 sobre o Accionamento de Servos Usando Arduino apresentando agora um artigo sobre o accionamento e controlo de servos usando o teclado do computador como input das acções pretendidas.
Desta forma será possível controlar a acção dos servos usando a interface das teclas do teclado para a definição das acções.
Para a implementação e controlo dos servos usando o teclado não é necessário efectuar qualquer alteração ao esquema eléctrico apresentado no artigo da edição 39, bastando apenas usar a tecnologia Processing como interface de ligação entre o utilizador e o micro-controlador Arduino.
Tal como tenho vindo a fazer nas últimas edições, vou continuar a mostrar algumas das capacidades do micro-controlador Arduino.
Nesta edição apresento um artigo que aborda a movimentação e controlo de servos através do Arduino, algo muito útil para quem quer abordar mais a parte física de um projecto de robótica e electrónica.