Arduino Pinewood Derby Timer (2 / 3 étapes)

Étape 2: L’esquisse de la minuterie

Porter attention à l’esquisse de la PinewoodTimer, tout d’abord, certains paramètres clés sont définis...

#define IR_THRESHOLD 200 / / voiture détecte le seuil

#define STARTER_PIN / / départ interrupteur de porte = pin 2

#define QTI_PIN_OFFSET 5 / / voies 0-2 = broches 5-7

#define NUM_LANES 3 / / nombre de voies

#define TRACK_LENGTH 50 / / pieds

#define échelle 25 / / échelle 01:25

#define TIMEOUT 6000 / / ms pour la course timeout/redémarrage

Le IR_THRESHOLD doit être définie dans la fenêtre définie par les conditions ambiantes de IR et réponse QTI déterminée avec l’esquisse de la PinewoodCalibrate. STARTER_PIN spécifie le NIP utilisé pour le commutateur de la grille de départ (l’autre côté de l’interrupteur est relié à la terre) tandis que QTI_PIN_OFFSET détermine les connexions des broches pour les capteurs QTI. Suivre les diverses configurations et tailles de voiture sont pris en charge avec échelle, TRACK_LENGTH et NUM_LANES. Enfin, un délai d’attente termine la course si, par exemple, une voiture ne finit pas ou seulement deux voitures racing, etc..

La routine d’installation juste permet au terminal série et définit le mode de broche pour l’interrupteur de porte de démarreur.

void setup() {}

Serial.Begin(9600) ;

pinMode(STARTER_PIN,INPUT_PULLUP) ;

}

La boucle principale commence par définir les variables utilisées. La valeur de start_time est la base pour la course et (temps écoulé) avec le tableau finish_et [] stocker le temps pour chaque voie. La variable race_over compte combien de voitures ont franchi la ligne d’arrivée.

Après avoir dégagé le [finish_et] pour chaque voie, "Prêt..." est affiché sur le terminal et le croquis attend la course commencer. Lorsque l’interrupteur de démarrage ouvre l’esquisse imprime « Go » et ensuite entrer dans la boucle principale de chronométrage. Dans la boucle, chaque voie est vérifiée la présence d’un finisseur en comparant son capteur QTI lecture avec le seuil. Une fois qu’une voiture est détectée, le temps écoulé pour cette voie est stocké. La boucle de synchronisation s’exécute jusqu'à ce que la course est terminée (c.-à-d. NUM_LANEs voitures franchissent la ligne d’arrivée, ou le délai d’expiration est dépassée).

Inclure une déclaration (ici commentée) pour afficher le temps requis pour vérifier toutes les voies, qui à son tour détermine combien de voies le croquis peut gérer. J’ai observé le temps de la boucle pour une installation à 3 voies à 9-10 millisecondes, soit environ 3 millisecondes par couloir. Si, par exemple, le temps par voie de circulation est 3ms et une voiture prend 30 millisecondes pour franchir la ligne d’arrivée, l’esquisse pourrait théoriquement soutenir jusqu'à dix voies. Une marge devrait être toutefois d’accommodement, par exemple, une voiture particulièrement rapide (ou courte). Pour tester réellement les capacités de la voie, vous pouvez augmenter NUM_LANES et exécuter des essais répétés pour déterminer à quel point la minuterie commence à « miss » une voiture rapide, franchissant la ligne d’arrivée. Notez que vous pouvez faire ce test pour n’importe quel NUM_LANES avec juste une seule voiture/voie.

void loop() {}

start_time long, et = 0, finish_et [NUM_LANES] ;

int race_over = 0 ;

int i ;

pour (i = 0; i < NUM_LANES; i ++) {}

finish_et [i] = 0 ;

}

Serial.println("Ready...") ;

tandis que (digitalRead(STARTER_PIN)==0) {}

}

Serial.println("Go!") ;

start_time = millis() ;

tandis que ((race_over < NUM_LANES) & & (et < TIMEOUT)) {}

et = millis ()-start_time ;

pour (i = 0; i

Si (RCTime (I + QTI_PIN_OFFSET) < IR_THRESHOLD) {}

Si (finish_et [i] == 0) {}

finish_et [i] = he ;

race_over ++ ;

}

}

}

Serial.println(Millis()-(et+start_time)) ;

}

Une fois que la course est terminée, l’heure de fin pour chaque voie est affiché. À l’aide de la TRACK_LENGTH et l’échelle j’ai également afficher la vitesse moyenne dans « mise à l’échelle MPH » (les gens s’énerver quand leur voiture va 250 MPH: =). Après que les résultats des courses sont affichés le croquis attend la grille de départ fermer en prévision de la prochaine course. La déclaration de retard assure la grille de départ interrupteur bounce faussement ne déclenche pas un redémarrage immédiat.

Serial.println() ;

pour (i = 0; i

Serial.Print ("Lane") ;

Serial.println(i+1) ;

Serial.Print ("Time") ;

Serial.println(float(finish_et[i]/1000.0)) ;

Serial.Print ("Speed") ;

flotteur fps = TRACK_LENGTH/(finish_et[i]/1000.0) ;

flotteur mi/h = ((fps * 3600.0) / 5280.0) * à l’échelle ;

Serial.Print(int(mph)) ;

Serial.println ("MPH") ;

Serial.println() ;

}

tandis que (digitalRead(STARTER_PIN)! = 0) {}

Delay(50) ;

}

Tout ce qui reste est la routine de RCTime avec la permission de parallaxe (http://learn.parallax.com/KickStart/555-27401), qui acquiert la lecture du capteur QTI. Cela fonctionne en mesurant le temps de décharge d’un condensateur à travers une résistance variable (selon la quantité de IR réfléchie).

long RCTime (int sensorIn) {}

longue durée = 0 ;

pinMode (sensorIn, sortie) ; Faire des broches sortie

digitalWrite (sensorIn, HIGH) ; Broche haute (décharge de condensateur)

Delay(1) ; Attendre 1 ms

pinMode (sensorIn, entrée) ; Faire des broches d’entrée

digitalWrite (sensorIn, basse) ; Mettez hors tension interne pullups

while(digitalRead(sensorIn)) {/ / attente pour bornes aller en bas

durée ++ ;

}

retourne la durée ;

}

Articles Liés

Pinewood Derby auto‑patrouille

Pinewood Derby auto‑patrouille

c'est la saison de Pinewood Derby !  Cette année j'ai construis une avec une puce arduino à l'intérieur.  Cette voiture a conduit feux de tête et la queue.  Il a aussi des feux clignotants rouges et bleus qui sont contrôlés par la puce de l'arduino.J
Pinewood Derby à LEDs programmables

Pinewood Derby à LEDs programmables

Une autre prise sur une voiture de Pinewood Derby avec lumières, cette fois avec un Atmel ATtiny2313microcontrôleur à l'intérieur (avec un désordre de fils). Je n'ai pas vérifié, mais une rudecalculs suggèrent que les lumières devraient fonctionner p
Gainables Fan Pinewood Derby voiture

Gainables Fan Pinewood Derby voiture

Lors de mon lieu de travail (Adobe) a annoncé un concours de Pinewood Derby, j'ai décidé de participer dans la catégorie hors-la-loi/illimité. Un bon nombre d'années, j'ai fait une voiture à l'aide d'une hélice et moteur électrique reciblées d'un pla
Pinewood Derby voiture détaillant les idées

Pinewood Derby voiture détaillant les idées

Certains enfants (ou parents) s'en fout sur une voiture rapide. Pour eux, c'est tout au sujet de style...Dans ce instructable, je vais partager les astuces que j'ai utilisé au cours de ma première expérience de décoration voitures de pinewood derby a
Comment construire un imbattable Pinewood Derby Racer

Comment construire un imbattable Pinewood Derby Racer

dans cette vidéo je vous montre comment construire un imbattable Pinewood Derby Racer.Nous vous montrons les trucs et astuces, que nous avons utilisé pour gagner la course de Derby Pinewood local.N'hésitez pas à utiliser ces secrets de vitesse pour p
Pinewood Derby voitures phares à l’aide de Chibitronics

Pinewood Derby voitures phares à l’aide de Chibitronics

Pinewood Derby voitures sont impressionnantes, enfants adorent ce qui les rend et ils apprennent beaucoup sur le travail du bois, peinture, distribution aérodynamique et le poids. Pour améliorer l'expérience (et rendez votre voiture encore plus cool)
Pinewood Derby voiture inspirée de LEGO Ninjago

Pinewood Derby voiture inspirée de LEGO Ninjago

nos annual louveteau Pinewood Derby (http://en.wikipedia.org/wiki/Pinewood_derby) a été une chance pour mon six-year-old de combiner deux de ses choses préférées : faire des choses et LEGO, en particulier le monde axée sur l'histoire de LEGO Ninjago
Ajoutant le poids d’une voiture de Pinewood Derby rapidement et à moindre coût.

Ajoutant le poids d’une voiture de Pinewood Derby rapidement et à moindre coût.

je cherchais un moyen rapide et facile ajouter du poids à une voiture de Pinewood Derby. Vous pouvez utiliser de plomb ou tungstène, mais ils sont relativement coûteux (1-2 $ par once), sont de formes bizarres, et il faut trouver un moyen de les atta
Socle à trophée Pinewood Derby

Socle à trophée Pinewood Derby

il est en train de devenir cette période de l'année où on commence à travailler sur nos voitures de Pinewood Derby pour nos louveteaux.Cependant, après tous les efforts dans la construction et de votre voiture de course, Comment prévoyez-vous affiche
Pinewood derby video voiture (avec suspension)

Pinewood derby video voiture (avec suspension)

cette année mon fils aîné louveteau pack avait une division ouverte. Je crois que les voitures que la course des enfants devrait être leur propre création. Donc, après avoir servi comme un moniteur de sécurité pour la création de la vraie voiture. J'
Voiture de Bob-omb pinewood derby (impression 3D)

Voiture de Bob-omb pinewood derby (impression 3D)

pour le Derby de Pinewood est autour du coin et vous souhaitez rendre la voiture plus cool pour la course. Vous vous rendez compte que vous ne voulez pas faire votre voiture en bois et les modèles bois prédécoupés attends collantes. Puis vous vous re
HMMWV (Humvee) Pinewood Derby voiture

HMMWV (Humvee) Pinewood Derby voiture

c'est la saison de Pinewood derby pour les louveteaux. Comme un père d'une race et un chef de file de Den, j'espère pouvoir donner vos quelques idées sur la construction de votre voiture. N'oubliez pas, la voiture est censée être un projet de son pèr
Pinewood Derby voiture avec LEDs et Jimmy Neutron

Pinewood Derby voiture avec LEDs et Jimmy Neutron

Vous connaissez votre en difficulté lorsque vous démarrez inquiétante sur le logiciel dans la voiture de Pinewood Derby de ton fils !Cette année j'ai décidé de renoncer à essayer de rivaliser avec les « têtes » dans notre meute de louveteaux. Il y a
Pinewood Derby voiture sur Shopbot

Pinewood Derby voiture sur Shopbot

où mon fils est en concurrence à Pinewood Derby, ils ont des règles très strictes sur quels travaux les garçons doivent faire sur leur propre voiture.  Les divisions garçons ont des règles strictes sur ce qui peut ou ne peut se faire.Mais ensuite, il