auto met geluid

Arduino specifieke Software
Berichten: 2
Geregistreerd: 07 Okt 2015, 21:57

auto met geluid

Berichtdoor vingino » 07 Okt 2015, 22:11

Hoi,

ik wil een auto maken met arduino. die ook geluid kan maken met een piezo.

Nu is het probleem dat wanneer ik een soort van sirene aan wil zetten. De hele loop wordt gedelayed.
Dit komt denk ik omdat ik delay gebruik tijdens het afspelen van de sirene. Ik heb eerst pin hoog en dan even delay en dan pin laag, weer delay enz enz

Wanneer ik tijdens het spelen van de sirene bijvoorbeeld mijn lichten aan wil zetten, dan duurt dat eventjes en niet meteen.

Hoe kan ik ervoor zorgen dat de delay van de sirene geen invloed heeft op de rest?

Advertisement

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

Re: auto met geluid

Berichtdoor nicoverduin » 08 Okt 2015, 07:58

Zoek het programma "blink without delay". Er wordt daar gebruik gemaakt van de millis() functie wat gewoon een timer is.
Als je delay() gebruikt doet de processor letterlijk niets totdat de delay voorbij is. Gebruik je timers dan zal jou processor gerust 10.000x per seconde kijken of zo'n timer is verlopen. Zo niet is de rest van de tijd beschikbaar voor bijvoorbeeld het aan/uitzetten van de leds of zo iets.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

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

Re: auto met geluid

Berichtdoor shooter » 08 Okt 2015, 09:07

en als aanvulling er bestaan ook micros, om hogere tonen te maken.
en je kunt tonen maken met jawel tone().
bedenk dat voor alles wat je kunt bedenken er al een oplossing bestaat.

delay is mooi als begin maar na 1 les zul je nooit meer delay gebruiken.
paul deelen
shooter@home.nl

Berichten: 2
Geregistreerd: 07 Okt 2015, 21:57

Re: auto met geluid

Berichtdoor vingino » 13 Okt 2015, 01:40

ik ben er laatst een hele tijd mee bezig geweest, maar ik kom er toch niet uit.

ik wil met een knop een liedje aanzetten/beweging uitvoeren.
maar hij moet tegelijk blijven rjiden.

met delay dan stopt de auto ook met rijden. Nu wil ik dus millis() invoeren, maar ik snap niet precies hoe ik dat moet invoeren als ik een actie aanroep.

het is niet zo dat er een actie om de 500 milliseconde uitgevoerd moet worden. Maar in de actie moet er pas een delay zijn. Alleen deze actie kan dus op een willekeurig moment uitgevoerd worden.
Mijn vraag is dus nog steeds:

hoe kan ik de delay dan vervangen?

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

Re: auto met geluid

Berichtdoor shooter » 13 Okt 2015, 22:07

je zet ergens een variabele en die vul je met de tijd (millis of micros)
in de loop kijk je of de millis-jouw variabele > de tijd die je wilde wachten, als dat zo is dan ga je dus naar een functie om iets te doen.
paul deelen
shooter@home.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 88 gasten