[informatica]
Moderators: ArcherBarry, Fuzzwood
-
- Berichten: 817
[informatica]
Beste
Ik Wil een servomotor stapsgewijs laten draaien.
Dus wanneer een 8 wordt ingegeven in de sérielle monitor 45 graden naar links en 9 45 graden naar rechts.
Voor het draaien in stappen gebruikte ik een for loop. Voor het onderscheidt tussen 8 en 9 gebruikte ik if statement.
Maar het lukt gewoon niet. Ik ben hele nacht bezig geweets maar het lukt niet en ik moet morgen klaar zijn.
Ik heb echt jullie hulp nodig
Ik Wil een servomotor stapsgewijs laten draaien.
Dus wanneer een 8 wordt ingegeven in de sérielle monitor 45 graden naar links en 9 45 graden naar rechts.
Voor het draaien in stappen gebruikte ik een for loop. Voor het onderscheidt tussen 8 en 9 gebruikte ik if statement.
Maar het lukt gewoon niet. Ik ben hele nacht bezig geweets maar het lukt niet en ik moet morgen klaar zijn.
Ik heb echt jullie hulp nodig
- Moderator
- Berichten: 9.894
Re: [informatica]
Lukt het draaien niet of het de juiste kant op niet?
Ik ken die programmeertaal niet maar veel talen lijken op elkaar. Laat de code eens zien.
Ik ken die programmeertaal niet maar veel talen lijken op elkaar. Laat de code eens zien.
- Moderator
- Berichten: 9.894
Re: [informatica]
Als het zelfs niet draait kan ik je niet helpen, ik heb geen Arduino dus ik kan het niet proberen.
De taal doet erg aan C denken.
Ik zie wel een fout, in de laatste lus, voor getal 9, moet 'pos-=5' staan.
De taal doet erg aan C denken.
Ik zie wel een fout, in de laatste lus, voor getal 9, moet 'pos-=5' staan.
- Berichten: 2.268
Re: [informatica]
Arduino is het platform, de programmeer taal is sketch. Heb je de seriele interface al kunnen testen? Is dat via een kabel tussen pc en arduino of wat gebruik je?
-
- Berichten: 7.068
Re: [informatica]
De taal is C++. Een sketch is de term voor een programma bij Arduino.
Het programma zou twee dingen moeten doen: input verwerken en een motor aansturen. De truc is om deze taken eerst los van elkaar te testen. Maak eerst een programma dat alleen de motor aanstuurt. Maak daarna een programma dat puur de input-afhandeling regelt. Als je beide stappen kunt dan kun je het daarna combineren.
Ik vermoed trouwens dat 'Serial.read' je de karakterwaarde geeft van het eerste byte. Ik verwacht dat een '8' je het getal 56 geeft (en '9' = 57). Geen van beide if-statements zal ooit matchen op 8 of 9 (is mijn vermoeden).
Het programma zou twee dingen moeten doen: input verwerken en een motor aansturen. De truc is om deze taken eerst los van elkaar te testen. Maak eerst een programma dat alleen de motor aanstuurt. Maak daarna een programma dat puur de input-afhandeling regelt. Als je beide stappen kunt dan kun je het daarna combineren.
Ik vermoed trouwens dat 'Serial.read' je de karakterwaarde geeft van het eerste byte. Ik verwacht dat een '8' je het getal 56 geeft (en '9' = 57). Geen van beide if-statements zal ooit matchen op 8 of 9 (is mijn vermoeden).
-
- Berichten: 817
Re: [informatica]
Evilbro.
Je hebt gelijk. Ik heb de waarde aangepast en het werkt.
Je hebt gelijk. Ik heb de waarde aangepast en het werkt.
- Berichten: 2.268
Re: [informatica]
Dat het gebaseerd is op C is uiteraard correct. Zeggen dat de taal C++ is vind ik niet correct. Je kan een sketch programma wel uitbeiden met C++ code. Bij ons wordt overal programmeren in sketch gezegd.
-
- Berichten: 7.068
Re: [informatica]
Geloof ik zo...
Maar, van de glossary van Arduino (link): "Sketch - The term given to programs written in the Arduino IDE. "
De taal heet volgens mij officieel de 'Arduino programming language'.
De IDE compiled volgens mij met avr-gcc tegen avr-libc aan. Het flinterdunne laagje om C/C++ heen, kan ik best negeren zonder al te veel gewetensbezwaren.
Heb jij een voorbeeld van C++ code die niet werkt in een Sketch? (En dan hebben we het dus niet over het ontbreken van eventuele standaard libraries).
- Moderator
- Berichten: 9.894
Re: [informatica]
Mooi gezien.
Vreemd dat dat TS niet opgevallen was, 'serial.print(getal)' had toch de foute, niet bedoelde waarde moeten laten zien.
- Berichten: 2.268
Re: [informatica]
Er gebeurt een soortvan preprocessing van een Sketchprogramma om het om de sketch om te zetten naar C++. Je werkt ook niet met een main programma, maar met een loop zoals bij een PLC. Op zich zal je wel alle C++ code kunnen gebruiken, vermoed ik. Ik heb nog nooit met klasses gewerkt in sketch. Meestal is de code eerder klassiek C-achtig.
-
- Berichten: 7.068
Re: [informatica]
"The Arduino language is C++."
(bron: link naar waar dit staat op de Arduino website, eerste zin onder het kopje 'The Arduino language')
(bron: link naar waar dit staat op de Arduino website, eerste zin onder het kopje 'The Arduino language')
- Berichten: 2.268
Re: [informatica]
Er is een preprocessor die alles omzet naar een C++ programma.
https://github.com/arduino/arduino-preprocessor
De kinderen en hobbyisten die Arduino's programmeren gaan echter dikwijls nog nooit gehoord hebben van C++. Je wordt daar van afgeschermd door de Arduino Sketch IDE. Je krijgt een skelet waarin je maar een paar lijntjes code moet invullen voor de meeste programma's.
Ik heb zelf ook nog nooit C++ code gebruikt in een Arduino projectje, alleen nog maar C-achtige code.
https://github.com/arduino/arduino-preprocessor
De kinderen en hobbyisten die Arduino's programmeren gaan echter dikwijls nog nooit gehoord hebben van C++. Je wordt daar van afgeschermd door de Arduino Sketch IDE. Je krijgt een skelet waarin je maar een paar lijntjes code moet invullen voor de meeste programma's.
Ik heb zelf ook nog nooit C++ code gebruikt in een Arduino projectje, alleen nog maar C-achtige code.
- Berichten: 2.268
Re: [informatica]
Je kan een Arduino ook programmeren in Scratch. Dat wordt ook heel veel gebruikt. Bij coderdojo wordt dat fel gepromoot om de kinderen te leren programmeren met Arduino.