Acties:
  • 0 Henk 'm!

  • Bramtweakers
  • Registratie: Mei 2019
  • Laatst online: 15-09 12:50
Dag Allen,

Ik wil een nieuw hobby-projectje starten met een paar Arduino's.
Ik wil een draadloze quiz-set maken met een rode knop waarop je kan drukken.

Als je de eerste bent, krijg jij de 'beurt'. Ik wil het draadloze, regelen met 433 mhz vanwege het bereik en omdat ik er ervaring mee heb.

Even een vraagje:
Hebben jullie ervaring met de 'snelheid' van het verwerken van een 433 mhz signaal van Arduino?

ik las op internet dat het ontvangen van een signaal wel 170 ms kan duren, dat vind ik wat veel klinken.

Heeft iemand hier ervaring?

Mvg
Bram

Acties:
  • 0 Henk 'm!

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
433 MHz is niet alleen veel te traag maar als er meerdere zenders tegelijkertijd gaan zenden verstoren deze elkaar zodat je uiteindelijk niets ontvangt.

Acties:
  • 0 Henk 'm!

  • DaWaN
  • Registratie: Oktober 2002
  • Laatst online: 11-09 12:39

DaWaN

'r you wicked ??

In principe is de draadloze verbinding niet de beperking, daar zit nauwelijk (<1uS) vertraging in.
De vertraging zit echter vooral in de implementatie (wat voor draadloze chips, hoe verwerkt de hardware / software de signalen/paketten).
Je zult dus wat specifieker de zenders / ontvangers en gebruikte software moeten specificeren voordat iemand een zinnig antwoord op de vraag kan geven.

If you do not change direction, you may end up where you are heading


Acties:
  • 0 Henk 'm!

  • remco_k
  • Registratie: April 2002
  • Laatst online: 00:00

remco_k

een cassettebandje was genoeg

Wat betekend dat je dus eigenlijk altijd een tijd X hebt tussen zenden en ontvangen. Je zult (en kan) daar in je software rekening mee moeten gaan houden. (Wat betekend dat je eigenlijk één Arduino moet aanwijzen als dirigent van het geheel).

Maar dan heb je nog niet opgevangen dat er 2 of meer gelijkertijd zenden, dus ook dat is aan de dirigent om te regelen. Elke Arduino moet zeg maar zijn eigen tijdslot krijgen om te zenden, zodat ze altijd na elkaar zenden. Het is vervolgens aan de dirigent om mbv de content te bepalen wat de latency X was (zeg die 170ms) en hoeveel tijd Y de zendende Arduino heeft gewacht op zijn tijdslot voor verzenden. Op die manier kan de dirigent bepalen wie er daadwerkelijk het eerste was.

Makkelijkste is denk ik om alle Arduino's uit te rusten met een RTC, zorgen dat die in sync is en daarmee rekenen. Of alleen de dirigent met een RTC uitrusten en de tijd periodiek uitzenden naar de clients.

[ Voor 12% gewijzigd door remco_k op 27-04-2025 13:01 ]

Alles kan stuk.


Acties:
  • +1 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Nu online

Onbekend

...

Met het "wie het snelste drukt"-principe, wil je voorkomen dat door een vertraging 1 team een significant voordeel krijgt t.o. een ander team.

Je zou onderling een bedrade verbinding kunnen maken, zodat je dat probleem al afvangt voordat het signaal wordt verzonden.

Een andere mogelijkheid is door een timestamp mee te geven in het signaal. Voorafgaand aan de quiz doe je eerst een tijdsynchronisatie. (Zie ook NTP-protocol.)
Daarna geef je bij het indrukken van de knop de timestamp van het indrukken via de draadloze verbinding door aan de quizmaster, waarna die d.m.v. vergelijken van timestamps weet welke knop daadwerkelijk sneller was.


(En vergeet ook niet in te bouwen dat die knoppen elke x seconden ook even moeten zenden om te controleren of de verbinding nog in orde is. :) )

Speel ook Balls Connect en Repeat