A Franzininho foi desenvolvida para as atividades dentro do FAB LAB Livre SP durante o Arduino Day São Paulo. O circuito foi projetado pensando na fabricação usando as CNCs presentes nos LABs ou através de processo de corrosão de PCI caseiros. Mas você também pode mandar fazer a placa em empresas especializadas na produção de PCI, ou até mesmo montar em uma protoboard ou placa padrão.
O projetos é open hardware e está disponível no github sob licenças CC-SA-4.0.
Você pode reproduzir, modificar, montar na sua casa, FABLAB, makerspace, etc. A proposta é que todos possam montar o seu Arduino, entender como funciona o circuito e usar a criatividade para aplicar e criar novos circuitos e projetos.
Vamos conhecer os detalhes da Franzininho!
O hardware
O circuito da Franzininho não é nada de outro mundo. Ele foi baseado nas placas Arduino Gemma, Disgispark, que usam o ATtiny85 como microcontrolador e são programadas na IDE Arduino. O projeto foi desenvolvido no Eagle, veja o seu esquemático:
Conforme exibido na figura 1, a Franzininho possui um hardware bem enxuto. Para facilitar a produção, a placa foi desenvolvida em face simples e os componentes são todos PTHs. A seguir é exibido o layout da PCB.
A placa possui dois LEDS, um para indicar a alimentação (ON) e outro para uso geral, ligado ao pino PB1 do ATtiny85 (esse LED que geralmente usado para o blink).
O conector USB foi feito na placa para reduzir custo de fabricação, porém para que tenha um bom encaixe no computador é necessário que a PCB tenha espessura de 2,4 mm.
Também há um botão de RESET para facilitar na hora da gravação.
A tabela a seguir exibe a lista de componentes da placa:
Tabela 1 - Lista de materiais da Franzininho
Referência |
Descrição |
C1 |
Capacitor Cerâmico 100 nF x 50 V |
C2 |
Capacitor eletrolítico 10 uF x 35 V |
D1 |
Diodo Zener 3,6 V 0,5W |
D2 |
Diodo Zener 3,6 V 0,5W |
D3 |
|
IC1 |
microcontrolador ATTINY85 - 20PU |
SQ1 |
Soquete Para CI Torneado 8 pinos |
JP3 |
Barra de pinos estampada 15 mm 1x40 180º |
LED |
Led 3mm Amarelo Difuso |
PWR |
Led 3mm Verde Difuso |
R1 |
Resistor 5% de Tolerância 1/4W CR25 68 R |
R2 |
Resistor 5% de Tolerância 1/4W CR25 68 R 1/4 W |
R3 |
Resistor 5% de Tolerância 1/4W CR25 1K5 1/4 W |
R4 |
Resistor 5% de Tolerância 1/4W CR25 1K 1/4 W |
R5 |
Resistor 5% de Tolerância 1/4W CR25 1K 1/4 W |
RESET |
Chave Tactil 6x6x4 mm |
A figura a seguir exibe o 3D da placa gerado na ferramenta 3D BRD Viewer:
Pinagem
Para facilitar a customização e uso do microcontrolador, todos os pinos do ATtiny85 estão disponíveis no header de I/Os. A figura a seguir exibe os pinos e a tabela 1, suas respectivas funções:
Tabela 2 - Pinagem Franzininho
PINO |
ATTINY |
Entrada analogica |
PWM |
I2C |
SPI |
Alt Função |
P0 |
PB0 |
PWM0 |
SDA |
MOSI |
||
P1 |
PB1 |
PWM1 |
MISO |
LED |
||
P2 |
PB2 |
A1 |
SCL |
SCK |
||
P3 |
PB3 |
A3 |
USB+ |
|||
P4 |
PB4 |
A2 |
PWM4 |
USB- |
||
P5 |
PB5 |
A0 |
RESET |
Se você utilizar o bootloader da Arduino Gemma, o pino P5 será usado como pino de RESET. Assim, se este pino for colocado em nível zero, a placa será reiniciada e entrando em modo bootloader. Essa funcionalidade é importante para o upload do código através da IDE Arduino.
Caso use o bootloader Micronucleus (usado no Digispark), o pino P5 funciona como I/O e pode ser usado para aplicações. A placa só entra em modo bootloader quando é alimentada.
Software
A Franzininho pode ser programada diretamente na IDE Arduino. Para facilitar o processo de upload do .hex, vamos gravar o bootloader da Arduino Gemma e programar a Franzininho como se faz com ela.
O processo de gravação do bootloader no ATtiny85 exige um Arduino UNO como programador. Confira o excelente tutorial escrito pelo Mauricio Jabur no Fazedores: Attiny85 com V-USB: Como gravar o bootloader usando Arduino
Caso tenha dúvida para a gravação do bootloader, deixe seu comentário na seção de comentários abaixo.
Após a gravação do bootloader, vamos testar a programação da placa na IDE do Arduino.
O primeiro passo é configurar a IDE para a correta gravação da placa. Selecione a placa Arduino Gemma:
Agora selecione o Programador Arduino Gemma:
Pronto, a IDE está preparada para programação da Franzininho. Vamos ao nosso exemplo.
Hello World, blink led
Para nosso exemplos vamos fazer o famoso blink LED, com algumas alterações:
/*
Hello World, Franzininho!
primeiro programa para a Franzininho
Por: Fábio Souza
*/
const byte LED = 1; //pino do LED
void setup() {
pinMode(LED,OUTPUT);
}
void loop() {
for(int i = 0;i<5;i++) //pisca o LED 5 vezes com instervalos de 100 ms
{
digitalWrite(LED, HIGH); // liga o led
delay(100); // espera 100 ms
digitalWrite(LED, LOW); // apaga led
delay(100); // espera 100 ms
}
for(int i = 0;i<2;i++) //pisca o LED 2 vezes com instervalos de 1000 ms
{
digitalWrite(LED, HIGH); // liga o led
delay(1000); // espera 1000 ms
digitalWrite(LED, LOW); // apaga led
delay(1000); // espera 1000 ms
}
}
Para fazer o upload para a Franzininho é necessário seguir os passos abaixo:
1 - Compilar o código. Se a compilação for realizada com sucesso, passar para o próximo passo. Caso contrário, corrigir o código e compilar novamente:
2 - Iniciar o upload para a placa. Após pressionar o botão de upload, inserir a Franzininho na porta USB do computador:
Se tudo ocorrer bem, o upload será feito com sucesso:
O LED da Franzininho começará a piscar, conforme as instruções do código. O video que você encontra neste link exibe o processo de gravação do sketch.
Materiais de Suporte
Drivers para Windows: https://learn.adafruit.com/adafruit-arduino-ide-setup/windows-setup
Setup no Linux: https://learn.adafruit.com/adafruit-arduino-ide-setup/linux-setup
Setup Mac OSX: https://learn.adafruit.com/adafruit-arduino-ide-setup/mac-osx-setup
Montagem da placa e material para oficinas
Está disponível um material para facilitar as atividades com a Franzininho. Esse material foi elaborado de forma colaborativa e sempre será atualizado: Material para oficinas com a Franzininho
O Video neste link exibe a montagem da placa.
Conclusão
A placa Franzininho nasceu com o propósito de facilitar a criação de placas Arduino, assim como a sua antecessora, Franzino. Ambas são projetos baseados em placas já existentes, porém com placa de fácil fabricação e componentes fáceis de comprar e montar. É um projeto simples e acessível.
Ainda tem muito o que melhorar no circuito e outros recursos podem ser acrescentados à placa. Por ser um projeto open hardware e estar disponíveis os arquivos tanto para fabricação quanto para modificação, acredito que virão muitas contribuições, tanto no hardware quanto no software. Fique à vontade para usar, modificar e contribuir.
Se tiver alguma sugestão, crítica ou dificuldade, deixe seus comentários abaixo. Caso tenha interesse, participe do grupo de discussão sobre o projeto Franzininho no Facebook.
Agradecimentos e colaborações
- Ao Thalis Antunes pelo apoio inicial ao projeto no Arduino Day;
- Ao Embarcados pela divulgação;
- A Rede Fab Lab Livre SP que fizeram as primeiras placas durante o Arduino Day;
- A todos que participaram do pedido em forma colaborativa, que viabilizou a fabricação das primeiras PCI com acabamento profissional;
- Ao Giovanni Bauermeister pela versão do projeto no Kicad (Já está no repositório do github);
- Ao Felipe Neves pelo FranzininhoOS (está em desenvolvimento)
- Ao Pedro Bertoleti pelo port do tickAttack para a Franzininho (confira o projeto:TickAttack e Franzininho - controlando um robô sob rodas)
- Ao Daniel Quadros pela colaboração no tutorial para montagem da placa
- A todos que de alguma forma colaboraram e colaboram para o projeto Franzininho.