Senior probeert Arduino

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 2
Geregistreerd: 27 Jul 2019, 11:18

Senior probeert Arduino

Berichtdoor mk007 » 27 Jul 2019, 11:37

Goede dag,

Omdat ik niet zo piep meer ben (50+) en het moderne tijdperk voor mij toch wat lastig is, ga ik via internet proberen dingen onder de knie te krijgen. Het bezoeken van een forum is één van die stappen. Misschien zijn hier mensen die me onder de arm willen grijpen als ik vast loop. Ik denk dat het vaak (voor u hier op het forum) hele simpele zaken zullen zijn.

Ik heb me dus een Arduino gekocht om wat te experimenteren en om een beetje bij te blijven in deze ingewikkelde moderne wereld. Met veel gedoe heb ik de Arduino aan de praat gekregen op mijn PC. Dus nu kan ik aan de slag....

Mijn Arduino is de Arduino Uno R3.

Wat ik graag wil proberen, maar nog verre weg ben van succes, is om een Servo te bedienen. (servo is de WAVGAT MG995).
De ingebrande sketsch, in het programma, werkt wel. Maar ik wil eigenlijk iets anders. De bedoeling is het dat de servo stil
blijft zodra de Arduino aangesloten wordt op 5V. Door het drukken op een schakelaar (enkel polig-maakcontact) moet de servo
100 graden draaien, 5 seconden op positie blijven en zelfstandig weer terug gaan in de uitgangspositie en verder niets meer doen
totdat de schakelaar weer zal worden ingedrukt. Dus kort; Arduino op spanning, schakelaar bedienen, servo gaat van 0 naar 100
graden, servo blijft 5 seconden op deze positie, daarna gaat de servo weer naar zijn 0 positie en stopt.

PS:
Belangrijk is dat we hier te maken hebben met een maakcontact schakelaar. Dus geen schakelaar die je de hele cyclus moet
indrukken. Je geeft alleen een enkele puls af aan de Arduino. De rest moet de Arduino doen.

Iemand interesse of zin/tijd om me hier behulpzaam mee te zijn??

Met vriendelijke dank,

Marcel

Advertisement

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Senior probeert Arduino

Berichtdoor shooter » 27 Jul 2019, 12:20

Ook jij bent welkom en de meeste hier zijn best wel oud hoor dus je bent wat dat betreft niet alleen.
Nu over je probleem.
Jij hebt dus al een arduino en een servo.
allereerst maar even de drukknop. sluit deze aan op een digitale poort zoals D7 (0 en 1 worden door de USB gebruikt.
zorg voor een cheatsheet of kijk op de reference zoals in http://www.arduino.cc staat.
Daar staat precies in hoe je dat kunt doen. Als je INPUT_PULLUP gebruikt dan heb je alleen een draad nodig van jouw schakelaar naar de Gnd en natuurlijk van de andere kant van de schakelaar naar de inputpin.
Je kunt de editor gebruiken die bij op arduino.cc staat of als dat nog een beetje te moeilijk is kun je SCRATCH (in de vorm van bijv MBlock gebruiken)
dan een voorbeeld recht uit de reference
cpp code
int ledPin = 13;  // LED connected to digital pin 13
int inPin = 7; // pushbutton connected to digital pin 7
int val = 0; // variable to store the read value

void setup() {
pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output
pinMode(inPin, INPUT); // sets the digital pin 7 as input
}

void loop() {
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED to the button's value
}


cpp code
#include <Servo.h>

Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0; // variable to store the servo position

void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop() {
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(15); // waits 15ms for the servo to reach the position
}
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(15); // waits 15ms for the servo to reach the position
}
}

zo en nu deze samen vatten een uitbreiding

if (val==LOW)
je mag maar een keer setup en loop gebruiken.
in de loop komt bijv te staan if (val==LOW){int vlag=1}
daaronder if (vlag) {// doe iets met je servo
vlag=0;}

ik heb express niet het preciese oplossing gegeven, zelf ook wat puzzelen.
Veel succes.
paul,
paul deelen
shooter@home.nl

Berichten: 2
Geregistreerd: 27 Jul 2019, 11:18

Re: Senior probeert Arduino

Berichtdoor mk007 » 27 Jul 2019, 23:02

Hoi Paul,

Hartelijk dank voor je uitleg (en tijd). Ik heb hier wel even op te kauwen.
De komende tijd ga ik het eens uitpluizen en probeer het verder te puzzelen.
Als ik er niet verder mee kom zal ik me wel weer melden. Als het gelukt is
natuurlijk ook.

Groet,
Marcel

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 10 gasten