Vamos simular o Arduino?
Essa ideia não é nova, existem vários tutoriais por aí de como utilizar o Proteus ISIS para simular um Arduino, mas aqui vai um projeto mais organizado, com aparência e funcionalidade mais fiéis possíveis às queridas plaquinhas.
O apelido proposto para esse projeto é o "Simulino".
![]() |
| Simulino Uno no Proteus ISIS |
O primeiro projeto é baseado no Arduino Uno R3, e tentei deixar com a mesma "cara" da placa, como mostra a figura acima.
No pacote de download, está disponível uma demostração simples, utilizando um LCD, teclas, LEDs e um terminal serial.
Para testar esta demostração, apenas abra o arquivo "SimulinoUno_Demo.DSN" e selecionar "PLAY".
Enviem suas alterações e melhorias! Espero que isso ajude os iniciantes, principalmente quando temos dificuldades de conseguir componentes para testar junto com nossos Arduinos.


Nota 10. Excelente Projeto !!!
ResponderExcluirObrigado Romulo!
ResponderExcluirEstá conseguindo utilizar facilmente?
Logo liberaremos a versão 0.0002.
Um abraço!
Em primeiro lugar, parabéns pelo trabalho no Simulino. Sem ele, por nossos problemas de material, não poderíamos testar nossos programas (sketchs) do Arduino e obter o bom resultado no Torneio Juvenil de Robótica.
ResponderExcluirBom, em relação as melhorias, a primeira coisa que observamos foi que, quando usamos motores, o programa trava por conta dos transientes. Mesmo instalando filtros com capacitores e diodos e, mesmo assim trava.
Outro problema: dependendo do número de saídas digitais que você usa, o Simulino não funciona. Mais de 6 portas digitais ao mesmo tempo, mais as entradas analógicas, algumas das portas não funcionam. A impressão que dá é que o sistema está limitado a 8 entradas no máximo funcionando junto.
O último problema refere-se ao uso de funções: no programa quando usamos funções o Simulino não fuciona. Um exemplo de sketch que não funciona seria esse:
// Comando de motores usando ponte H
// ————————————————————————— Motores
int motor_esquerdo[] = {2, 3}; //pinos do motor1
int motor_direito[] = {7, 8}; //pinos do motor2
//-------------------------------------------- sensores
int IR1 = 0;
int IR2 = 1;
int IR3 = 2;
int IR4 = 3;
int IR5 = 4;
int IR6 = 5;
// ————————————————————————— Setup
void setup() {
Serial.begin(9600);
// Seleciona motores
int i;
for(i = 0; i < 2; i++){
pinMode(motor_esquerdo[i], OUTPUT);
pinMode(motor_direito[i], OUTPUT);
//seleciona sensores na porta analógica
pinMode(IR1, INPUT);
pinMode(IR2, INPUT);
pinMode(IR3, INPUT);
pinMode(IR4, INPUT);
pinMode(IR5, INPUT);
pinMode(IR6, INPUT);
}
}
// ————————————————————————— Loop
void loop() {
// le o estado do botao
IR1 = analogRead(IR1);
// verifica se botao foi pressionado
if (IR1 <= 400) {
// se sim, acende o LED
motor_re();
}
if (IR2 >= 400) {
motor_frente();
}
if (IR3 >= 400) {
motor_parar();
vire_esquerda();
delay (200);
motor_frente();
}
if (IR4 >= 400) {
motor_parar();
vire_direita();
delay (200);
motor_frente();
}
if (IR5 >= 400) {
motor_emergencia();
motor_frente();
}
}
// ————————————————————————— Drive do motor: coordena as funções de parada, frente, direita e esquerda
void motor_parar(){
digitalWrite(motor_esquerdo[0], LOW);
digitalWrite(motor_esquerdo[1], LOW);
digitalWrite(motor_direito[0], LOW);
digitalWrite(motor_direito[1], LOW);
delay(25);
}
void motor_frente(){
digitalWrite(motor_esquerdo[0], HIGH);
digitalWrite(motor_esquerdo[1], LOW);
digitalWrite(motor_direito[0], HIGH);
digitalWrite(motor_direito[1], LOW);
}
void motor_re(){
digitalWrite(motor_esquerdo[0], LOW);
digitalWrite(motor_esquerdo[1], HIGH);
digitalWrite(motor_direito[0], LOW);
digitalWrite(motor_direito[1], HIGH);
}
void vire_esquerda(){
digitalWrite(motor_esquerdo[0], LOW);
digitalWrite(motor_esquerdo[1], HIGH);
digitalWrite(motor_direito[0], HIGH);
digitalWrite(motor_direito[1], LOW);
}
void vire_direita(){
digitalWrite(motor_esquerdo[0], HIGH);
digitalWrite(motor_esquerdo[1], LOW);
digitalWrite(motor_direito[0], LOW);
digitalWrite(motor_direito[1], HIGH);
}
void motor_emergencia(){
digitalWrite(motor_esquerdo[0], HIGH);
digitalWrite(motor_esquerdo[1], LOW);
digitalWrite(motor_direito[0], LOW);
digitalWrite(motor_direito[1], LOW);
}
Como sugestão para melhoria acho interessante um Simulino que use 2 arduinos> tenho notado alguns colegas fazendo comunicação entre arduinos e usando 2 e, montaremos um novo robô que usará 2 arduinos - 1 para sensores e outro para motores.
Outra sugestão é um simulino que consiga simular o funcionamento de sensores IR e de ultrassom. Tive que adaptar para conseguir simular a situação.
Bom, fora isso, usar o Simulino foi muto fácil e, espero em breve, formar uma equipe de alunos com autonomia para desenvolver projetos baseados nele. Por enquanto eu faço os testes e passo os resultados para os alunos.
Logo que terminar as versões nos avise para testarmos, apesar do nosso foco ser robôs de competição talvez possamos ajudar com informações.
Preciso da sua ajuda. Estou tentando emular um sensor de ultrassom no simulino mas não estou conseguindo. Segui as orientações do circuito deste site : http://www.micro-examples.com/public/microex-navig/doc/090-ultrasonic-ranger.html e este vídeo mostra a montagem e execução, usando este código:
ResponderExcluir/* Código adaptado do sensor PING */
// configura os pinos de sáida
const int emissor = 7;
const int receptor = 8;
void setup() {
// initialize serial communication:
Serial.begin(9600);
pinMode(emissor, OUTPUT);
pinMode(receptor, INPUT);
}
void loop()
{
// establish variables for duration of the ping,
// and the distance result in inches and centimeters:
long duration, cm;
// The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
digitalWrite(emissor, LOW);
delayMicroseconds(2);
digitalWrite(emissor, HIGH);
delayMicroseconds(5);
digitalWrite(emissor, LOW);
//o receptor faz a leitura do estado do pino e se retorna HIGH ele informa
duration = pulseIn(receptor, HIGH);
cm = duration/58;//converte o valor do sensor1 em cm
Serial.print(cm);
Serial.println("cm");
delay(100);
}
O vídeo da execução no simulino está aqui:
http://www.youtube.com/watch?v=iqRuHhJ0X-k&feature=youtu.be
Nao consigo usar da mensagem de erro e não carrega
ResponderExcluirDo not analog pins work?
ResponderExcluirI tested this simple sketch
int analogpin = A1;
int val = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
val = analogRead (analogpin);
Serial.println(val);
}
but it read 1023 for all value of input voltage
Hello Mauro, how are you?
ExcluirWhat version of the Simulino did you use in your project?
If you prefer, send to us your project. We can help you with debug this issue.
Thanks. Regards.
Daniel.
quando vai sair novas versoes do simulino?
ResponderExcluirEu não me esqueci do que aconteceu em analítica 1, eu não me esqueci que quando você se juntou a Gabriela Santana Andrade para me humilhar por causa de iniciação científica, eu já tive que te aguentar por um ano quando você era monitor de gnosia 1 e 2.
ResponderExcluirAgora você não é mais monitor, você não tem mais o poder de fazer nada contra mim. Você só passou com nota acima de 7 em gnosia 1 e 2. Porque a prova foi online e você colou na prova online. Você não merece 1 centavo da bolsa de monitoria que você ganhou sendo monitor. Você é burro, você entrou na faculdade em 2016 e ainda não se formou. Você ficou reprovado na disciplina introdução à química de produtos naturais, porque não fez uma das provas, nem colar na prova, você colou, se você tivesse colado você teria passado.
Agora eu descubro que você está fazendo iniciação científica no Laproneb. Fez o que fez comigo e agora, foi monitor de gnosia 1 e 2 e agora está fazendo iniciação científica no Laproneb. Você não merece fazer iniciação científica no Laproneb. O Laproneb está uma porcaria, no Laproneb tem a Nátalie Tavares Delgado e agora tem você.
Se a Maria Isabel teve a capacidade de aproveitar do fato dela ser professora da UFRJ para ficar ameaçando os alunos, ela também tem a capacidade de ter aceitar como aluno de IC do Laproneb.
Você disse que em F2, eu iria aprender muitas coisas sobre mim. Diga-me uma coisa, em qual disciplina eu aprenderia algo sobre você, que é um psicopata que ficou me humilhando por causa de iniciação científica em analítica 1 e agora fica fazendo iniciação científica no Laproneb como se não tivesse feito nada de errado?
Eu não sei o que é pior o falso pai policial da Gabriela Santana Andrade ou a falsa namorada advogada da Nátalie Tavares Delgado.
Manda o falso pai policial e a falsa namorada advogada aparecer na boca de fumo que tem aqui perto da minha casa e manda os traficantes me matar, aqui em frente a minha casa funciona um ferro velho clandestino que fornece material furtado para os traficantes fazerem barricadas.
Eu garanto que eu não vou fazer nenhuma falta, a vida é boa para quem faz iniciação científica, para quem não faz só resta à morte, eu não vou perder a minha bolsa de iniciação científica.
Eu não me esqueci do que aconteceu em analítica 1, eu não me esqueci que quando você se juntou a Gabriela Santana Andrade para me humilhar por causa de iniciação científica, eu já tive que te aguentar por um ano quando você era monitor de gnosia 1 e 2.
ResponderExcluirAgora você não é mais monitor, você não tem mais o poder de fazer nada contra mim. Você só passou com nota acima de 7 em gnosia 1 e 2. Porque a prova foi online e você colou na prova online. Você não merece 1 centavo da bolsa de monitoria que você ganhou sendo monitor. Você é burro, você entrou na faculdade em 2016 e ainda não se formou. Você ficou reprovado na disciplina introdução à química de produtos naturais, porque não fez uma das provas, nem colar na prova, você colou, se você tivesse colado você teria passado.
Você ainda é formado em ciências biológicas pela UniverCidade e nem tem um currículo lattes, a UniverCidade deve ter ido a falência por ter alunos burros igual a você. Você não conseguiu emprego como biólogo e resolveu tentar a sorte no curso de farmácia, você é a prova que biologia não tem futuro e que o sonho do farmacêutico é ser médico. As pessoas só fazem farmácia porque não existem vagas no curso de medicina para todo mundo, se abrisse um milhão de vagas no curso de medicina, ninguém mais faria farmácia.
Você ainda abriu uma empresa chamada Kirin Restaurante e ela foi declarada inapta por omissão de declarações, isso é para ver como você é burro.
Agora eu descubro que você está fazendo iniciação científica no Laproneb. Fez o que fez comigo e agora, foi monitor de gnosia 1 e 2 e agora está fazendo iniciação científica no Laproneb. Você não merece fazer iniciação científica no Laproneb. O Laproneb está uma porcaria, no Laproneb tem a Natalie Tavares Delgado e agora tem você.
Se a Maria Isabel teve a capacidade de aproveitar do fato dela ser professora da UFRJ para ficar ameaçando os alunos, ela também tem a capacidade de ter aceitar como aluno de IC do Laproneb.
Você disse que em F2, eu iria aprender muitas coisas sobre mim. Diga-me uma coisa, em qual disciplina eu aprenderia algo sobre você, que é um psicopata que ficou me humilhando por causa de iniciação científica em analítica 1 e agora fica fazendo iniciação científica no Laproneb como se não tivesse feito nada de errado?
Eu não sei o que é pior o falso pai policial da Gabriela Santana Andrade ou a falsa namorada advogada da Natalie Tavares Delgado.
Manda o falso pai policial e a falsa namorada advogada aparecer na boca de fumo que tem aqui perto da minha casa e manda os traficantes me matar, aqui em frente a minha casa funciona um ferro velho clandestino que fornece material furtado para os traficantes fazerem barricadas.
Eu garanto que eu não vou fazer nenhuma falta, a vida é boa para quem faz iniciação científica, para quem não faz só resta à morte, eu não vou perder a minha bolsa de iniciação científica.
Eu não me esqueci do que aconteceu em analítica 1, eu não me esqueci que quando você se juntou a Gabriela Santana Andrade para me humilhar por causa de iniciação científica, eu estava doente naquela época, seu FDP, esse tipo de coisas não se faz nem com um cachorro. Eu já tive que te aguentar por um ano quando você era monitor de gnosia 1 e 2.
ResponderExcluirAgora você não é mais monitor, você não tem mais o poder de fazer nada contra mim. Você só passou com nota acima de 7 em gnosia 1 e 2. Porque a prova foi online e você colou na prova online. Você não merece 1 centavo da bolsa de monitoria que você ganhou sendo monitor. Você é burro, você entrou na faculdade em 2016 e ainda não se formou. Você ficou reprovado na disciplina introdução à química de produtos naturais, porque não fez uma das provas, nem colar na prova, você colou, se você tivesse colado igual você fez em gnosia 1 e 2, você teria passado.
Você foi monitor de gnosia 1 e 2 e conseguiu ficar reprovado numa disciplina que é basicamente a matéria de gnosia 2, você foi a única pessoa da turma que ficou reprovado na disciplina introdução a química de produtos naturais. Isso é para você ver como você é burro.
Você ainda é formado em ciências biológicas pela UniverCidade e nem tem um currículo lattes, a UniverCidade deve ter ido à falência por ter alunos burros igual a você. Você não conseguiu emprego como biólogo e resolveu tentar a sorte no curso de farmácia, isso é para você ver, como você é burro, você é a prova que biologia não tem futuro e que o sonho do farmacêutico é ser médico. As pessoas só fazem farmácia porque não existem vagas no curso de medicina para todo mundo, se abrisse um milhão de vagas no curso de medicina, ninguém mais faria farmácia.
Você ainda abriu uma empresa chamada Kirin Restaurante e ela foi declarada inapta por omissão de declarações, isso é para ver como você é burro.
Agora eu descubro que você está fazendo iniciação científica no Laproneb. Fez o que fez comigo e agora, foi monitor de gnosia 1 e 2 e agora está fazendo iniciação científica no Laproneb. Você não merece fazer iniciação científica no Laproneb. O Laproneb está uma porcaria, no Laproneb tinha a Nátalie Tavares Delgado e agora tem você. Só gente que não presta faz iniciação científica no Laproneb. Só psicopata faz iniciação científica no Laproneb.
Se a Maria Isabel teve a capacidade de aproveitar do fato dela ser professora da UFRJ para ficar ameaçando os alunos, ela também tem a capacidade de aceitar como aluno de iniciação científica do Laproneb um biólogo burro e frustrado que nem você.
Você disse que em F2, eu iria aprender muitas coisas sobre mim. Diga-me uma coisa, em qual disciplina eu aprenderia algo sobre você, que é um psicopata que ficou me humilhando por causa de iniciação científica em analítica 1 e agora fica fazendo iniciação científica no Laproneb como se não tivesse feito nada de errado?
Eu acho que ser psicopata é pré-requisito para fazer iniciação científica no Laproneb.
Eu não sei o que é pior o falso pai policial da Gabriela Santana Andrade ou a falsa namorada advogada da Nátalie Tavares Delgado.
A Nátalie Tavares Delgado foi arrumar treta comigo no grupo de DCE, agora que ela foi pega roubando as coisas do CAFAR, ela meteu o pé do grupo do DCE.
Manda o falso pai policial e a falsa namorada advogada aparecer na boca de fumo que tem aqui perto da minha casa e manda os traficantes me matarem, aqui em frente a minha casa funciona um ferro velho clandestino que fornece material furtado para os traficantes fazerem barricadas.
Eu garanto que eu não vou fazer nenhuma falta, a vida é boa para quem faz iniciação científica, para quem não faz só resta à morte, eu não vou perder a minha bolsa de iniciação científica.