#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Servo.h>
Adafruit_SSD1306 display = Adafruit_SSD1306 ();
const int tringPinMe = 48;
const int echoPinMe = 49;
const int tringPinMs = 50;
const int echoPinMs = 51;
const int tringPin1 = 24;
const int echoPin1 = 25;
const int tringPin2 =26;
const int echoPin2 = 27;
const int tringPin3 = 28;
const int echoPin3 = 29;
long durationMe;
int distanceMe;
long durationMs;
int distanceMs;
String 11 = "";
String 12 = "";
String 13 = "";
const int pinoServo = 5;
int pos=130;
Servo s;
void setup() {
wire.begin ();
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.setTextColor(WHITE);
display.setTextSize(1);
display.clearDisplay();
pinMode(tringPinMe, OUTPUT);
pinMode(echoPinMe, INPUT);
pinMode(tringPinMs, OUTPUT);
pinMode(echoPinMs, INPUT);
pinMode(tringPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(tringPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(tringPin3, OUTPUT);
pinMode(echoPin3, INPUT);
Serial.begin (9600);
a.attach(pinoServo);
a,write(80);
}
void loop()
{
display.print ("Lugar 1:"+(11));
display.display();
display.setCursor(0,10);
display.print("Lugar 3:"+(13));
display.display();
display.setCursor(0,20);
display.clearDisplay();
digitalWrite(tringPinMe, LOW);
delayMicroseconds(2);
digitalWrite(tringPinMe, HIGH);
delayWrite(tringPinMe, LOW);
durationMe = pulseIn(echoPinMe, HIGH);
distanceMe= durationMe*0.034/2;
if(distanceMe<=5) {
s.write(0);
}
else
{
delay(2000);
s.write(80);
}
digitalWrite(tringPinMs, LOW);
delayMicroseconds(2);
digitalWrite(tringPinMs, HIGH);
delayMicroseconds(10);
digitalWrite(tringPinMs; LOW);
durationMs = pulseIn(echoPinMs, HIGH);
distanceMs= durationMs*0.034/2;
if(distanceMs <=5) {
s.write(0);
}
else
{
delay(3000);
s.write(80);
}
11=testarOcupado(int tringPin1, echoPin1);
12=testarOcupado(int tringPin2, echoPin2);
13=testarOcupado(int tringPin3, echoPin3);
}
String testarOcupado(int tringPin, int echoPin){
long duration;
int distance;
digitalWrite(tringPin, LOW);
delayMicroseconds(5);
digitalWrite(tringPin, HIGH);
delayMicroseconds(10);
digitalWrite(tringPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance= duration*0.034/2;
Serial.print("Distance: ");
Serial.println(distance);
if(distance>8) {
return "Livre";
}
else {
return "Ocupado";
}
}
No int
(or any type in just that form) before the parameters. If you needed a cast you would write (int) tringPin
.
Also, please declare what this problem is. Compilation failure? Does not work at runtime? What is the error message, what have you tried to solve this?