Problemen met button om servo te laten draaien

ik ben met een project bezig wanneer ik een button indruk de servo gaat draaien nu doet hij dit niet en kan zo niet achter komen wat ik fout heb gedaan

type or pa#ifndef MY_BUTTON_H
#define MY_BUTTON_H
#include <Arduino.h>
class Button {
  
  private:
    byte _pin;
    byte state;
    byte lastReading;
    unsigned long lastDebounceTime = 0;
    unsigned long debounceDelay = 50;
    
  public:
    Button();
    void init(byte pin);
    void update();
    byte getState();
    bool isPressed();
};
#endifste code here
#include "Button.h"

Button::Button() {
  lastReading = LOW;
}
void Button::init(byte pin) {
  _pin = pin;
  pinMode(_pin, INPUT_PULLUP);
  update();
}
void Button::update() {
    
    byte newReading = digitalRead(_pin);
    
    if (newReading != lastReading) {
      lastDebounceTime = millis();
    }
    if (millis() - lastDebounceTime > debounceDelay) {
     
      state = newReading;
    }
    lastReading = newReading;
}
byte Button::getState() {
  update();
  return state;
}
bool Button::isPressed() {
  return (getState() == HIGH);
}

void deuropen()
{
  if (button1.isPressed()) 
  {
    myMotor.getDegree();
  }
}

Kun je aub je volledige programma plaatsen. Ik kan bv. niet vinden wat myMotor is. En als dat een servo object is, welke bibliotheek gebruik je? De standaard Servo library lijkt geen getDegree() methode te hebben.

Ervan uitgaande dat myMotor.getDegree() geldig is, misschien moet dat myMotor.setDegree() zijn; dit is gebaseerd op de naam waar get iets betekent in de lijn van lees.

sorry zal de de my motor servo code posten

#ifndef MOTOR_H
#define MOTOR_H

#include <Arduino.h>
#include <Servo.h>

class motor
{
    private:
        int _pinservo;
        Servo servo;
    public:
      void init(int pinservo); 
     
      int getDegree();

};


#endif
#include "../include/Motor.h"


void motor::init (int pin)
{
    _pinservo = pin;
    //pinMode(_pinservo, OUTPUT);
     servo.attach(_pinservo);  // attaches the servo on pin 9 to the servo object
 
}
      
int motor::getDegree()
{
  int angle = 180;
  servo.write(angle); 
  return angle;
}


sterretje valt dit misschien iets makkelijker te maken

wat voor foutmeldingen krijg je, zoals buj define mist een cijfer
net zoals een pinnummer ontbreekt bij de servo.
test eerst eens je button en daarna de servo met standaard commandos en daarna kun je met classes beginnen

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.