Loading repository data…
Loading repository data…
cmarttiinss / repository
TRABALHO-Simulação de um reator nuclear com Arduino e C++. Monitora temperatura, barras de controle e reações em cadeia em tempo real usando sensores e saída serial. Desenvolvido como projeto escolar.
Projeto escolar desenvolvido na disciplina de Sistemas Embarcados do Curso Técnico de Desenvolvimento de Sistemas — ETEC Basilides de Godoy (CEETEPS / Paula Souza) · São Paulo · 2026
| Nome | Responsabilidade |
|---|---|
| Cauã Martins | Coordenação, loop principal e lógica de estados |
| Davy Lucas | Display LCD 16x2 e formatação de informações |
| Enzo Chaves | Montagem do circuito no TinkerCAD |
| Guilherme Coelho | Sistema de alarmes — LEDs e buzzer |
| Gustavo Garcia | Documentação ABNT e testes |
Este repositório contém a simulação funcional de um sistema de monitoramento de reator nuclear, desenvolvida inteiramente na plataforma TinkerCAD utilizando um Arduino Uno R3 programado em C++.
A ideia central foi representar, de forma didática e simplificada, a lógica de monitoramento e controle presente em sistemas industriais reais: leitura contínua de sensores, exibição de dados em tempo real e acionamento automático de alertas quando variáveis críticas saem dos limites seguros.
Geral: Desenvolver uma simulação de monitoramento de reator nuclear com leitura de sensores, display LCD e sistema de alertas visuais e sonoros.
Específicos:
| Ferramenta | Uso |
|---|---|
| Arduino Uno R3 | Microcontrolador principal (ATmega328P, 16 MHz) |
| C++ | Linguagem de programação do firmware |
| TinkerCAD Circuits | Simulação virtual do circuito |
| LiquidCrystal (lib) | Controle do display LCD |
| Componente | Qtd. | Função no Projeto |
|---|---|---|
| Arduino Uno R3 | 1 | Processa leituras e controla os demais componentes |
| Display LCD 16x2 | 1 | Exibe temperatura, potência e status em tempo real |
| Potenciômetro 10 kΩ | 1 | Simula o nível de potência do reator (0–100%) |
| LED Verde (5mm) | 1 | Operação normal — abaixo de 70 °C |
| LED Amarelo (5mm) | 1 | Estado de alerta — entre 70 °C e 89 °C |
| LED Vermelho (5mm) | 1 | Estado crítico — 90 °C ou mais |
| Buzzer passivo | 1 | Alarme sonoro (1000 Hz) no estado crítico |
| Push Button | 2 | Ligar/desligar e desligamento de emergência |
| Resistor 220 Ω | 3 | Limitação de corrente nos LEDs |
| Protoboard | 1 | Organização das conexões |
| Fios de conexão | — | Interligação dos componentes |
Temperatura < 70 °C → 🟢 LED VERDE — Operação Normal
70 °C ≤ Temp < 90 °C → 🟡 LED AMARELO — Estado de Alerta
Temperatura ≥ 90 °C → 🔴 LED VERMELHO + 🔊 BUZZER — Estado Crítico
Reator desligado → ⚫ Todos os LEDs apagados — Inativo
📦 reactor-core-arduino
┣ 📂 src
┃ ┗ 📄 reator_nuclear.ino # Código-fonte principal (C++)
┣ 📂 docs
┃ ┗ 📄 reator_nuclearABNT.docx # Relatório técnico (normas ABNT)
┗ 📄 README.md
O firmware foi escrito em C++ para Arduino Uno R3, utilizando a biblioteca LiquidCrystal. O programa é dividido em funções separadas para facilitar a leitura e manutenção:
| Função | Descrição |
|---|---|
simularTemperatura(pot) | Calcula a temperatura a partir do nível de potência |
obterStatus(temp) | Retorna o status textual do reator conforme a temperatura |
atualizarAlarmes(temp) | Aciona os LEDs e o buzzer conforme o estado |
atualizarLCD(temp, pot) | Atualiza as informações exibidas no display |
setup() | Inicializa pinos, LCD e comunicação serial |
loop() | Lê sensores, verifica botões e chama as demais funções |
📂 Veja o código completo em
src/reator_nuclear.ino
| Componente | Pino / Terminal | Conectado a |
|---|---|---|
| LCD RS | — | Pino digital 12 |
| LCD EN | — | Pino digital 11 |
| LCD D4–D7 | — | Pinos digitais 5, 4, 3, 2 |
| Potenciômetro | Pino central | Pino analógico A1 |
| LED Verde | Anodo (+) | Pino digital 6 (via 220 Ω) |
| LED Amarelo | Anodo (+) | Pino digital 7 (via 220 Ω) |
| LED Vermelho | Anodo (+) | Pino digital 8 (via 220 Ω) |
| Buzzer | Positivo (+) | Pino digital 9 |
| Botão INICIAR | Terminal 1 | Pino digital 10 (INPUT_PULLUP) |
| Botão RESET | Terminal 1 | Pino digital 13 (INPUT_PULLUP) |
src/reator_nuclear.ino no editor do TinkerCAD"REATOR INATIVO"Desenvolvido com ⚡ por Cauã · Davy · Enzo · Guilherme · Gustavo
ETEC Basilides de Godoy · Curso Técnico de Desenvolvimento de Sistemas · 2026