fout in sketch

Arduino specifieke Software
Berichten: 4
Geregistreerd: 13 Jul 2019, 21:07

fout in sketch

Berichtdoor DWKUIJPERS » 13 Jul 2019, 21:31

// Met deze sketch worden twee servo's gecontroleerd met
// twee knoppen.
#include <Servo.h>
Servo myservo;

#define knop 1 7 //knop 1 naar pin 7
#define knop 2 6 //knop 2 naar pin 8
Servo servo1; //een servo heet servo 1
Servo servo2; //een servo heet servo 2
int val1 = 0 ; // val1 is de waarde van knop1 (0 of 1 )
int val2 = 0 ; // val2 is de waarde van knop2 (0 of 1 )
int pos1 = 0 ; //de positie van servo1 (tussen 0 of 180 )
int pos2 = 0 ; //de positie van servo1 (tussen 0 of 180 )
//0 is steeds de startwaarde
void setup ( ) {
servo1.attach(9); //servo1 verbonden met pin 9
servo2.attach(10); //servo2 verbonden met pin 10
pinMode (knop1, input); //knop1 is een input
pinMode (knop2, input); //knop2 is een input
}
void loop( ){
val1 = digitelRead (knop1); //lees knop1
if (val1==High) { //val1 is high als pin 7 hoog is ( 1 is )
pos1=170; // dus als knop 1 is ingedrukt
servo1.write(pos1); // ga naar positie 170 graden
delay(15); }
else {
pos1=10;
servo1.write(pos1); //ga naar positie 10 graden
delay(15);}

val2-digitelRead (knop2); //lees knop2
if (val2==High) { //val2 is high als pin 8 hoog is ( 1 is )
pos2=170; // dus als knop 2 is ingedrukt
servo2.write(pos2); // ga naar positie 170 graden
delay(15); }
else {
pos1=10;
servo2.write(pos2); //ga naar positie 10 graden
delay(15);}

}
Ik krijg een foutmelding in de void Loop.

Knop1 was not declared in this scope.
Maar ik kan de fout niet vinden.
Deze sketch van Youtube gehaald.
Is er iemand die mij kan helpen.

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: fout in sketch

Berichtdoor nicoverduin » 13 Jul 2019, 21:54

Ik nog eens goed kijken naar die code. Je wel meer type fouten gemaakt. Als alleen knop1
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4
Geregistreerd: 13 Jul 2019, 21:07

Re: fout in sketch

Berichtdoor DWKUIJPERS » 13 Jul 2019, 22:03

ik geloof best dat er meer fouten in zitten, maar ik ben beginner en heb deze sketch van youtube gehaald en precies overgetypt.
Meerdere malen nagekeken maar zie geen verschil met de gedownloade lijst.
Het zou dus fijn zijn als iemand mij tips zou kunnen geven.

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: fout in sketch

Berichtdoor Koepel » 13 Jul 2019, 22:49

Hallo DWKUIJPERS, welkom op dit forum.

Het is een beetje raar als wij de sketch voor je gaan herschrijven :roll: Dan moeten we gaan raden wat de uiteindelijke bedoeling van die sketch is :o
Kun je vertellen waar je die sketch gezien hebt ?
Het lijkt een beetje op dit: https://training.funmetelectronica.nl/docs/arduino-basis/lessen/les-9-servo-met-knop/.

Wat wil je gaan doen met servo motors ?
Misschien is het beter om eerst wat kleinere dingen te proberen.
Welk Arduino board heb je ?
Heb je al een ledje laten knipperen ? en kun je dat sneller en langzamer laten knipperen ?

Als je toch iets met servo motors wilt gaan doen, dan kun je beginnen met de BasOnTech video: https://www.youtube.com/watch?v=SeiX0QnevGY.

In de taal 'C' en 'C++' is er verschil tussen hoofdletters en kleine letters.
Arduino kent bijvoorbeeld "High" niet, maar als je wilt weten hoe digitalRead() werkt, dan staat dat online: https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/.

Gebruikers-avatar
Berichten: 631
Geregistreerd: 15 Nov 2015, 11:54

Re: fout in sketch

Berichtdoor Gij Kieken » 13 Jul 2019, 22:54

Er zijn inderdaad meerdere fouten.
knop 1 is niet het zelfde of knop1 en ook niet Knop1,,,
val1 = digital.... eerste regel na void loop,,
Heb niet meer verder gekeken en ook niet ervoor dit laat ik aan jouw over ,dit was in een eerste oogopslag,,,
Maar op die manier doe je wel de moeite om iets in te typen en zo stel je jezelf eigenlijk vragen bij het intikken hoe e.a. werkt...

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: fout in sketch

Berichtdoor Koepel » 13 Jul 2019, 22:59

Gevonden: https://sites.google.com/site/hwcontwerpen/sketches-les-0-t-m-9/les3-twee-servo-s-met-knoppen.
Hier staat een screendump van de sketch: https://oscarromero-arduino.weebly.com/les-7-meer-servo-motoren.html. Diegene schrijft er bij om de screendump maar over te typen :lol:
Dat hoort bij de Oscar Romero school.
@DWKUIJPERS, zit je op die school ?

Nu nog de betreffende Youtube video er bij zoeken ;)

Berichten: 4
Geregistreerd: 13 Jul 2019, 21:07

Re: fout in sketch

Berichtdoor DWKUIJPERS » 14 Jul 2019, 09:41

Allen bedankt voor de snelle reactie en tips.
Ik begrijp dat elke type fout de werking beïnvloed.
Nee ik zit niet meer op school en ben met pensioen 69 jaar oud.
En inderdaad was het les 9 op youtube.
Zo te zien zijn dus deze fouten er bewust in gezet om leerlingen scherp te houden.
Maar ik probeer mij als beginneling in deze materie te verdiepen daar ik op een modelspoorweg club zit.
Zo heb ik het starters pakket Arduino voor dummies gekocht. Met een Arduino Uno en Mega 2560 baord
En zoals gevraagd heb ik de proeven met ledjes gedaan en ook een enkele servo laten besturen.
Maar waar het om gaat is het volgende:

We hebben op de baan twee kranen staan die worden nu handmatig gestuurd via een Lenz centrale
Dan moet elke keer een code intoetst om de kraan te draaien en de lading van de kade naar een schip over te brengen.
Elke kraan heeft twee aangepaste servo's een voor horizontaal ( 0 tot 120 gr ) heen en terug en een voor verticaal ( 0 tot 120 ) op en neer.
We willen door twee drukknoppen deze kranen laten besturen door bezoekers als we op een beurs staan bijvoorbeeld.
Nu staat er heel de dag een van ons de kranen aan te sturen.
Dit om de bezoekers meer te betrekken bij de baan.
Uiteraard hoef ik geen kant en klare sketch dat zou te veel gevraagd zijn en wie weet bestaat er al een , maar wat uitleg is welkom.

Alvast bedankt.

Berichten: 4
Geregistreerd: 13 Jul 2019, 21:07

Re: fout in sketch

Berichtdoor DWKUIJPERS » 14 Jul 2019, 09:47

Dus voor de goede orde elke kraan moet door twee drukknoppen bedient worden.
Horizontaal namelijk ( 0 tot 120 graden) instelbaar en Verticaal ( 0 tot 120 graden) instelbaar.

D.W.Kuijpers

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

Re: fout in sketch

Berichtdoor shooter » 14 Jul 2019, 12:54

Leuk idee, Je kunt ook een joystick gebruiken. Dan heb je minder rompslomp en de controle is ook wat beter.
en afhankelijk van de kraan heb je nog een set nodig voor de hijs.
maar dat is geen probleem.
Als eerste zou ik dus een stopcontact maken zodat je de kraan via lenco kunt bedienen en als je de stekker omzet met je arduino.
Tegelijk gaat niet.
De software is erg simpel en bestaat eigenlijk uit inlezen van de knoppen en direct naar de servo sturen.
Als het werkt, dan kun je denken aan begrenzen van de slag. Ook de snelheid is aanpasbaar. Je kunt ook denken aan versnellen etc.
Zelfs een demo stand zodat het helemaal vanzelf gaat is zeker mogelijk.
En het is zelfs mogelijk om deze vanuit een gebeurtenis te sturen.
de volgorde van je programma is goed overigens, het betekent dat als de drukknop1 is er gedraaid word, en als je hem loslaat draait het terug.
Nu de fouten er nog uit. Doe knop1 maar eens zoals je gewend bent als een int schrijven.
dan krijg je een foutmelding op de goed plek.
Verder zie ik High staan in een int en dat kan dus ook niet dat moet dus 1 zijn voor een digitale ingang als je tenminste een int begint. Je hebt overigens wel gelijk hoor eigenlijk is het een boolean.
verder schrijf je een if om de positie te zetten, maar daaronder staat dus ook gelijk een servo sturing.
Die kun je beter onderaan de loop zetten dus servo1.write(pos1);servo2.write(pos2);
Probeer uitgangen bij elkaar te zetten om dubbele sturing te voorkomen.
paul deelen
shooter@home.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 19 gasten