Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- Servo myservo;
- const int buttonPin = 8; // Pino de entrada para ligar o sistema
- const int servoPin = 7; // Pino de saída para controlar o servo motor
- const int imaPin = 13; // Pino de saída para controlar o eletroímã
- int buttonState = 0;
- int pos = 10; // Posição inicial do servo
- /**
- * Função que controla todo o sistema.
- * Dependendo do estado do botão
- * a função define o que deve ser feito.
- */
- void button() {
- buttonState = digitalRead(buttonPin);
- // Quando a entrada recebe um pulso de sinal
- if (buttonState == HIGH) {
- digitalWrite(imaPin, HIGH); // Liga o eletroímã
- servo(); // Então chama a função servo
- }
- else {
- digitalWrite(imaPin, LOW);
- }
- }
- /**
- * Função que controla o servo motor.
- * Quando é chamada, faz o movimento
- * de martelar e voltar ao estado inicial.
- */
- void servo() {
- delay(2000);
- // Inicia o movimento de martelar
- for(pos = 10; pos < 180; pos++){
- myservo.write(pos);
- delay(1);
- }
- delay(1000);
- // Quando o movimento está completo
- digitalWrite(imaPin, LOW); // Desliga o eletroímã
- delay(1000);
- // Volta para a posição inicial
- for(pos = 180; pos >= 10; pos--){
- myservo.write(pos);
- delay(5);
- }
- }
- void setup() {
- pinMode(servoPin, OUTPUT);
- pinMode(imaPin, OUTPUT);
- pinMode(buttonPin, INPUT);
- myservo.attach(7);
- }
- void loop(){
- button();
- }
Advertisement
Add Comment
Please, Sign In to add comment