Quando desligamos um dispositivo microcontrolador, os dados armazenados em sua memória de acesso aleatório se perdem. Muitos projetos, porém, exigem o armazenamento de algumas informações para uso posterior, ou simplesmente para continuar de onde o dispositivo parou, quando uma queda de energia faz o dispositivo reiniciar, por exemplo. O microcontrolador do Arduino possui uma memória EEPROM (Electrically-Erasable Programmable Read-Only Memory, em português Memória Programável Somente para Leitura Apagável Eletricamente). Essa memória é capaz de armazenar dados mesmo sem energia, mas é importante lembrar que as operações de gravação e deleção só podem ser feitas por um número de vezes limitado, algo entre 100.000 e 1.000.000 de vezes, o que já vem a ser o bastante para boa parte dos projetos. Os microcontroladores ATmega328 possuem EEPROM de 1024 bytes, o ATmega168 e o Atmega8 possuem 512 bytes. A gravação na EEPROM é feita utilizando-se a biblioteca <EEPROM.h> e enviando-se byte a byte para a memória. Considere, porém, que isso não faz da EEPROM uma memória a ser utilizada da mesma forma que a RAM, onde você escreve as variáveis do seu programa. O procedimento de escrita na EEPROM é mais demorado, e, como já dissemos anteriormente, não pode ser usado infinitamente. E se seu projeto exige uma quantidade maior de dados armazenados de forma persistente, a melhor opção será a memória flash, presente nos cartões SD.
Mostrando postagens com marcador Atmel. Mostrar todas as postagens
Mostrando postagens com marcador Atmel. Mostrar todas as postagens
quarta-feira, 9 de setembro de 2015
quarta-feira, 2 de setembro de 2015
Dispositivo: ATtiny84 - uma opção de meio termo!
Já postamos aqui no blog sobre o ATtiny85, e agora gostaríamos de apresentar um outro microcontrolador da família Atmel. Apesar do número em seu nome ser menor que 85, o Attiny84 é um meio termo entre o ATmega328 (usado nos Arduinos e Genuinos), e o ATtiny85 (usado na GEMMA). O Attiny84 vem em versões com 2k, 4k ou 8K Bytes de memória flash programável (com uma vida média de 10mil ciclos de escrita e reescrita). O que o situa entre um chip intermediário é o número de pinos de entrada e saída que, neste dispositivo, são apenas 12. Possui também um espaço de memória EEPROM (aquela memória persistente para guardar informações mesmo depois de desligado) que pode ser reescrito até 100mil vezes e você ainda pode usar sua placa Arduino para programar o chip usando a mesma IDE. Em termos de opção de projeto, é mais um dispositivo dentro do universo de plataformas que você terá à sua disposição. Sua similaridade aos dispositivos já conhecidos fazem dele um excelente candidato a projetos mais simples e pode representar uma boa redução de custos em seus projetos.
terça-feira, 1 de setembro de 2015
Etapas de Projeto: Escolhendo uma plataforma
Projetos
que usam plataformas de prototipagem, como os que mostramos aqui no
blog e os que apresentamos no www.natalmakers.com, possuem, cada um, suas características e finalidades próprias. Seja o universo de atuação do projeto ou sejam os indivíduos envolvidos, muitas coisas podem determinar a escolha de uma plataforma para desenvolvimento. Quem trabalha com software sabe que existem etapas bem definidas no desenvolvimento de um programa. Via de regra, é preciso de um tempo com a pessoa que encomendou aquele programa, para poder entender o que é que, de fato, a pessoa precisa. Algumas vezes, nem mesmo ela sabe o que quer, isso porque as soluções que podem resolver o problema dele estão na mente do projetista. Então é um trabalho de aprendizado contínuo que passa por conversas e mais conversas. E a cada vez se descobre mais, muita coisa é refeita, e é preciso evitar, ao máximo, o desperdício de tempo. Com hardware embarcado é similar, mas é preciso estar atento ao fato de que aqui estamos trabalhando com hardware e software, e isso pode trazer uma aumento de complexidade para o projeto. Que situações podem acontecer?
Escolher uma plataforma inadequada
Meu projeto é maior do que a plataforma suporta, ou ela é lenta demais para processar tudo o que ele pede. Por exemplo, sabemos que o clock do Arduino UNO é 16MHz. E agora eu quero trabalhar com processamento de imagens em tempo real. Seria essa a melhor escolha? Ou então eu quero armazenar dados de maneira persistente no Arduino UNO, que usa um ATMega328 (que possui 1024 bytes de EEPROM, uma memória que pode registrar informações mesmo quando o Arduino está desligado). Se a quantidade de informação cabe nesse espaço, é uma opção. Se não, devo partir para outra possibilidade.
Trocar de plataforma sem necessidade
Mesmo sabendo que a plataforma não possui os recursos que necessito para meu projeto, trocar de plataforma pode não ser a única opção. Existem os shields e módulos que servem para estender as funcionalidades do meu dispositivo. Nesse caso eu vou ter que tomar cuidado com a alimentação do dispositivo, porque colocar coisa demais e não fornecer energia suficiente também não é boa prática.
Serrar um graveto com uma serra elétrica
O oposto pode ocorrer. Posso estar querendo usar uma plataforma que possui recursos demais para fazer algo muito simples e que pode ser feito em uma plataforma menor e, certamente, mais barata. Existem muitas opções, e é preciso pesquisar e conversar.
Colocar shields e mais shields e mais shields...
Se uma plataforma não possui as funcionalidades que eu quero, comprar shields pode ser uma opção, mas antes disso posso ver outras plataformas que possuam a funcionalidade que eu quero já embutida. Isso ocorre muito em projetos que demandam comunicação sem fio. Algumas plataformas já trazem a comunicação embutida e muitas delas usam a mesma linguagem Wiring do Arduino para programação.
A solução não tem segredo: pesquisar, conversar, ler e descobrir a melhor opção.
quarta-feira, 26 de agosto de 2015
Mais um Adafruit: MintySyth Kit
Alguns dispositivos encantam pelo design do case também. É o caso do MintySyth da Adafruit. Este dispositivo (vendido desmontado, em forma de kit), foi criado para ser colocado dentro de uma lata de pastilhas Altoids. Altoids são uma marca de pastilhas de hortelã. A marca foi criada pela Smith & Company na década de 1780. O kit MintySynth é um ótimo dispositivo para projetos com música, e une esse prazer à experiência com eletrônica e programação. Open-source e customizável, o MintySynth é um kit Arduino-compatível. Lembrando que o kit é pra montar, então é uma boa oportunidade também para treinar habilidades com solda de estanho. A lata de pastilhas também é vendida separadamente.
segunda-feira, 24 de agosto de 2015
Bluetooth 4.0: Eis o LightBlue Bean!
O LightBlue Bean+ pode ser definido, essencialmente, como uma placa Arduino com um Bluetooth LE (Low Energy) integrado. Não somente para comunicação, mas é possível também programá-lo via Bluetooth. O time que está desenvolvendo o projeto prevê sua venda para início de dezembro desse ano. Abaixo seguem as funcionalidades do dispositivo:
- Acelerômetro de 3-eixos
- Sensor de temperatura
- LED RGB
- Bateria CR2032
- Microcontrolador ATmega 328p
- 8 MHz clock
- Voltagem de trabalho 3V
- 6 pinos digitais de Entrada e Saída
- 2 pinos analógicos
- Bluetooth LE periférico
- Programação Wireless
- Suporte para OS X, iOS e Windows 8
sábado, 22 de agosto de 2015
Comunicação USB embarcada: conheça o Arduino LEONARDO
Quando criamos algo, a idéia pode vir à frente do modo de implementação. Mas o contrário também acontece com frequência: quando enxergamos as possibilidades de um dispositivo, muitas idéias surgem. Por isso é necessário conhecer os limites e também a capacidade de várias plataformas e dispositivos, para que possamos escolher bem. O Arduino UNO é uma placa básica, mas é possível construir inúmeros projetos com ela e, mesmo assim, não exaurir o limite de possibilidades que ela traz. Mas existem outras versões do Arduino e a que trazemos hoje para apresentar possui propriedades bastante úteis em determinados projetos. O Arduino Leonardo utiliza o microcontrolador ATmega32u4 que já possui comunicação USB integrada. Isto permite que o Leonardo apareça, quando conectado a um computador, como um mouse ou um teclado USB. Esta funcionalidade é uma mão na roda quando se trata de comunicação com um PC. Projetos como, dispositivos de reconhecimento de voz para dar comandos a um computador, teclados alternativos (como um teclado para deficientes visuais, ou pessoas que tem algum tipo de debilidade física), mouses comandados por voz ou sensíveis a diferentes movimentos, e muitos outros, podem ser implementados com esse dispositivo. Além de ter uma pinagem similar ao UNO, que já é bastante conhecida.
domingo, 16 de agosto de 2015
Dispositivo: Conhecendo as partes do Arduino Uno
Dentre as diversas versões do Arduino, o Arduino UNO é a mais conhecida e talvez tenha sido a responsável pela maior parte da expansão e da popularização da plataforma. É possível comprar em diversos e-commerces versões diferenciadas de kits didáticos contendo diferentes sensores e componentes eletrônicos para os mais diversos tipos de projetos. Via de regra, os kits vendidos acompanham também tutoriais contendo os projetos que o maker pode implementar com aquele kit. Mas não é difícil encontrar na internet os tutoriais para inúmeros outros projetos. A placa padrão, traz as funcionalidades básicas da linha. Baseada no microcontrolador ATmega 328, possui 13 pinos de entrada e saida (I/O) digital do quais 6 tem suporte a PWM e 6 entradas analógicas ( normalmente utilizada para sensores ). O UNO é uma versão melhorada do Arduino Duemilanove. Veja na figura abaixo os diversos componentes da placa Arduino UNO (Clique para aumentá-la).
Projeto: ClimaDuino - Sistema de monitoramento climático distribuído
Como percebemos muitas vezes, analisando a natureza dos projetos e suas aplicações, o uso dos novos dispositivos embarcados extrapola todo e qualquer limite de campo de aplicação. Um dos campos mais interessante que ele alcança, permitindo um desenvolvimento que é capaz de mudar muitos conceitos e paradigmas, é o campo da pesquisa científica. O Grupo Open Hardware Brasil apresenta em seu blog o projeto Monitora Cerrado. Este projeto é de criação de uma rede de sensores distribuída para captação de dados climáticos formada pela junção de hardware e software livre, a parte de das estações é feitas com o hardware livre Arduino. Os dados são gerados pelas estações e enviados a um servidor central. O projeto tem embasamento no conceito de sistemas distribuídos, aplicando padrões de Internet das Coisas – (IoT - Internet of The Things).
O dispositivo que vemos na foto é uma versão reduzida do ClimaDuino, que utiliza o Attiny85 (aquele mesmo que já falamos aqui), DHT22 (um sensor de baixo custo para temperatura e umidade do ar) e Bluetooth. O ClimaDuino é o hardware físico que faz as medições e coletas de dados como temperatura, umidade, pressão atmosférica dentre outras medições possíveis. Clique no link se deseja conhecer mais o projeto e também ver o tutorial completo de como montá-lo, configurá-lo e implementá-lo.
quarta-feira, 12 de agosto de 2015
Adafruit Bluefruit LE Micro
Para quem precisa de comunicação Bluetooth para seu projeto, a Adafruit lança mais uma opção: a placa Bluefruit LE Micro. A placa une um Atmega32u4 (o mesmo microcontrolador usado no Arduino Leonardo) mais a SPI Bluefruit LE Friend , da própria Adafruit. O Bluetooth Low Energy é um protocolo Bluetooth que já vem incluso nos novos smartphones e tem a vantagem de ser o único protocolo sem fio que você pode usar com iOS sem a necessidade de certificação especial. Isso faz dessa placa uma excelente opção para o uso em projetos portáteis que farão uso de um telefone ou tablet iOS ou Android. Além disso, você pode programá-la através de uma conexão USB utilizando a própria IDE do Arduino. O Atmega32u4 trabalha a uma frequência de 8MHz e 3.3V de potência, compatível com a grande maioria dos sensores disponíveis no mercado. Possui mais de 20 pinos GPIO, incluindo I2C, SPI, UART, e 6 entradas analógicas. Possui 28KB FLASH disponível para o armazenamento do seu programa, e 2 kB de RAM.
domingo, 9 de agosto de 2015
Attiny85
Projetos baseados em plataforma devem atender a requisitos do projeto, mantendo sempre alguma folga em relação ao potencial necessário de processamento e memória. Trocando em miúdos, antes de iniciar a implementação de um projeto, deve-se verificar se a plataforma escolhida é capaz de processar e armazenar os dados completamente. Existem diversas plataformas, contendo diferentes configurações de memória e microcontrolador. Ao escolher uma plataforma, o projetista deve ter em mente todas as necessidades do projeto, como quantidade de sensores utilizados, rapidez do processamento, unidades de saída, etc. O ATtiny85 pode ser utilizado para substituir um Arduino em projetos de menor porte. Ele é um microcontrolador 8-bit Atmel com tecnologia AVR, possui 8 portas, 8K de espaço de programa memoria, 512 bytes de SRAM e EEPROM, seis linhas de I/O, 4 canais ADC de 10 bits, e Clock 20MHz.
Assinar:
Postagens (Atom)









