Programma keuze

Projecten die niet passen in bovenstaande onderwerpen
Gebruikers-avatar
Berichten: 1767
Geregistreerd: 06 Aug 2016, 01:03

Re: Programma keuze

Berichtdoor Koepel » 04 Apr 2018, 13:38

Mijn sketch heeft weinig te maken met jouw situatie.
Ik had een idee en dat heb ik lukraak in een sketch gesmeten. De stapgrootte is alleen maar voor de simulatie van de motor.

Het gaat er om dat je weet wanneer de motor bezig is en wanneer dat afgelopen is. De ingedrukte knop bewaar je in een globale variabele en als de motor klaar is met een cyclus, dan kijk of er iets bewaard was.

Een "void" is een niks, een grote leegte, iets dat niet meer geldig is.
Wanneer je een apparaat open maakt, dan is de garantie een "void".
Een functie die geen return waarde heeft, die geeft een "void" terug, niets dus.
In het grote lege "void" staren, betekent in het grote niks staren.
Een "void" in een pyramide is een holle ruimte.
Scroll hier eens halverwege de pagina voor het uitgebreide antwoord van Nick Gammon: https://arduino.stackexchange.com/questions/51064/why-do-people-complain-when-i-call-my-functions-voids, "Think of the word function as being there in spirit".

Advertisement

Berichten: 27
Geregistreerd: 05 Mrt 2018, 07:30

Re: Programma keuze

Berichtdoor Arduinouno » 04 Apr 2018, 21:59

Of kan ik ook iets programmeren dat de trigger van de drukknop genegeerd wordt als er al een programma loopt?

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

Re: Programma keuze

Berichtdoor Koepel » 04 Apr 2018, 22:10

Natuurlijk, dat is waar een programmeertaal voor bedoeld is. Om allerlei (logische) condities in code te kunnen beschrijven.

Wil je misschien teveel ?
Je kunt misschien beter dicht blijven bij wat je nu kunt. Vandaar uit kun je verder uitbouwen en nieuwe dingen onder de knie krijgen.

Berichten: 27
Geregistreerd: 05 Mrt 2018, 07:30

Re: Programma keuze

Berichtdoor Arduinouno » 05 Apr 2018, 08:54

Maar ik vindt niet met welk commanda ik dat kan doen

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

Re: Programma keuze

Berichtdoor Koepel » 05 Apr 2018, 10:11

Er is niet een magisch commando dat alle problemen oplost.
Programmeren bestaat er uit om een bepaalde logische structuur te ontwerpen, waarbij gebruik gemaakt wordt van wat die programmeertaal biedt.
Je kunt misschien beter eerst een "c" en "c++" cursus gaan doen.

Hier is een lijstje: https://www.arduino.cc/reference/en/#structure.
Je kunt bijvoorbeeld op "if...else" en "while" en "for" klikken, dan zie uitleg en een voorbeeld.

Berichten: 27
Geregistreerd: 05 Mrt 2018, 07:30

Re: Programma keuze

Berichtdoor Arduinouno » 07 Apr 2018, 08:44

ik heb nog wat geprobeerd maar krijg het niet in orde,

dit is het deel van het programma waar het over gaat, hopelijk kan er iemand mij helpen, want mij lukt het niet.

void draaibeweging_afvoer()
{
ButtonState1= digitalRead(buttonPin1);
ButtonState3= digitalRead(buttonPin3);
ButtonState4= digitalRead(buttonPin4);
Clevel= analogRead(C);
if (Clevel < threshold && ButtonState1 == HIGH && ButtonState3 == HIGH && ButtonState4 == LOW) { //draaibeweging CW
digitalWrite(in_1, LOW);
digitalWrite(in_2, HIGH);
analogWrite(pwm, 59);
}
else if (Clevel < threshold && ButtonState1 == HIGH && ButtonState4 == HIGH && ButtonState3 == LOW) { //draaibeweging CCW
digitalWrite(in_1, HIGH);
digitalWrite(in_2, LOW);
analogWrite(pwm, 59);
}
}

buttonstate 3 en 4 zijn de keuzeschakelaars

alvast bedankt

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

Re: Programma keuze

Berichtdoor shooter » 08 Apr 2018, 21:44

zety er eertst eens netjes haakjes omheen, en met een paar serial prints erin zodat je kunt debuggen.
want de compiler weet zich soms geen raad met al die beslissingen. dus haakjes om elke fase: (clevel< threshold)&&(button= high) && ...
en eventueel zelfs er variabelen tussen zetten dan weet je wat er gebeurt.
paul deelen
shooter@home.nl

Berichten: 27
Geregistreerd: 05 Mrt 2018, 07:30

Re: Programma keuze

Berichtdoor Arduinouno » 16 Apr 2018, 16:27

ik heb nog even wat geprobeerd, maar krijg het niet werkend.

nu zou het ook al voldoende zijn dat de trigger van de drukknopen enkel werkt als de motor stilstaat. Maar weet niet hoe ik dit kan doen. Want ik heb niets van de motor dat ik als input kan uitlezen.

iemand tips?

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

Re: Programma keuze

Berichtdoor shooter » 16 Apr 2018, 22:32

allereerst zet het hele programma netjes in tags, dan kunnen we het goed lezen, verder zet meer commentaar neer, en maak de variabelen logisch namen. wat betekent in_1 etc.

Maak een schema wat er moet gebeuren, en zet dat in je comments.
Doe met de monitor kijken wat er gebeurt en wanneer.
zorg dat alles in een uitgangspositie staat.

en voor ons leg uit wat het probleem is, ipv te zeggen ik heb een probleem.
paul deelen
shooter@home.nl

Berichten: 27
Geregistreerd: 05 Mrt 2018, 07:30

Re: Programma keuze

Berichtdoor Arduinouno » 17 Apr 2018, 17:34

In_1 en in_2 zijn de motoraansluitingen

Het probleem is dat als ik op een drukknop duw, het programma begint, maar als ik terwijl het programma loopt op de andere drukknop duw, voor de andere kant op te gaan dit ook gebeurd. En dit zou niet mogen gebeuren als de motor draait

VorigeVolgende

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast