Pular para o conteúdo principal

Aprenda diversos conceitos interagindo com o mascote do Android



No mundo da programação, geralmente nos deparamos com diversos conceitos, siglas e plataformas que ainda não faziam parte do nosso vocabulário. Mesmos os desenvolvedores mais experientes passam por esta etapa. Ainda mais quando uma nova onda invade o ambiente de estudo: a internet das coisas. Junto com ela, o conceito de make yourself, placas de prototipação como arduino e diversos mini-pcs, o mais famosos deles o Raspberry Pi.
Neste pequeno artigo pretendo mostrar de forma prática o que são e para que servem estas 4 palavras: arduino, adk, protoboard e sensores. Para tornar o aprendizado mais animador proponho um código que irá ligar os olhos do robozinho verde símbolo da plataforma Android.
Começaremos pelo arduino. Esta placa, usada principalmente para prototipação de projetos eletrônicos , teve um enorme sucesso. Prova disso é o recente interesse da gigante Intel, e a criação do Intel Galileo, baseado justamente neste produto italiano criado por Mássimo Banzi.
O arduino é um projeto open-source e open-hardware, resultante da união entre uma placa antecessora chamada Wiring e uma linguagem de programação chamada de Processing. Na figura abaixo temos o Arduino Uno na parte inferior e o Iteaduino ADK na parte superior.

O Arduino Uno é baseado no microcontrolador ATMega 328, um dos mais comuns no mercado. Perceba que na parte superior encontram-se 14 portas digitais mais um terra (gnd) e um aref. Na parte inferior a esquerda temos portas de entrada de energia, mais dois terras e reset. Na parte inferior a direita temos 6 portas analógicas.
Porém, perceba que uma placa arduino sem nenhum componente adicional não tem nenhuma utilidade. É neste momento que entram os sensores. Estes, captam dados e informações do mundo externo, propiciando que programadores desenvolvam uma lógica computacional encima dos mesmos. Por exemplo, com um sensor de luz e um sensor de presença podemos criar um sistema de alarme residencial extremamente confiável.
Dependendo do sensor a ser utilizado saberemos quais portas devemos utilizar. Por exemplo, um simples LED usa uma porta digital e uma porta terra. Já um sensor de luz, por exemplo, é um sensor analógico e deve ser ligado nos pinos mencionados na parte inferior direita do Arduino Uno.
Voltando a imagem anterior, na parte superior temos um Arduino Mega. Visualmente já percebemos uma quantidade muito maior de portas analógicas e digitais. Além disso, ele também tem um microcontrolador ATMega 2560, e também podemos encontra-lo usando o ATMega 1258. A mudança é na memória ROM Flash. O 328 tem 32Kb, o 2560 tem 256Kb.
O Arduino Mega também é a base para o Adk (Accessory Development Kit), uma placa criada pelo Google para que desenvolvedores criassem hardware para smartphones Android. O ADK possui um protocolo específico (AOA Protocol) que pode ser usado para troca de dados via serial ou bluetooth entre um aplicativo Android e a placa Arduino.
Para unir todos estes conceitos vamos à codificação da placa. Será usado um sensor de presença ultrassônico, semelhante ao mostrado abaixo. A idéia é que ao aproximarmos algum objeto do sensor os olhos do mascote do Android, desenhado no ADK, se acendam.

Perceba que ele tem quatro “perninhas”, nomeadas com VCC, Trig, Echo e GND. O VCC é o sinal de 5V, o Echo e o Trig devem ser colocados em portas digitais. E o GND é o ground, ou terra. O problema é que no arduino estas portas não estão localizadas lado a lado, para que possamos simplesmente acoplar o sensor na placa. É neste momento que entra em ação a protoboard.
A protoboard é mostrada na figura abaixo. Ela apresenta diversos tamanhos e formatos. Neste projeto utilizei a versão mini. Mas independente da versão, todas apresentam furos conectados verticalmente, como mostra a Figura.

Agora veja como conectamos o sensor de proximidade a protoboard e esta, por sua vez, ao arduino adk.

O fio preto está ligando o terra do sensor a porta terra do adk. Os dois fios azuis estão ligando o echo e o trigger as portas digitais 11 e 12. O fio laranja liga o VCC do sensor ao pino 5 volts do ADK.
Depois disso veja o código Arduino (para baixar a ide acesse www.arduino.cc).

#include <NewPing.h>
#define TRIGGER_PIN  12
#define ECHO_PIN     11
#define MAX_DISTANCE 200

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

unsigned int distancias[5];
int qtdLeu = 0;

void setup() {
  pinMode(18, OUTPUT);
  pinMode(19, OUTPUT);
}

void loop() {
  unsigned int uS = sonar.ping();
  unsigned int cm = (uS / US_ROUNDTRIP_CM);
 
  if (qtdLeu < 3){
    distancias[qtdLeu] = cm;
    qtdLeu++;
  } else {
    distancias[0] = distancias[1];
    distancias[1] = distancias[2];
    distancias[2] = distancias[3];
    distancias[3] = distancias[4];
    distancias[4] = cm;
   
    int media = (distancias[0] + distancias[1] + distancias[2] + distancias[3] + distancias[4]) / 5;
   
    if (media < 15){
      digitalWrite(18, HIGH);
      digitalWrite(19, HIGH);
    } else {
      digitalWrite(18, LOW);
      digitalWrite(19, LOW);
    }
  }
}

O experimento em funcionamento pode ser visto neste link.
Espero ter demonstrado de forma prática o que significa cada palavra mencionada no início deste pequeno artigo. Qualquer dúvida ou sugestão comente o post que respondo assim que possível. Obrigado
Att - Ricardo

Comentários

Postagens mais visitadas deste blog

Você já pensou em ser palestrante em algum evento ?

Você já deve ter participado de algum evento e pensado como deve ser legal ser palestrante... E para falar a verdade, é muito bom mesmo. Eu adoro, o Vinicius adora e conheço muitas pessoas que curtem cada minuto da participação no evento como palestrante. Com certeza é uma responsabilidade a mais. Você sente medo, adrenalina, tem que se preparar. Literalmente coloca a cara a tapa para qualquer pessoa te avaliar em todos os sentidos. Qual o seu tom de voz?  Seus slides são legais? Você manja mesmo ?  Seu português está ok?  E as palavras em inglês ?  Teve algum deslize técnico? E MUITO mais.  Mas é claro que a exposição tem dois lados... e os resultados podem ser ótimos. Normalmente conhecemos mais pessoas como palestrantes e podem surgir boas oportunidades de negócio. É sempre positivo ter uma nova referência positiva quando as pessoas buscam nosso nome no Google, podemos fazer a diferença para quem está assistindo a palestra e muito mais.  No The Developer's

TDC ONLINE: SUA PLATAFORMA DE PALESTRAS GRAVADAS DO TDC DISPONÍVEL

Além do conteúdo ao vivo transmitido online nas edições do TDC, agora você pode ter acesso à centenas de palestras gravadas, através da nossa nova plataforma de vídeos - o TDC Online, que reúne todas as Trilhas premium, Stadium e Salas dos Patrocinadores das edições anteriores de 2022, TDC Innovation e TDC Connections.  Para acessar, basta clicar na edição em que você participou ( TDC Innovation ou TDC Connections ); Fazer o mesmo login (com e-mail e senha) cadastrados na hora de adquirir ou resgatar o seu ingresso no TDC; E clicar na Trilha de sua opção, e de acordo com a modalidade do seu ingresso. Logo em seguida, você será direcionado para a seguinte página com a lista de todas as palestras por Trilha: Pronto! Agora você tem acesso à centenas de palestras gravadas da sua área de interesse, para assistir como e quando quiser! Caso tenha esquecido a senha, clique na opção "Esqueci a senha" , insira o e-mail que você realizou para o cadastro no evento, e aparecerá a op

TDC INNOVATION lança University Pass

Modalidade de ingresso tem como objetivo ajudar na capacitação dos universitários Uma pesquisa realizada em 2020 pela Associação Brasileira das Empresas de Tecnologia da Informação e Comunicação (Brasscom) diz que até o ano de 2024 o Brasil precisará de cerca de 420 mil profissionais na área de Tecnologia da Informação. Porém, por ano, a mesma pesquisa diz que o país forma apenas 46 mil profissionais capacitados no nicho. Pensando nisso, para ajudar na formação e capacitação desses jovens profissionais, o TDC INNOVATION, segunda edição do ano do The Developer's Conference, lança o University Pass, modalidade de ingresso que possibilita aceso digital gratuito a todas as palestras do evento, ou com 50% de desconto para quem preferir ir pessoalmente. Com o tema central “Desafios para a criação do futuro Digital”, o TDC INNOVATION ocorrerá entre 1 e 3 de junho, de forma híbrida: presencialmente no Centro de Convenções CentroSul, em Florianópolis, e com transmissão simultaneamente pela

TDC Digital: o que você precisa saber para transformar sua carreira em 2022

O TDC Digital é o maior evento de TI do mercado e proporciona crescimento profissional a partir de palestras com especialistas e oportunidades de networking com o mundo todo, direto da sua casa. Através da escolha individual de cada participante é possível obter experiências imersivas e transformadoras conforme o tema-chave de cada trilha.  O evento também é o lugar ideal para ajudar no desenvolvimento de carreiras, permitindo que qualquer pessoa com vontade — e um tema interessante — seja palestrante e compartilhe suas experiências e conhecimentos. Para aqueles que querem  participar como ouvinte a plataforma do TDC favorece conferências dinâmicas, e o encontro de diversas comunidades e ecossistemas de TI. E, após a escolha de uma trilha, fica mais fácil acompanhar especialistas para aprender e se inspirar. Em 2021, o The Developer’s Conference (TDC) foi 100% digital e, em três dias de evento, contou com mais de 300 horas de conteúdos , incluindo: Agile; Testes; Design; Web e Mobile;

Segurança da informação no alvo: o que esperar do futuro?

A segurança da informação não se trata apenas de proteger os dados contra acesso não autorizado. Na prática, refere-se aos recursos que impedem: uso; registro; inspeção; divulgação; interrupção; modificação; destruição de dados. O uso de dados pode abranger desde um perfil nas redes sociais a detalhes financeiros, biometrias ou novos projetos. Por isso, a preocupação com a proteção dos dados é crescente, tanto para empresas quanto clientes. Para muitas pessoas, a coleta de dados é considerada invasão de privacidade, criando desconfiança do titular dos dados, pois o uso dos dados pode ser facilmente corrompido, utilizado para fins não declarados. Apesar de o uso dos dados terem impulsionado os avanços tecnológicos na última década, as organizações lidam com o desafio de distinguir dados de informações pessoais de modo a proteger a privacidade e as preferências dos clientes. Neste artigo, abordaremos o impacto da segurança da informação e o que esperar do futuro. Confira casos conhecido

Inspire a mudança com a liderança ágil

A liderança ágil é essencial para que uma organização realize mudanças de negócios significativas. Ser líder é uma tarefa desafiadora, especialmente em um cenário de constantes transformações, principalmente na forma de lidar com a relação empresa e pessoal. Pesquisas sobre liderança na era digital revelam que algumas soft skills têm sido substituídas por outras, o profundo conhecimento na área de negócio, ser referência nas tecnologias utilizadas, ter foco total no prazo e nas entregas e conhecer um arsenal de técnicas e ferramentas, têm dado espaço a habilidades, como: empatia; adaptabilidade; visão e propósito; engajamento constante; senso de equipe.   A colaboração entre pessoas de todos os níveis hierárquicos são vitais, afinal, as equipes estão trabalhando para o mesmo objetivo: o encantamento e atendimento das necessidades do cliente que proporcionarão um crescimento sustentável da organização. Com propósito claro, estratégia e prioridades definidas, os times desfrutam de uma