Baixe aqui:
Projeto no Proteus 8.3 SP2 (Arquivo pdsprj)
Biblioteca do Ultrassom para o Arduino (Arquivo HEX, LIB e IDX)
Copie para a pasta: C:\Documentos\Arduino\libraries\Ultrasonic
Biblioteca Wire (Arquivo ZIP)
Simulino nesta página:
https://laboratoriomaker.blogspot.com/2020/09/proteus-software-library-simulino-e.html
No programa do Arduino, clique em: Sketch\Incluir Biblioteca\Adicionar biblioteca .ZIP
Para instalar a biblioteca Wire.h, coloque a pasta "Wire" dentro da pasta:
C:\Program Files (x86)\Arduino\libraries
Para instalar a biblioteca Wire.h, coloque a pasta "Wire" dentro da pasta:
C:\Program Files (x86)\Arduino\libraries
Library do Ultrassom para o Proteus (Arquivo LIB e IDX)
Após efetuar o download, copiar os arquivos UltrasonicTEMP.IDX e UltrasonicTEMP.LIB para uma dessas pastas (dependendo da sua instalação):
C:\Arquivos de Programas\Labcenter Electronics\Proteus 8 Professional\Data\LIBRARY
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY
C:\Program Files\Labcenter Electronics\Proteus 8 Professional\LIBRARY
C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\LIBRARY (Mostrar arquivos ocultos)
Código dos componentes no Proteus:
LCD 16x2: LM016L
i2C: PCF8574
LCD 16x2: LM016L
i2C: PCF8574
Configuração do Sensor no Proteus
Dê um duplo clique em cima da figura do Sensor no Proteus:
Indique o local onde está o arquivo UltraSonicTEP.HEX da biblioteca do arduino:
Configuração do Arduino Mega no Proteus
Dê um duplo clique em cima da figura do Arduino Mega no Proteus:
O local pode ser encontrado aqui no programa do arduino:
Código para o programa do Arduino:
#include <Ultrasonic.h> //INCLUSÃO DA BIBLIOTECA ULTRASSOM
#include <LiquidCrystal_I2C.h> //INCLUSÃO DA BIBLIOTECA LCD I2C
#include <Wire.h> //INCLUSÃO DE BIBLIOTECA WIRE PROTOCOLO I2C
LiquidCrystal_I2C lcd(0x20, 16, 2); //Inicializa o display no endereco 0x20 para 16 caracteres e 2 linhas no display
const int trigPin = 30; //trig pino conexão
const int echoPin = 31; //echo pino conexão
//Inicializa o sensor nos pinos definidos acima
long duration;
int distanceCm;
float liquid;
void setup() {
lcd.begin(16,2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.setCursor(0,0);
lcd.print(" Medidor de ");
lcd.setCursor(0,1);
lcd.print(" distancia ");
delay(800);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Laboratorio ");
lcd.setCursor(0,1);
lcd.print(" Maker ");
delay(800);
lcd.clear();
}
void loop() { //LOOP DO PROGRAMA
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
lcd.setCursor(0,0);
lcd.print(" Medindo ");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distancia:");
lcd.print(distanceCm);
lcd.print(" Cm ");
delay(10);
}
#include <LiquidCrystal_I2C.h> //INCLUSÃO DA BIBLIOTECA LCD I2C
#include <Wire.h> //INCLUSÃO DE BIBLIOTECA WIRE PROTOCOLO I2C
LiquidCrystal_I2C lcd(0x20, 16, 2); //Inicializa o display no endereco 0x20 para 16 caracteres e 2 linhas no display
const int trigPin = 30; //trig pino conexão
const int echoPin = 31; //echo pino conexão
//Inicializa o sensor nos pinos definidos acima
long duration;
int distanceCm;
float liquid;
void setup() {
lcd.begin(16,2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.setCursor(0,0);
lcd.print(" Medidor de ");
lcd.setCursor(0,1);
lcd.print(" distancia ");
delay(800);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Laboratorio ");
lcd.setCursor(0,1);
lcd.print(" Maker ");
delay(800);
lcd.clear();
}
void loop() { //LOOP DO PROGRAMA
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
lcd.setCursor(0,0);
lcd.print(" Medindo ");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distancia:");
lcd.print(distanceCm);
lcd.print(" Cm ");
delay(10);
}
Nenhum comentário:
Postar um comentário