Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Dhcp.h>
- #include <Dns.h>
- #include <Ethernet.h>
- #include <EthernetClient.h>
- #include <EthernetServer.h>
- #include <EthernetUdp.h>
- #include<stdlib.h>
- #include<Servo.h>
- #include<Ultrasonic.h>
- #define SERVO 9 // Porta Digital 9 PWM
- //const int analogPin = A0;
- float analogPin = A0;
- int value; //
- //float value;
- float position; //Posição do potenciometro em porcento
- float leitura_distancia = 0;
- Servo s; // Variável Servo
- float setPoint; // Posição Servo
- float resultado;
- void setup ()
- {
- s.attach(SERVO);
- Serial.begin(65000);
- s.write(10); // Inicia motor posição zero
- }
- void loop()
- {
- for(setPoint = 10; setPoint < 100; setPoint = setPoint + 30)
- {
- s.write(setPoint);
- //Serial.print("Posição: ");
- //Serial.println(setPoint);
- value = analogRead(analogPin); // realiza a leitura analógica raw
- position = map(value, 0, 1023, 0, 110); // converte o percentual
- leitura_distancia = position;
- //leitura_distancia = setPoint - resultado;
- //Serial.print("Distancia Cm: ");
- //Serial.println(leitura_distancia); //
- dados_seriais(setPoint,leitura_distancia,resultado);
- delay(700);
- }
- //dados_seriais(leitura_distancia,setPoint,resultado);
- delay(10);
- for(setPoint = 100; setPoint >= 10; setPoint = setPoint - 30)
- {
- s.write(setPoint);
- //Serial.print("Posição: ");
- //Serial.println(setPoint);
- value = analogRead(analogPin); // Realiza a leitura analogica
- position = map(value, 0, 1023, 0, 110); // Converte para percentual de angulo
- leitura_distancia = position;
- //leitura_distancia = setPoint - resultado;
- //Serial.print("Distancia Cm: ");
- //Serial.println(leitura_distancia);
- dados_seriais(setPoint,leitura_distancia,resultado);
- delay(700);
- }
- }
- void dados_seriais(float e1, float e2, float e3)
- {
- char ee1[10]; //Carrega o set point
- char ee2[10]; //temporarily holds data from vals
- char ee3[10]; //temporarily holds data from vals
- dtostrf(e1, 4, 4, ee1); //4 is mininum width, 4 is precision; float value is copied onto buff
- dtostrf(e2, 4, 4, ee2); //4 is mininum width, 4 is precision; float value is copied onto buff
- dtostrf(e3, 4, 4, ee3); //4 is mininum width, 4 is precision; float value is copied onto buff
- Serial.print(ee1); // Envia o setpoint pela serial
- Serial.print(",");
- Serial.print(ee2); // Envia o valor lido pelo sensor pela serial
- Serial.print(",");
- Serial.print(ee3); // Envia o erro pela serial
- Serial.print(",");
- Serial.println("");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement