1. Integrantes do grupo
| Nome | Matrícula |
|---|---|
| Giovanni Alvissus Camargo Giampauli | 211043647 |
| Larissa Gomes Silva | 211031092 |
| Mauricio Machado Fernandes Filho | 200041959 |
| Rafael Brito Bosi Rodrigues | 211029559 |
2. ArcBotics Sparki
O ArcBotics Sparki é um robô educacional baseado em Arduino, projetado para ensinar programação, eletrônica e robótica de forma acessível e divertida. Equipado com sensores como ultrassônico, acelerômetro, magnetômetro, sensores de luz e de linha, além de atuadores como motores de passo, display LCD, LED RGB e buzzer, o Sparki permite a realização de atividades como seguir linhas, evitar obstáculos, resolver labirintos e desenhar formas. Compatível com linguagens de programação em blocos e C/C++, oferece mais de 100 lições gratuitas online, sendo amplamente utilizado em escolas e programas STEM para alunos do ensino fundamental ao universitário. Seu design open-source e a possibilidade de expansão o tornam uma ferramenta versátil tanto para iniciantes quanto para entusiastas avançados.
Figura 1. Robô Sparki. Fonte [1].
Figura 2. Componentes do Sparki. Fonte [1].
3. Listagem de características:
1. Unidade de processamento:
O ArcBotics Sparki utiliza como unidade de controle principal a placa Arduino Leonardo, que é baseada no microcontrolador ATmega32U4 da Microchip Technology. O Arduino Leonardo é reconhecido por possuir uma interface USB nativa, permitindo comunicação direta com o computador sem a necessidade de um conversor USB-serial externo, como ocorre em outras placas Arduino. Ele opera com uma arquitetura AVR RISC de 8 bits e possui recursos adequados para controlar robôs educacionais, como o Sparki.
Figura 3. Esquemático - Arduino Leonardo. Fonte [2].
Figura 4. Pinout 1 - Arduino Leonardo. Fonte [2].
Figura 5. Pinout 2 - Arduino Leonardo. Fonte [2].
O Arduino Leonardo é o componente responsável por processar os dados dos sensores, controlar motores, e lidar com as entradas e saídas do robô. Embora o Leonardo — e, por consequência, o Sparki — não possua Bluetooth embutido, o robô vem preparado para conexão com um módulo Bluetooth externo via porta serial TTL, permitindo controle remoto via dispositivos móveis ou computadores com adaptador Bluetooth que vem junto do produto na caixa.
Figura 6. Incluidos com o Sparki. Fonte [1].
Tabela de Especificações do Microcontrolador
| Categoria | Especificação |
|---|---|
| Tipo de Unidade | Microcontrolador (MCU) |
| Modelo | ATmega32U4 |
| Fabricante | Microchip Technology |
| Arquitetura | AVR RISC de 8 bits |
| Frequência de Clock | 16 MHz |
| Núcleo Único | Sim — núcleo único responsável por todas as tarefas da aplicação |
| Capacidades de Comunicação Sem Fio (Rádio) | Não possui capacidades de rádio integradas (como BLE ou Zigbee); comunicação via módulos externos |
Referências:
Microchip - ATmega32U4
Arduino - Leonardo
Figura 7. Diagrama de Blocos - ATmega32U4. Fonte [3].
Figura 8. Pinout - ATmega32U4. Fonte [3].
2. Memória do ArcBotics Sparki (Arduino Leonardo / ATmega32U4)
| Categoria de Memória | Capacidade | Tipo | Observações |
|---|---|---|---|
| Flash | 32 KB | Não volátil | Armazena o código do programa; 4 KB são utilizados pelo bootloader. |
| SRAM | 2.5 KB | Volátil | Usada para variáveis temporárias e pilha (stack). |
| EEPROM | 1 KB | Não volátil | Usada para armazenar dados que persistem após desligar; ideal para configurações e calibrações. |
Referências:
Características complementares de memória:
O microcontrolador ATmega32U4 apresenta características avançadas de memória que aumentam sua confiabilidade e desempenho em sistemas embarcados. Ele suporta até 10.000 ciclos de escrita/apagamento na memória Flash e até 100.000 ciclos na memória EEPROM, garantindo durabilidade em aplicações com gravações frequentes. A retenção de dados também é notável: os dados permanecem válidos por 20 anos a 85°C ou 100 anos a 25°C, o que o torna ideal para sistemas que exigem armazenamento de longo prazo.
O chip ainda inclui um bootloader USB pré-programado, permitindo regravação da Flash diretamente via USB, sem necessidade de programadores externos. Também oferece uma funcionalidade chamada Read-While-Write, que possibilita a leitura de instruções de partes da memória Flash enquanto outras seções estão sendo escritas — recurso valioso em sistemas que exigem atualizações dinâmicas de firmware.
Por fim, o ATmega32U4 possui mecanismos de segurança por lock bits, que permitem bloquear a leitura ou escrita do conteúdo da Flash, protegendo o software embarcado contra cópias ou modificações não autorizadas.
Figura 9. Memoria - Sparki (Arduino Leonardo). Fonte [4].
3. Sistema Operacional - Sparki:
O ArcBotics Sparki não utiliza um sistema operacional tradicional[1], como um GPOS (General-Purpose Operating System) ou um RTOS (Real-Time Operating System). Em vez disso, opera diretamente sobre o microcontrolador ATmega32U4, que executa programas escritos em C/C++ por meio da plataforma Arduino Leonardo. Essa abordagem, conhecida como "bare-metal", significa que o código do usuário interage diretamente com o hardware, sem a intermediação de um sistema operacional. Isso proporciona maior controle sobre os recursos do microcontrolador e é ideal para aplicações educacionais e de aprendizado em robótica, como as oferecidas pelo Sparki.
Referências:
4. Sensores e Atuadores:
4.1 Sensores
O ArcBotics Sparki é equipado com uma variedade de sensores que permitem ao robô detectar e interagir com o ambiente ao seu redor. Entre os principais sensores presentes no Sparki estão:
- Sensor Ultrassônico: Utilizado para medir distâncias até obstáculos à frente do robô, funcionando por meio da emissão e recepção de ondas sonoras de alta frequência (40kHz). Permite que o Sparki evite colisões e realize navegação autônoma[37].
- Sensores Infravermelhos de Refletância (Linha): Localizados na parte inferior do robô, esses sensores detectam a presença de linhas escuras sobre superfícies claras, possibilitando a funcionalidade de seguir linhas (line following)[38][39].
- Sensor de Luz: Permite ao Sparki medir a intensidade luminosa do ambiente, podendo ser usado para seguir fontes de luz ou reagir a mudanças de iluminação[41].
- Acelerômetro de 3 eixos: Detecta movimentos e inclinações do robô, útil para identificar quedas, inclinações ou impactos[43].
- Magnetômetro de 3 eixos: Funciona como uma bússola digital, permitindo ao Sparki detectar o campo magnético da Terra e orientar-se em relação aos pontos cardeais[42].
- Receptor Infravermelho (IR): Permite receber comandos de um controle remoto, além de possibilitar comunicação com outros dispositivos compatíveis[38].
Esses sensores coletam dados do ambiente, como distância, luz, orientação e presença de linhas, enviando essas informações ao microcontrolador para processamento e tomada de decisão.
4.2 Atuadores
Os atuadores do Sparki são responsáveis por executar ações físicas a partir dos comandos recebidos do processador. Os principais atuadores presentes no robô são:
- Motores de Passo: Dois motores de passo controlam o movimento das rodas, permitindo locomoção precisa e controle de direção[44].
- Motor da Garra: Permite abrir e fechar a garra do robô para manipulação de pequenos objetos[45].
- Display LCD 128x64: Exibe informações visuais, gráficos e mensagens programáveis[46].
- LED RGB: Pode emitir luz em diferentes cores, servindo como indicador visual programável[47].
- Buzzer: Emite sons e sinais sonoros para feedback ou alertas[48].
Esses atuadores recebem sinais do microcontrolador e executam as ações físicas programadas, como movimentação, emissão de luzes e sons, ou exibição de informações no display.
4.3 Conexão com a MCU/MPU
Os sensores e atuadores do Sparki são conectados ao microcontrolador (MCU) ATmega32U4, presente na placa Arduino Leonardo, por meio de diferentes interfaces e barramentos:
- GPIOs (General Purpose Input/Output): Utilizados para conectar sensores digitais, botões e LEDs, permitindo leitura e controle direto de sinais digitais[2].
- Barramento I2C: Usado para comunicação com sensores que requerem troca de dados em dois fios, como alguns acelerômetros e magnetômetros[3].
- Barramento SPI: Pode ser utilizado para comunicação de alta velocidade com determinados módulos ou expansões[3].
- Entradas Analógicas (ADC): Permitem a leitura de sensores que fornecem sinais analógicos, como sensores de luz[2].
- PWM (Pulse Width Modulation): Utilizado para controlar a velocidade dos motores e a intensidade de LEDs[2].
- Porta Serial TTL: Permite a conexão de módulos externos, como o módulo Bluetooth, para comunicação sem fio[15].
Essa variedade de interfaces garante flexibilidade na integração de sensores e atuadores, além de possibilitar a expansão do robô com novos módulos e periféricos.o comunicação sem fio em dispositivos IoT.
5. Interfaces de Comunicação com fio
| Barramento / Porta | Uso no Sparki | Pinos (Leonardo) | Taxa típica | Observações |
|---|---|---|---|---|
| USB 2.0 Full-Speed | Programação e terminal serial virtual | D- (USB), D+ (USB) | 12 Mbit/s | A interface USB é nativa do ATmega32U4, dispensando conversor USB-Serial externo[12],[2] |
| UART (TTL 5 V) | Conector de expansão (TX/RX) – utilizado pelo módulo BT | TX¹, RX¹ (pinos 0/1) | Até 115 200 bps | Compatível com módulos HC-05/HC-06; pode ser roteada para outros dispositivos[11] |
| I²C | Comunicação com acelerômetro, magnetômetro e portas externas | SDA = D2, SCL = D3 | 100 kHz (std) / 400 kHz (fast) | Resistores de pull-up já soldados na placa[2] |
| SPI | LCD 128×64, cabeçalho ICSP e gravação ISP | MOSI, MISO, SCK, SS (ICSP) | Até 8 MHz | Usado pelo display ST7565 e pelo gravador ISP externo[49],[2] |
| Cabeçalho ICSP/ISP | Gravação de bootloader e depuração | 2×3 pinos | — | Compartilha barramento SPI do MCU |
| 16 Portas de expansão | GPIO analógico/digital, alimentação 5 V/GND | Lateral do robô | — | Permitem ligar sensores adicionais ou, por ex., um módulo microSD via SPI[15] |
Nota: todas as linhas de E/S operam em lógica 5 V. Recomenda-se conversão de nível para módulos de 3 V.
6. Interfaces de Comunicação sem fio:
O ArcBotics Sparki possui um sistema de comunicação sem fio multimodal baseado em três tecnologias principais[11]. O módulo Bluetooth serve como interface primária de comunicação bidirecional, permitindo programação e controle remoto através de dispositivos compatíveis[12]. O receptor IR (Infravermelho) trabalha com um controle remoto dedicado e inclui sensores de reflexão infravermelha na parte inferior do robô para detecção de superfícies e linhas de navegação[13]. O sensor ultrassônico, montado em base servo-controlada, utiliza ondas sonoras de 40kHz para medição de distâncias, com tempos de resposta entre 150μs e 25ms[14]. O Sparki oferece 16 portas de expansão para módulos adicionais como WiFi, embora não possua suporte nativo para tecnologias como ZigBee, LoRaWAN, UWB ou NFC[15].
Figura 10. Módulo Bluetooth - Sparki. Fonte [11].
Figura 11. Receptor Infravermelho - Sparki. Fonte [13].
Figura 12. Sensor ultrassônico - Sparki. Fonte [14].
7. Unidades de Entrada/Saída (I/O)
- 20 GPIOs totais (Leonardo) – 16 expostos no Sparki, sendo até 12 entradas analógicas (10 bits) e 7 saídas PWM (≈ 490 Hz)[2].
- Unidades dedicadas de I/O embarcadas:
- 2 drivers de motor de passo (roda esquerda/direita)
- Servo pan (ultrassom)
- LCD 128×64 (SPI)
- LED RGB + LED status
- Buzzer piezo (controlado por PWM)
- 5 botões de navegação (Cima/Baixo/Esq./Dir./OK) com pull-up interno
- Capacidade de corrente: 20 mA por pino (40 mA máx. absoluto), 200 mA total para o conjunto de portas[19].
8. Fonte de Energia e Sistema de Alimentação:
O sistema de energia do Sparki é construído ao redor de um conjunto de 4 pilhas AA, fornecendo uma tensão total de 6V, com suporte para pilhas alcalinas padrão e recarregáveis NiMH[16]. Uma entrada USB de 5V serve como fonte alternativa de energia, particularmente útil durante programação e desenvolvimento[17].
O gerenciamento de energia é realizado através de um sistema básico que inclui uma chave física liga/desliga e um LED indicador de status[18]. A proteção do circuito inclui salvaguardas contra inversão de polaridade, embora não conte com um PMIC (Power Management IC) dedicado[19].
O sistema de reset é implementado através de um botão físico dedicado que oferece duas funcionalidades principais: um modo de programação com espera de 8 segundos e a capacidade de reinicialização completa do sistema[20]. O sistema não incorpora um supervisor de energia dedicado para monitoramento de tensão, nem possui sistema de backup de energia para preservação de dados em caso de falha de energia[21].
Figura 13. Conjunto de pilhas - Sparki. Fonte [16].
Figura 14. Botão ligado/desligado - Sparki. Fonte [18].
Figura 15. Botão reset - Sparki. Fonte [20].
9. Firmware e Atualizações:
O ecossistema de software do Sparki é construído sobre duas plataformas principais: o SparkiDuino (versão 1.6.8.1) e o MiniBloq (versão 0.82.4)[22]. O SparkiDuino, baseado no ambiente Arduino, oferece uma interface de programação em C/C++ adaptada especificamente para as funcionalidades do robô[23]. O MiniBloq complementa esta abordagem com um sistema de programação visual por blocos, tornando a plataforma mais acessível para iniciantes[24]. A verificação de updates pode ser feito via acesso na página de downloads[27].
O processo de atualização é realizado exclusivamente via conexão USB, com o novo firmware sendo armazenado diretamente na memória flash do microcontrolador[25]. O sistema não suporta atualizações OTA (Over-the-Air), exigindo uma conexão física para qualquer modificação do firmware[26]. Os drivers do sistema, disponíveis para Windows na versão 1.0.5.4, garantem a compatibilidade com os sistemas operacionais modernos e facilitam a comunicação entre o computador e o robô durante o processo de programação e atualização[27].
10. Unidade de Proteção e Segurança
| Recurso | Implementação / Comentário |
|---|---|
| Proteção de alimentação | Diodo contra inversão de polaridade no compartimento de pilhas; poly-fuse resetável de 500 mA na linha USB[19] |
| ESD/Surge | TVS-diodes nas linhas USB; capacitores de desacoplamento nos barramentos de sensores[19] |
| Watchdog interno | Temporizador de 16 ms–8 s do ATmega32U4, configurável por firmware[3] |
| Lock-bits e Fuse-bits | Impedem leitura/exclusão não autorizada da Flash; suportam modo “Read-While-Write” protegido[3] |
| Pareamento Bluetooth | Módulo HC-05/HC-06 aceita PIN de 4 dígitos, podendo ser alterado pelo usuário[11] |
| Reset físico | Botão dedicado – reinicializa sem apagar EEPROM[20] |
Embora não exista um HSM ou criptografia de hardware, esses mecanismos oferecem proteção básica contra danos elétricos e sobrescrita acidental de firmware.
11. Armazenamento Externo
O Sparki não possui slot de cartão SD ou memória externa de fábrica; todo o código reside na Flash interna de 32 KB e dados persistentes em 1 KB de EEPROM. Entretanto, é possível:
- Conectar um microSD breakout ao cabeçalho de expansão (SPI) usando
SD.hdo Arduino - Adicionar EEPROMs ou FRAMs I²C de 8 KB–256 KB
Essas opções didáticas não elevam custo ou complexidade do kit[15].
12. Interface com o Usuário (UI)
| Elemento | Características | Função típica |
|---|---|---|
| LCD gráfico 128 × 64 px | Controlador ST7565 (SPI), retroiluminação | Exibir menus, variáveis de sensores, gráficos simples[49] |
| 5 Botões táteis | Cima, Baixo, Esquerda, Direita, OK | Navegação de menus, start/stop de programas |
| LED RGB | 24 bits, controlado por PWM | Feedback de estado (OK = verde, Erro = vermelho, BT = azul) |
| LED Status | Âmbar (ON/OFF) | Indicação de alimentação |
| Buzzer | Piezo; 31 Hz–8 kHz | Alertas sonoros, alarmes, músicas simples |
| Receptor + Transmissor IR | 38 kHz, controle remoto inclusо | Comandos a distância, detecção de obstáculos IR[13] |
| Garra servo-controlada | Suporte para caneta | Ações físicas (pegar objetos, desenhar) |
| Interruptor ON/OFF e RESET | Chave deslizante + push-button | Controle de energia e reinicialização rápida |
Figura 16. Tela LCD - Sparki. Fonte [49].
Esses componentes permitem criar interações ricas sem periféricos externos – desde menus no LCD até efeitos de luz/áudio sincronizados com movimentos do robô.
4. Artigos acadêmicos relacionados
4.1 Design and implementation of Line Follower Robot
O artigo Design and Implementation of a Line Follower Robot apresenta o desenvolvimento de um robô seguidor de linha autônomo capaz de detectar linhas pretas usando sensores infravermelhos (IR). O objetivo principal do estudo foi propor um robô que pudesse navegar em caminhos regulares, irregulares, tracejados e espirais.
A estrutura do robô é composta por três componentes principais:
- Módulo L298 (para controle dos motores)
- Placa Arduino UNO (para processamento)
- 12 sensores IR (9 para caminhos espirais e 3 adicionais para linhas tracejadas)
Os sensores IR são configurados de forma específica para permitir que o robô siga as linhas com o mínimo de erro. O módulo L298 ajusta a velocidade e direção dos motores, enquanto o Arduino UNO processa toda a lógica de controle.
Os resultados experimentais demonstraram que o robô conseguiu seguir satisfatoriamente diferentes tipos de trajetórias com alta precisão e baixo erro de rastreamento. O diferencial deste projeto está na configuração otimizada dos sensores e na capacidade de lidar com caminhos mais complexos como linhas tracejadas irregulares e espirais.
O artigo contribui para a área de robótica educacional ao detalhar uma implementação prática e eficiente de um robô seguidor de linha, sendo particularmente relevante para o Sparki que também utiliza sensores IR para seguimento de linha, embora com uma configuração diferente de sensores.
O Sparki, é um robô que tem como objetivo ensinar conceitos de programação e robótica. Entre as diversas capacidades que ele possui, a mais relacionada com o artigo é o line following/seguir linha, tendo lições aonde o estudante pode aprender sobre.
O robô apresentado no artigo compartilha uma base tecnológica comum no contexto educacional de robótica, especialmente na funcionalidade de seguimento de linha. Ambos utilizam sensores infravermelhos (IR) para detecção de linha e sistemas de controle baseados em Arduino, sendo o Sparki equipado com Arduino Leonardo e o robô do artigo com Arduino UNO.
A principal diferença reside na complexidade: enquanto o Sparki oferece uma configuração mais simples e acessível para iniciantes, o robô do artigo apresenta uma solução mais sofisticada com 12 sensores IR para navegação em caminhos complexos.\
Esta correlação ilustra perfeitamente a progressão natural do aprendizado em robótica educacional. O Sparki atua como porta de entrada, oferecendo uma plataforma amigável para o primeiro contato com conceitos de programação e robótica, incluindo o seguimento de linha básico. Por outro lado, o robô apresentado no artigo representa um próximo passo nesta jornada de aprendizado, demonstrando como os conceitos fundamentais aprendidos com o Sparki podem evoluir para implementações mais avançadas, incluindo a navegação em caminhos irregulares, tracejados e espirais.
4.2 Bluetooth Enabled Mobile Robot
O artigo explora a implementação da tecnologia Bluetooth em robôs móveis, apresentando uma arquitetura que permite que os robôs se movam autonomamente com algoritmos mais complexos e poderosos. O sistema proposto utiliza um servidor como "cérebro" principal, onde os dados dos sensores do robô são transmitidos, processados e, em seguida, comandos são enviados de volta para o robô. O projeto utiliza a placa controladora Handy Board MC68HC11 e segue as especificações padrão do Bluetooth para garantir a comunicabilidade entre diferentes dispositivos.
A implementação do sistema envolve tanto componentes de hardware quanto software. No hardware, o robô móvel é equipado com diversos sensores (incluindo sensores infravermelhos, encoders de motor, sensores de colisão, sonar, sensores de luz e temperatura) e utiliza dois motores DC para movimentação. O software inclui programas para comunicação entre o PC e o dispositivo Bluetooth, interface de controle do robô, e um protocolo HCI (Host Controller Interface) completo para estabelecer conexões e transmitir dados.
O módulo Bluetooth utilizado no projeto oferece vantagens significativas em comparação com outras tecnologias sem fio, como RF e infravermelho. O Bluetooth não é facilmente afetado por ruídos devido à sua característica de frequency hopping (1600 saltos por segundo) e não requer linha de visão direta para estabelecer comunicação, tornando-o mais prático para robôs autônomos.
O funcionamento do Bluetooth no sistema se baseia em uma arquitetura mestre-escravo, onde o PC atua como mestre e o robô como escravo. A comunicação é estabelecida através do protocolo HCI (Host Controller Interface), que gerencia três tipos principais de pacotes: pacotes de comando (do host para o módulo Bluetooth), pacotes de evento (do módulo Bluetooth para o HCI) e pacotes de dados (bidirecionais). O sistema utiliza pacotes de dados ACL (Asynchronous Connection-Less) para transmitir informações dos sensores e comandos de controle, permitindo transferências de até 64 kilobytes por pacote.
Em relação ao ArcBotics Sparki, o robô educacional também possui capacidade de expansão para incluir módulos Bluetooth através de sua porta serial TTL. Esta característica permite que o Sparki seja controlado remotamente via dispositivos móveis ou computadores equipados com adaptador Bluetooth, similar ao projeto apresentado no artigo. A principal diferença é que o Sparki utiliza um Arduino Leonardo como controlador principal, em vez do Handy Board MC68HC11.
A montagem de robôs móveis com capacidade Bluetooth, seja utilizando o Sparki ou outros robôs educacionais, segue princípios similares aos apresentados no artigo. O processo envolve a conexão do módulo Bluetooth à porta serial do controlador, implementação do protocolo de comunicação adequado, e desenvolvimento de software tanto no lado do robô quanto no dispositivo de controle. Esta padronização permite que diferentes plataformas robóticas possam ser adaptadas para controle sem fio, mantendo a compatibilidade com diversos dispositivos Bluetooth.
4.3 Programming a Robotic Toy with a Block Coding Application: A Usability Study with Non-programmer Adults
O artigo Programming a Robotic Toy with a Block Coding Application: A Usability Study with Non-programmer Adults investiga a usabilidade de uma aplicação de programação baseada em blocos para controlar um brinquedo robótico, o Sphero, por adultos sem experiência prévia em programação.
O estudo envolveu nove participantes que utilizaram o aplicativo móvel SPRK Lightning Lab, que adota uma linguagem de programação visual com interface de blocos. Os participantes realizaram tarefas de programação para controlar o robô, e foram conduzidas entrevistas para avaliar a experiência do usuário, questões de usabilidade e a facilidade de aprendizado da aplicação.
Os resultados indicaram que, apesar de alguns desafios iniciais, os usuários conseguiram programar o robô com sucesso, demonstrando que interfaces de programação baseadas em blocos podem ser eficazes para iniciantes. O estudo destaca a importância de considerar a usabilidade e a experiência do usuário no desenvolvimento de ferramentas educacionais de programação.
Em relação ao Sparki, este robô educacional também pode ser programado utilizando interfaces baseadas em blocos, como o Ardublock, facilitando o aprendizado de programação para iniciantes. Assim como o Sphero, o Sparki oferece uma plataforma acessível para explorar conceitos de sistemas embarcados, permitindo que usuários sem experiência prévia desenvolvam habilidades em programação e robótica.
Referência:
- Yilmaz, R. M., & Yilmaz, F. G. K. (2017). Programming a Robotic Toy with a Block Coding Application: A Usability Study with Non-programmer Adults. In Universal Access in Human–Computer Interaction. Human Aspects of IT for the Aged Population. Applications in Health, Assistance, and Entertainment (pp. 471–481). Springer.
4.4 Project Edubot: Teaching Robotics to High School Students
O artigo Project Edubot: Teaching Robotics to High School Students descreve uma iniciativa educacional que visa ensinar princípios de programação e robótica a estudantes do ensino médio em escolas públicas de Brasília. O projeto utiliza o robô Sparki como ferramenta principal para introduzir conceitos de STEM (Ciência, Tecnologia, Engenharia e Matemática) de forma prática e acessível.
A metodologia do projeto é baseada em atividades práticas, onde os alunos trabalham em duplas para desenvolver e testar algoritmos diretamente no robô Sparki. Essa abordagem promove o aprendizado ativo e colaborativo, incentivando o desenvolvimento de habilidades de resolução de problemas e pensamento lógico.
Os resultados do projeto indicaram um aumento significativo no interesse dos alunos por áreas relacionadas à tecnologia e engenharia, além de melhorias nas habilidades de programação e compreensão de sistemas embarcados. O Sparki, com sua plataforma baseada em Arduino e diversos sensores integrados, proporcionou um ambiente ideal para a introdução desses conceitos.
Referência:
- Baptista, R., Moreira, M., Lima, R., & Bernardes, M. (2018). Project Edubot: Teaching Robotics to High School Students. ResearchGate.
4.5 Meninas.comp: Um Relato da Experiência de Integração entre o Ensino Médio e a Universidade de Brasília
O artigo Meninas.comp: Um Relato da Experiência de Integração entre o Ensino Médio e a Universidade de Brasília apresenta as atividades desenvolvidas pelo projeto Meninas.comp, que visa incentivar a participação de meninas do ensino médio em áreas de computação e tecnologia. Coordenado por docentes do Departamento de Ciência da Computação da UnB, o projeto promove oficinas e atividades práticas para aproximar as alunas do universo da computação.
As atividades incluem oficinas de programação e robótica, onde as participantes têm a oportunidade de interagir com ferramentas como o robô Sparki. Essas oficinas são projetadas para serem acessíveis e envolventes, proporcionando uma introdução prática à lógica de programação e aos conceitos de sistemas embarcados.
O uso do Sparki nas oficinas permite que as alunas experimentem a programação de sensores e atuadores em um ambiente controlado, facilitando a compreensão dos princípios de sistemas embarcados. Essa abordagem prática contribui para aumentar o interesse das participantes por carreiras em STEM e reduzir a disparidade de gênero nessas áreas.
Referência:
- Holanda, M., Araújo, A. P., & Walter, M. E. M. T. (2016). Meninas.comp: Um Relato da Experiência de Integração entre o Ensino Médio e a Universidade de Brasília. In Anais do 11º Women in Information Technology (WIT 2017), São Paulo. XXXVII Congresso da Sociedade Brasileira de Computação.
4.6 E. A. Shushlyapin e A. E. Bezuglaya: Controle não-linear de robô móvel usando Sparki.
Este artigo propõe um método de controle não-linear “por estado terminal” para sistemas dinâmicos e o aplica no controle de um robô móvel de duas rodas. O robô Sparki da ArcBotics foi utilizado como plataforma de teste, empregando seus parâmetros físicos (diâmetro das rodas ≈5 cm, distância entre rodas ≈8,5 cm, etc.) para validar o controlador. A metodologia envolveu síntese analítica de reguladores não-lineares e implementação de um algoritmo de modo deslizante de alta ordem.
Os resultados demonstraram que o controlador projetado pôde guiar o Sparki com precisão até estados desejados, mesmo com passo de amostragem relativamente grande (0,1 s), evidenciando a eficiência do algoritmo no robô real.
Referência:
- Shushlyapin, E.A.; Bezuglaya, A.E. (2018). “Analytical Synthesis of Regulators for Nonlinear Systems with a Terminal State Method on Examples of Motion Control of a Wheeled Robot and a Vessel.” Journal of Applied Mathematics, vol. 2018, Art. ID 4868791, 13 p. DOI: 10.1155/2018/4868791 (acesso aberto).
4.7 Nishan Srishankar et al: Algoritmo de flocking com enxame de robôs Sparki.
Este estudo, desenvolvido como projeto acadêmico de sistemas multi-robôs, implementou e testou um algoritmo de movimento em grupo (flocking) usando um conjunto (“enxame”) de robôs Sparki reais. Inicialmente, simulou-se o algoritmo no ambiente ARGoS para ajuste de parâmetros, modelando o comportamento de cada robô com base no potencial de Lennard-Jones para produzir forças atrativas/repulsivas no grupo. Em seguida, diversos robôs Sparki físicos foram programados para executar o algoritmo em conjunto, comunicando-se apenas via sensores de distância (ultrassom) sem informação global ou troca de dados explícita entre eles. Foram necessárias modificações no firmware do Sparki – por exemplo, controle direto dos motores de passo em termos de velocidade de cada roda – para viabilizar o comportamento desejado.
Os resultados mostraram que os robôs conseguiram se auto-organizar em formação de flock, mantendo conectividade e evitando obstáculos, de forma consistente com a simulação. O trabalho demonstrou na prática a viabilidade de algoritmos de enxame em robôs educacionais simples, ressaltando a colaboração emergente sem controle central.
Referência:
- Srishankar, N. (2017). “Multi-Robots Systems: Project Report – Implementation of a Flocking Algorithm on a Swarm of Sparki Robots.” Relatório técnico, Univ. de Columbia. PDF disponível em: http://nsrishankar.github.io/files/docs/projects/MRsystems_PF_Flocking.pdf.
4.8 Fuad Aliew: Medição de distância por sensor ultrassônico de baixo custo.
Sensores ultrassônicos como o do Sparki são amplamente usados para medir distâncias, porém sofrem com baixa precisão quando se utilizam módulos baratos e condições ambientais variáveis. Este trabalho propõe um método de aprimoramento de medida para sensores ultrassônicos comuns (40 kHz) visando alcançar precisão milimétrica sem hardware adicional caro. Foram investigadas três abordagens de processamento do sinal de tempo de voo (ToF): ajuste por mínimos quadrados, método de Vandermonde, e um algoritmo proposto chamado “smart filter true measurement”. Em testes controlados com um sensor HC-SR04 (colocado a distâncias entre 10 e 50 cm de um alvo, com medição de temperatura ambiente em tempo real), observou-se que os métodos matemáticos reduziram significativamente a variabilidade das leituras. O método de mínimos quadrados e Vandermonde aumentaram a precisão para ~1 mm, mas ainda não eliminavam todos os erros. Já o algoritmo inteligente desenvolvido conseguiu ultrapassar a especificação do sensor, atingindo precisão melhor que 1 mm sob condições estáveis.
O estudo conclui que é viável obter medidas de alta exatidão com sensores ultrassônicos baratos combinando filtragem de sinal e compensação de temperatura, tornando esses sensores mais úteis em robótica móvel (por exemplo, para mapeamento ou evitar obstáculos com maior confiabilidade).
Referência:
- Aliew, F. (2022). “An Approach for Precise Distance Measuring Using Ultrasonic Sensors.” Proceedings, 24(1), 8 (4th Int. Conf. on Intelligent Computing & Engineering), pp. 1–6. DOI: 10.3390/xxxx (artigo de acesso aberto, MDPI).
5. Produtos relacionados
5.1 Edison V2
Figura 17. Edison V2. Fonte [8].
Comparativo: Edison V2 vs ArcBotics Sparki
| Categoria | Edison V2 | ArcBotics Sparki |
|---|---|---|
| Processador | Freescale 8-bit MC9S08PA8 CPU | ATmega32U4 (8-bit AVR RISC) |
| Memória | - 8KB memória Flash - 512 bytes RAM |
- 32KB memória Flash - 2.5KB SRAM - 1KB EEPROM |
| Linguagens de Programação | - EdBlocks (gráfica) - EdScratch (baseada em blocos) - EdPy (similar a Python) |
- ArduBlock (gráfica) - C/C++ (Arduino) - SparkiDuino |
| Sensores | - 2x Sensores de luz - 1x Sensor de som - 1x Receptor IR - 1x Sensor de linha - 1x Detector de obstáculos |
- 5x Sensores seguidores de linha - 1x Sensor de luz - 1x Sensor ultrassônico - Acelerômetro de 3 eixos - Magnetômetro de 3 eixos |
| Saídas | - 1x LED - 1x Alto-falante - 2x Motores |
- LED RGB - Buzzer - Display LCD 128x64 - 2x Motores de passo - 1x Motor da garra |
| Conectividade | - Comunicação IR entre robôs - Compatível com controle remoto TV/DVD |
- USB - Módulo Bluetooth opcional |
| Fonte de Energia | - 4x pilhas AAA | - 4x pilhas AA |
| Construção | - Compatível com LEGO - Design compacto (8,5 x 7,5 x 3,5 cm) |
- Pré-montado - Formato maior (19 x 17 x 8 cm) |
| Preço Médio | $49-59 USD | $149-169 USD |
| Idade Recomendada | 4-16 anos | 11+ anos |
| Foco Educacional | - Conceitos básicos de programação - Robótica simples - Educação STEM |
- Programação avançada - Eletrônica - Robótica - Engenharia |
O Edison V2 e o Sparki representam diferentes abordagens para a robótica educacional, com o Edison V2 se posicionando como uma plataforma de nível iniciante focada em acessibilidade e conceitos fundamentais. Seu design compacto compatível com LEGO, preço acessível ($49-59), e interfaces de programação simplificadas (EdBlocks, EdScratch, EdPy) o tornam particularmente adequado para estudantes mais jovens, de 4 a 16 anos. O conjunto básico de sensores e o sistema simplificado de controle de motores são intencionalmente projetados para introduzir conceitos básicos de robótica sem sobrecarregar iniciantes, enquanto suas capacidades de comunicação IR permitem experiências de aprendizado interativas entre múltiplas unidades.
Em contraste, o Sparki surge como uma plataforma educacional mais sofisticada, voltada para cenários de aprendizado avançado com suas capacidades abrangentes de hardware e ambiente de programação de nível profissional. Construído em torno do ecossistema Arduino, o Sparki oferece uma extensa matriz de sensores (incluindo acelerômetro, magnetômetro e múltiplos sensores seguidores de linha), controle preciso de motores de passo e um display LCD, justificando seu preço mais elevado ($149-169). Sua integração com ferramentas de programação Arduino padrão (C/C++) e arquitetura de hardware mais complexa o torna mais adequado para estudantes mais velhos (11+) e aqueles prontos para se aprofundar em eletrônica, princípios de engenharia e conceitos avançados de robótica. Embora isso resulte em um custo mais alto por unidade, proporciona uma experiência de engenharia mais autêntica que preenche a lacuna entre a robótica educacional e as aplicações do mundo real.
5.2 Makeblock mBot
Figura 18. MakeBlock mBot. Fonte [33].
Comparativo: Makeblock mBot vs ArcBotics Sparki
| Categoria | Makeblock mBot | ArcBotics Sparki |
|---|---|---|
| Processador | ATmega328 (8-bit AVR) | ATmega32U4 (8-bit AVR RISC) |
| Memória | - 32KB memória Flash - 2KB SRAM - 1KB EEPROM |
- 32KB memória Flash - 2.5KB SRAM - 1KB EEPROM |
| Linguagens de Programação | - mBlock (baseado em Scratch) - Arduino C/C++ |
- ArduBlock (gráfica) - C/C++ (Arduino) - SparkiDuino |
| Sensores | - 1x Sensor ultrassônico - 1x Sensor de linha - 1x Sensor de luz |
- 5x Sensores seguidores de linha - 1x Sensor de luz - 1x Sensor ultrassônico - Acelerômetro de 3 eixos - Magnetômetro de 3 eixos |
| Saídas | - 2x LEDs RGB - 1x Buzzer - 2x Motores DC |
- LED RGB - Buzzer - Display LCD 128x64 - 2x Motores de passo - 1x Motor da garra |
| Conectividade | - USB - Bluetooth (opcional) |
- USB - Módulo Bluetooth opcional |
| Fonte de Energia | - 4x pilhas AA ou bateria recarregável | - 4x pilhas AA |
| Construção | - Compatível com LEGO - Estrutura de alumínio - Design modular |
- Pré-montado - Formato maior (19 x 17 x 8 cm) |
| Preço Médio | $70-100 USD | $149-169 USD |
| Idade Recomendada | 8+ anos | 11+ anos |
| Foco Educacional | - Introdução à programação - Robótica básica - Educação STEM |
- Programação avançada - Eletrônica - Robótica - Engenharia |
O Makeblock mBot é um robô educacional de nível intermediário, projetado para introduzir estudantes ao mundo da programação e robótica. Com uma estrutura de alumínio compatível com LEGO, sensores básicos e suporte a linguagens de programação gráficas e baseadas em texto, o mBot oferece uma plataforma versátil para aprendizado prático. Seu preço acessível e design modular o tornam ideal para escolas e iniciantes que desejam explorar conceitos de STEM de forma interativa.
Em comparação, o ArcBotics Sparki apresenta uma gama mais ampla de sensores e atuadores, incluindo acelerômetro, magnetômetro e um display LCD, proporcionando experiências de aprendizado mais avançadas. Sua compatibilidade com o ecossistema Arduino permite que os alunos aprofundem seus conhecimentos em programação e eletrônica, tornando-o adequado para estudantes mais velhos e projetos educacionais mais complexos.
5.3 LEGO Mindstorms EV3
Figura 19. MindStorms EV3. Fonte [34].
Comparativo: LEGO Mindstorms EV3 vs ArcBotics Sparki
| Categoria | LEGO Mindstorms EV3 | ArcBotics Sparki |
|---|---|---|
| Processador | ARM9 (300 MHz) | ATmega32U4 (8-bit AVR RISC) |
| Memória | - 16MB memória Flash - 64MB RAM - Slot para cartão SD |
- 32KB memória Flash - 2.5KB SRAM - 1KB EEPROM |
| Linguagens de Programação | - EV3 Software (gráfica) - EV3 Python - Suporte a outras linguagens (Java, C++) |
- ArduBlock (gráfica) - C/C++ (Arduino) - SparkiDuino |
| Sensores | - 1x Sensor de toque - 1x Sensor de cor - 1x Sensor ultrassônico - 1x Giroscópio |
- 5x Sensores seguidores de linha - 1x Sensor de luz - 1x Sensor ultrassônico - Acelerômetro de 3 eixos - Magnetômetro de 3 eixos |
| Saídas | - 4x Portas para motores - 1x Display LCD monocromático - 1x Alto-falante interno |
- LED RGB - Buzzer - Display LCD 128x64 - 2x Motores de passo - 1x Motor da garra |
| Conectividade | - USB - Bluetooth - Wi-Fi (com adaptador) |
- USB - Módulo Bluetooth opcional |
| Fonte de Energia | - Bateria recarregável de íons de lítio ou 6x pilhas AA | - 4x pilhas AA |
| Construção | - Compatível com LEGO Technic - Design altamente modular e personalizável |
- Pré-montado - Formato maior (19 x 17 x 8 cm) |
| Preço Médio | $349-399 USD | $149-169 USD |
| Idade Recomendada | 10+ anos | 11+ anos |
| Foco Educacional | - Programação avançada - Engenharia - Robótica competitiva - Projetos complexos |
- Programação avançada - Eletrônica - Robótica - Engenharia |
O LEGO Mindstorms EV3 é uma plataforma robusta e altamente modular, voltada para estudantes que desejam explorar projetos de robótica complexos e competitivos. Com um processador ARM9, ampla memória e suporte a diversas linguagens de programação, o EV3 permite a criação de robôs sofisticados com múltiplos sensores e atuadores. Sua compatibilidade com peças LEGO Technic oferece possibilidades quase ilimitadas de construção e personalização.
Em contraste, o ArcBotics Sparki, embora menos modular, fornece uma solução completa e pronta para uso, ideal para introduzir conceitos avançados de programação e eletrônica sem a necessidade de montagem extensiva. Seu conjunto abrangente de sensores e atuadores, aliado à compatibilidade com o Arduino, torna o Sparki uma excelente escolha para estudantes que desejam aprofundar seus conhecimentos em sistemas embarcados e robótica de forma prática e acessível.
5.4 Parallax Boe-Bot
Figura 20. Parallax Boe-Bot. Fonte [35].
Comparativo: Parallax Boe-Bot vs ArcBotics Sparki
| Categoria | Parallax Boe-Bot | ArcBotics Sparki |
|---|---|---|
| Processador | BASIC Stamp 2 (PIC16C57, 8-bit, 20 MHz) | ATmega32U4 (8-bit AVR RISC) |
| Memória | 2 KB EEPROM | - 32KB memória Flash - 2.5KB SRAM - 1KB EEPROM |
| Linguagens de Programação | PBASIC | - ArduBlock (gráfica) - C/C++ (Arduino) - SparkiDuino |
| Sensores | - 2x Sensores de toque - 2x Sensores infravermelhos (opcional) - Expansível |
- 5x Sensores seguidores de linha - 1x Sensor de luz - 1x Sensor ultrassônico - Acelerômetro de 3 eixos - Magnetômetro de 3 eixos |
| Saídas | - 2x Servos para locomoção - LEDs |
- LED RGB - Buzzer - Display LCD 128x64 - 2x Motores de passo - 1x Motor da garra |
| Conectividade | - Serial RS232 | - USB - Módulo Bluetooth opcional |
| Fonte de Energia | - 4x pilhas AA | - 4x pilhas AA |
| Construção | - Chassi de alumínio - Breadboard para prototipagem |
- Pré-montado - Formato maior (19 x 17 x 8 cm) |
| Preço Médio | $120-150 USD | $149-169 USD |
| Idade Recomendada | 13+ anos | 11+ anos |
| Foco Educacional | - Programação básica - Eletrônica - Robótica introdutória |
- Programação avançada - Eletrônica - Robótica - Engenharia |
O Parallax Boe-Bot é um dos robôs educacionais clássicos, amplamente utilizado em escolas e universidades para introdução à robótica e programação. Seu diferencial está na simplicidade do hardware, na possibilidade de prototipagem rápida com breadboard e na linguagem PBASIC, que facilita o aprendizado inicial. Embora menos avançado em sensores e atuadores que o Sparki, o Boe-Bot é robusto, expansível e excelente para projetos de iniciação em robótica.[35]
5.5 Thymio II
Figura 21. Thymio II. Fonte [36].
Comparativo: Thymio II vs ArcBotics Sparki
| Categoria | Thymio II | ArcBotics Sparki |
|---|---|---|
| Processador | STM32F103 (ARM Cortex-M3, 32-bit, 72 MHz) | ATmega32U4 (8-bit AVR RISC) |
| Memória | 128 KB Flash, 20 KB SRAM | - 32KB memória Flash - 2.5KB SRAM - 1KB EEPROM |
| Linguagens de Programação | Aseba (visual e texto), Blockly, Scratch, Python | - ArduBlock (gráfica) - C/C++ (Arduino) - SparkiDuino |
| Sensores | - 5x Sensores de proximidade IR - 2x Sensores de solo - 1x Microfone - 1x Acelerômetro - 1x Termômetro |
- 5x Sensores seguidores de linha - 1x Sensor de luz - 1x Sensor ultrassônico - Acelerômetro de 3 eixos - Magnetômetro de 3 eixos |
| Saídas | - 2x LEDs RGB - 1x Alto-falante - 2x Motores DC |
- LED RGB - Buzzer - Display LCD 128x64 - 2x Motores de passo - 1x Motor da garra |
| Conectividade | - USB - Wireless (versão sem fio) |
- USB - Módulo Bluetooth opcional |
| Fonte de Energia | - Bateria recarregável LiPo | - 4x pilhas AA |
| Construção | - Chassi plástico compacto - Pronto para uso |
- Pré-montado - Formato maior (19 x 17 x 8 cm) |
| Preço Médio | $150-200 USD | $149-169 USD |
| Idade Recomendada | 6+ anos | 11+ anos |
| Foco Educacional | - Programação visual - Robótica introdutória - STEM |
- Programação avançada - Eletrônica - Robótica - Engenharia |
O Thymio II é um robô educacional open-source projetado para ser acessível desde o ensino fundamental até a universidade. Ele se destaca pela grande variedade de sensores integrados, suporte a múltiplas linguagens de programação (incluindo ambientes visuais e Python) e bateria recarregável. É amplamente utilizado em escolas europeias e possui uma comunidade ativa de educadores e desenvolvedores.[36]
