#include <Servo.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// O fio de dados é conectado no pino digital 7 no Arduino
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
Servo myservo;
#define dir 2
#define step 3
int intervalo = 5;
int pos = 0;
void setup() {
pinMode(dir,OUTPUT);
pinMode(step,OUTPUT);
myservo.attach(5);
myservo.write(180);
delay(1000);
myservo.write(pos);
delay(1000);
sensors.begin(); // Inicia a biblioteca
Serial.begin(9600);
}
void loop() {
digitalWrite(dir,1);
for(int i=0;i<500;i++){
digitalWrite(step,1);
delay(intervalo);
digitalWrite(step,0);
}
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(5); // waits 15ms for the servo to reach the position
}
delay(200);
digitalWrite(dir,0);
for(int i=0;i<200;i++){
digitalWrite(step,1);
delay(intervalo);
digitalWrite(step,0);
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(5); // waits 15ms for the servo to reach the position
}
delay(200);
digitalWrite(dir,0);
for(int i=0;i<300;i++){
digitalWrite(step,1);
delay(intervalo);
digitalWrite(step,0);
}
// Manda comando para ler temperaturas
sensors.requestTemperatures();
// Escreve a temperatura em Celsius
Serial.print("Temperatura: ");
Serial.print(sensors.getTempCByIndex(0));
Serial.println(" graus");
delay(2000);
}