Pular para o conteúdo

Posts da Categoria ‘Dicas’

8
jun

Tutorial para montagem de “Caixa Inútil” (Useless Box)

Este tutorial serve pra você, apaixonado por eletrônica, montar sua caixa inútil, no formato e com o material que estiver à sua disposição, como você pode facilmente achar alguns layouts para impressão, e desenvolver com papelão, de forma mais pratica, ou desenvolver com uma caixa de madeira que foi o caminho que escolhemos. É um projeto simples em seu desenvolvimento, e demanda de poucos materiais.

Material:

01 arduino (uno R3,  nano, etc)

02 servos 180° – usado foi o 9G DXW 90 Tower Pro

01 LM7805

01 BD 139

01 Capacitor 330uf 16V

01 Capacitor 470 16V

01 Fonte 7,5Vdc

01 placa ilhada 12,9 x 2

01 caixa a sua escolha

01 ursinho, a sua escolha. Uma dica, quanto mais fofinho, e olhos grandes melhor o resultado.

Fios de Jumper

Na internet, existem outros tutorias que ensinam montar caixas sem o ursinho, só com o braço mecânico. Para começar a montagem, calculamos o espaço que o arduino iria ocupar junto com o braço e o arduino, conseguimos posicionar no centro da caixa. A preparação do ursinho é a parte mais dolorosa.

fotos1

A cabeça do urso fica colada na tampa e o tecido preto, serve para dar um acabamento quando a caixa estiver funcionando. Agora montamos o urso e o arduino para definir o tamanho dos suportes, disposição da placa e do botão.

fotos2

Para facilitar, montamos gabaritos em papel para depois poder fazer as montagens. Você não vai acertar as posições de primeira, no nosso caso foram montados 3 gabaritos antes de acertar no tamanho da pata. Depois da peças montadas, botão fixado, cabeça do urso colada, o resultado será este.

foto3

Detalhes importantes, o tecido da pata foi usado o tecido do braço do ursinho, sobre conjunto para fazer a abertura da tampa, vários tutorias usam somente uma madeira deslizando pela tampa, optamos por algo fixo na tampa, mais trabalhoso, porém não corre o risco da tampa cair sozinha durante os movimentos ou de ser aberto manualmente. Terminado a parte mecânica, agora montamos o arduino e suas ligações.

Os servos, até podem ser alimentado pelo próprio arduino, porém não é recomendado, ideal é usar alimentação externa, por isso que usamos capacitor na 470 uf antes do LM 7805 e na saída um de 330uf montados numa placa ilhada para ficar organizado. Depois da caixa montada, os servos quando energizados se deslocavam para a posição de 90 graus e acabavam por se trancar, para isso não acontecer, foi montado um transistor BD139 como chave (enable) dos servos.

foto4

Para o arduino, saem os pinos de controle dos servos, da chave alavanca, da base do BD139. Voce vai começar a programar e vai alterando os angulos dos servos, evite batidas fortes das peças ou que os servos trabalhem forçados de mais, isso vai evitar desgate ou quebra dos servos.

 

Para Poupar tempo ou servir como exemplo, segue o programa usado. As interações podem ser programadas como você bem entender. Nosso programa foi programado para ter 5 interações diferentes e após isto, o programa se encerra.

/*

* Projeto caixa inútil – Unsless box

*

* Projeto desenvolvido por Venancio Miranda e Proesi Componentes

*

* Material:

* 02 servos 9g dxw90

* 01 chave MTS alavanca L/D

* 01 BD 139

* 01 LM 7805

* 01 Capacitor 330uf 16V

* 01 Capacitor 470uf 16V

* 01 placa ilhada 12,9 x 2

*/

#include <Servo.h>

#define enablePin  11

#define botao      10

#define servo_pata  9

#define servo_tampa 8

// Posições da tampa

#define fecha   152

#define meio     70

#define abre      0

#define bate    165

#define fresta  140

#define Tbatida 100

// Posições pata

#define guarda 180

#define aceno   60

#define desl    10

boolean limite = true;

int count = 0, button = 0 , enable = 0;

Servo pata;

Servo tampa;

// Função que orienta posição dos servos e delay entre nova movimentação

void comando (Servo nome_servo,int grau ,int tempo)

{

nome_servo.write(grau);

delay(tempo);

}

 

void setup()

{

pinMode(botao , INPUT_PULLUP);

pinMode(enablePin , OUTPUT);

digitalWrite(enablePin,LOW);

 

pata.attach(servo_pata);

tampa.attach(servo_tampa);

}

 

 

void loop()

{

while(limite)                     //While que executa limite de execuções

{

digitalWrite(enablePin,LOW);

button = digitalRead(botao);

 

if(button == LOW)

{

switch(count)                 // contagem e sequencia dos movimentos

{

case 0:

digitalWrite(enablePin,HIGH);

delay(500);

comando(tampa , abre , 750);

comando(pata , desl, 1000);

comando(pata , guarda , 1000);

comando(tampa, fecha , 2000);

count++;

break;

 

case 1:

digitalWrite(enablePin,HIGH);

delay(1000);

comando(tampa , meio, 2000);

comando(tampa, fecha, 1000);

comando(tampa , abre , 1000);

comando(pata , desl, 1000);

comando(pata , guarda , 1000);

comando(tampa, fecha , 2000);

count++;

break;

 

case 2:

digitalWrite(enablePin,HIGH);

delay(2000);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , abre , 1000);

comando(pata , desl, 1000);

comando(pata,aceno,300);

comando(pata,desl,300);

comando(pata,aceno,300);

comando(pata,desl,300);

comando(pata,aceno,300);

comando(pata,desl,2000);

comando(pata , guarda , 1000);

comando(tampa, fecha , 2000);

count++;

break;

case 3:

digitalWrite(enablePin,HIGH);

delay(3000);

comando(tampa , abre , 750);

comando(pata , desl, 1000);

comando(pata , guarda , 1000);

comando(tampa, fecha , 1500);

comando(tampa , abre , 1500);

comando(pata,desl,300);

comando(pata,aceno,300);

comando(pata,desl,300);

comando(pata,aceno,300);

comando(pata,desl,2000);

comando(pata,guarda,1000);

comando(tampa, fecha , 2000);

comando(tampa , meio, 2000);

comando(tampa, fecha, 1000);

count++;

break;

 

case 4:

digitalWrite(enablePin,HIGH);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

comando(tampa , fresta , Tbatida);

comando(tampa , bate   , Tbatida);

 

comando(tampa, abre, 750);

comando(tampa, bate, 750);

comando(tampa, abre, 1250);

comando(pata , desl, 1000);

comando(pata , guarda , 1000);

comando(tampa, fecha , 2000);

limite = false;                         //encerra while

break;

}

}

}

}Nosso resultado final foi este, já com os devidos acabamentos.

foto5

7
abr

BBC micro:bit

Milhares de crianças no Reino Unido estão aprendendo a programar com este computador portátil, barato e fácil de usar.

No ano de 2015 a emissora estatal inglesa BBC (British Broadcasting Corporation) anunciou uma iniciativa chamada Make It Digital que, nas palavras de seu diretor-geral Tony Hall, tinha como objetivo “inspirar os visionários digitais do futuro”. Parte desta iniciativa, modelada em esforços passados da BBC, era a criação de um computador portátil barato, fácil de programar e versátil o suficiente para que pudesse ser integrado a uma série de projetos relacionados ao cotidiano de seus usuários. Nascia aí o BBC micro:bit.

O BBC micro:bit é uma eompacta, versátil e poderosa ferramenta para despertar o interesse dos jovens por programação e eletrônica.

BBC micro:bit é uma máquina barata, versátil e, mais importante, muito fácil de usar. A placa de circuitos, que é exposta para atiçar a curiosidade sobre seu funcionamento, tem um conector micro USB para alimentação e transferência de dados a partir de um PC, conector para bateria externa (2 pilhas AAA), um botão de RESET, dois botões de ação (A e B) e um pequeno display composto por 25 LEDs vermelhos arranjados em uma grade de 5 x 5, que podem ser usado para mostrar texto ou imagens.

O BBC micro:bit é compacto e muito versátil

Os pinos dourados são contatos que podem ser usados para conexão de períféricos externos, como sensores ou motores. O micro:bit já tem uma variedade de sensores integrados, como termômetro, luxímetro (intensidade luminosa), magnetômetro (campos magnéticos) e acelerômetro (movimento e aceleração), ou seja, pode ser usado em uma variedade de experimentos sem a necessidade de componentes extras.

Fones de ouvido podem ser conectados com clipes aos pinos 0 e GND para produção de sons e música. Uma interface Bluetooth permite a comunicação com tablets, smartphones e computadores, ou entre vários micro:bit.

Programando o micro:bit

Programar um micro:bit é muito fácil. Em microbit.org/code há dois ambientes de programação disponíveis, ambos rodando dentro do navegador e sem necessidade de instalação de qualquer software em um computador. O JavaScript Blocks Editor é a melhor opção para iniciantes: o usuário cria programas combinando blocos de código pré-definidos, organizados de acordo com a função: controle dos LEDs, dos botões, sensores, música, etc.

Para programar o micro:bit basta um computador com acesso à internet.

A qualquer momento é possível alternar o modo de visualização e ver os blocos como código na linguagem JavaScript, a mesma que é usada em milhares de apps na web como o GMail. Assim um iniciante pode aprender a programar usando blocos de código e, à medida em que se familiariza com o ambiente, migrar para o JavaScript e de quebra ganhar fluência e experiência em

uma linguagem usada no mercado profissional.

Um ponto interessante do JavaScript Blocks Editor é que ele inclui um simulador de micro:bit, para que você possa ver em tempo real o resultado do código que está escrevendo. Com isso você pode desenvolver mesmo que não tenha um micro:bit por perto.

Outra opção é o editor PythonPython é uma linguagem de programação bastante poderosa mas ainda assim muito fácil de aprender. Com ela, é possível usar todos os recursos do JavaScript Blocks Editor e também recursos mais avançados, como síntese de voz, armazenamento local de dados, comunicação em redes e muito mais.

A aparência é mais “assustadora”, com comandos em branco sobre um fundo preto, mas não se deixe intimidar: a linguagem tem uma sintaxe próxima do inglês cotidiano e é construída de forma a minimizar os erros do programador. Infelizmente o editor Python não tem um simulador integrado, então para ver o resultado de seu código você precisará de um micro:bit.

Transferindo programas

Após criar seu programa em um dos dois editores de código disponíveis, clique no botão Download para fazer o download dele para seu computador. O resultado é um arquivo com a extensão .hex, que deve ser transferido para a placa.

Para isso, basta conectá-la ao computador usando um cabo micro USB. Um “drive” chamado MICROBIT irá aparecer no gerenciador de arquivos e basta arrastar o arquivo .hex para ele. Um LED amarelo ao lado do botão de RESET no micro:bit irá piscar durante a transferência do programa, que deve levar no máximo alguns segundos.

Infinitas possibilidades

Compacto e fácil de programar, o micro:bit oferece inúmeras possibilidades. Ele pode ser um crachá eletrônico, um contador de passos, um game portátil ou o que mais você imaginar. O código abaixo em JavaScript Blocks o transforma em um termômetro que mostra continuamente a temperatura. Experimente rodar e colocar seu micro:bit ao sol, ou dentro da geladeira, e veja os resultados na tela em tempo real.

Este pequeno trecho de código em Javascript Blocks transforma o micro:bit em um termômetro digital.

Com o micro:bit sequer podemos usar o velho clichê de que o céu é o limite, pois não é. Uma escola primária na Inglaterra usou vários micro:bit, além de alguns sensores externos, para coletar dados em uma missão à fronteira do espaço em um balão meteorológico.

Organização: Equipe Proesi.

Fontes: BBC – Reino Unido | Educacional – Brasil

%d blogueiros gostam disto: