Table des matières:
- Étape 1: Téléchargez le logiciel approprié sur votre ordinateur
- Étape 2: Matériel
- Étape 3: placez le vélo sur un support de vélo stationnaire
- Étape 4: Téléchargez et testez le code Arduino
- Étape 5: Configurer le contrôleur YouTube
Vidéo: Simulateur de vélo avec réglage de la vitesse en temps réel : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Ce projet utilise un interrupteur magnétique pour créer un compteur de vitesse et contrôler la vitesse vidéo des vidéos de cyclisme à la première personne sur YouTube ou d'autres médias. L'Arduino calcule le mph, puis utilise ces informations pour simuler une pression sur un bouton de l'ordinateur. Cette pression sur le bouton, associée à une extension Google Chrome, accélère ou ralentit la vidéo en fonction du changement de vitesse. Il a une configuration matérielle de base que ceux qui sont débutants en Arduino peuvent facilement créer eux-mêmes.
Le code du compteur de vitesse est basé sur ce projet:
Liste du matériel:
1. Arduino Leonardo
2. Câble micro USB (doit être capable de transférer des fichiers et < 3 pieds)
3. Interrupteur à lames magnétiques
4. Résistance 10k Ohm
5. Fil de calibre 22 (< 4 pi)
6. Fer à souder
7. Soudure
8. Ruban électrique
9. Cravates zippées
10. Support de vélo stationnaire
11. Vélo
Étape 1: Téléchargez le logiciel approprié sur votre ordinateur
1. IDE Arduino
2. Contrôleur de vitesse vidéo (extension de navigateur Web)
une. Google Chrome
b. Firefox
Étape 2: Matériel
Toutes les connexions doivent être soudées ensemble et recouvertes de ruban isolant. L'Arduino peut être monté sur le vélo à l'aide d'un boîtier en plastique inclus avec l'Arduino (lié dans la liste des pièces ci-dessus). Ceci est important car si le métal du vélo est en contact direct avec les broches, cela pourrait créer des connexions indésirables. L'étui a également des trous qui facilitent la fermeture éclair de l'étui au vélo. Le fil de calibre 22 doit être enroulé le long du cadre du vélo et fixé avec du ruban adhésif ou des attaches zippées. Assurez-vous d'éviter d'enrouler le fil à des endroits où il pourrait se coincer dans les mécanismes en mouvement.
Étape 3: placez le vélo sur un support de vélo stationnaire
Fixez le vélo dans le support pour vélo stationnaire et assurez-vous qu'il est suffisamment proche de votre ordinateur pour que le cordon micro-USB atteigne votre ordinateur. Assurez-vous également que la distance de visualisation est appropriée pour pouvoir voir confortablement l'écran. Un tutoriel sur la façon de placer votre vélo en toute sécurité sur le support peut être trouvé ici.
Étape 4: Téléchargez et testez le code Arduino
Si vous êtes nouveau sur Arduino IDE, une page d'introduction peut être trouvée ici. Il est important de noter que le Leonardo nécessite un câble micro-USC pour télécharger qui a des capacités de transfert de fichiers. De nombreux câbles micro-USB sont utilisés uniquement pour le chargement et ceux-ci ne fonctionneront pas. Une fois l'Arduino Leonardo reconnu par l'ordinateur, copiez-collez et téléchargez le code suivant:
//Ce code trouve la vitesse d'un vélo et la convertit en pression sur le clavier de l'ordinateur
//calculs
//rayon du pneu ~ 13,5 pouces //circonférence = pi*2*r = ~ 85 pouces // vitesse max de 35 mph = ~ 616 pouces/seconde // max rps = ~ 7,25
#comprendre
#define reed A0//pin connecté au commutateur de lecture
//variables de stockage
int ReedVal; minuterie longue; // temps entre une rotation complète (en ms) float mph; rayon du flotteur = 13,5; // rayon du pneu (en pouces) circonférence du flotteur; float vprécédent; taux flottant;
int maxReedCounter = 100; // temps min (en ms) d'une rotation (pour anti-rebond)
int reedCounter;
void setup(){
ReedCounter = maxReedCounter; circonférence = 2*3,14*rayon; pinMode(reed, INPUT); Keyboard.begin(); // CONFIGURATION DE LA MINUTERIE - l'interruption de la minuterie permet des mesures chronométrées précises du commutateur à lames // pour plus d'informations sur la configuration des minuteries arduino, voir https://arduino.cc/playground/Code/Timer1 cli(); // arrêter les interruptions
//définir l'interruption du timer1 à 1kHz
TCCR1A = 0;// mettre tout le registre TCCR1A à 0 TCCR1B = 0; // idem pour TCCR1B TCNT1 = 0; // régler le compteur de minuterie pour des incréments de 1 kHz OCR1A = 1999;// = (1/100) / ((1/(16*10^6))*8) - 1 // activer le mode CTC TCCR1B |= (1 < < WGM12); // Définir le bit CS11 pour 8 pré-échelonneurs TCCR1B |= (1 << CS11); // activer l'interruption de comparaison de minuterie TIMSK1 |= (1 << OCIE1A); sei();//autoriser les interruptions //FIN DE LA CONFIGURATION DU MINUTEUR Serial.begin(9600); }
ISR(TIMER1_COMPA_vect) {//Interruption à une fréquence de 1kHz pour mesurer le commutateur Reed
reedVal = digitalRead(reed);//obtenir la valeur de A0 si (reedVal){//si le commutateur Reed est fermé si (reedCounter == 0){//min le temps entre les impulsions s'est écoulé vprevious = mph; retard (500); mph = (56,8*float(circonférence))/float(timer);//calculer les miles par heure timer = 0;//reedcounter reedCounter = maxReedCounter;//reedCounter } else{ if (reedCounter > 0){// ne laissez pas reedCounter devenir négatif reedCounter -= 1;//décrémenter reedCounter } } } else{//si le commutateur Reed est ouvert if (reedCounter > 0){//ne laissez pas reedCounter devenir négatif reedCounter -= 1;/ /decrement reedCounter } } if (timer > 2000){ mph = 0;//si aucune nouvelle impulsion du commutateur Reed n'est toujours présente, régler mph à 0 vprevious = 0; } else{ timer += 1;//incrémenter le timer } }
void controlComp(){
if (vprevious mph) // Ralentir la vitesse de la vidéo { Keyboard.press('s'); Keyboard.releaseAll(); retard (750); } if (vprevious == mph) //ne rien faire {; } } void loop(){ //print mph deux fois par seconde Serial.print("VPrevious:"); Serial.print("\t"); Serial.println(vprécédent);
Serial.print("MPH:");
Serial.print("\t"); Serial.println(mph); controlComp(); }
Une fois le code téléchargé avec succès, ouvrez le moniteur série. En l'absence de mouvement de la roue arrière, le « MPH » et le « VPrevious » devraient indiquer 0,00. Faites tourner la roue pour qu'elle accélère de quelques tours puis ralentisse. Le moniteur doit lire la vitesse et le type d pour l'accélération et s pour la décélération. Si aucune valeur n'apparaît lorsque la roue est tournée, l'aimant peut ne pas être détecté par le commutateur à lames. Assurez-vous que l'aimant est suffisamment puissant en écoutant un bruit d'arrêt *clink* lorsque l'aimant passe l'interrupteur.
Étape 5: Configurer le contrôleur YouTube
La dernière étape consiste à afficher les vidéos YouTube que vous souhaitez utiliser pour suivre sur votre vélo. L'idée est d'avoir des vidéos à la première personne dans lesquelles vous pouvez vous immerger complètement et profiter du paysage tout en faisant du vélo. J'ai respecté une liste de lecture YouTube d'une variété d'options vidéo. Ils vont d'un certain nombre de chaînes qui mettent en ligne des vidéos qui correspondent à ces critères à la première personne. Ce sont aussi des vidéos comme voler à travers les nuages et des voyages en train à travers le pays pour une variété d'aventures à la première personne.
Conseillé:
SIMULATEUR DE JEU DE COURSE DIY -- SIMULATEUR F1 : 5 étapes
SIMULATEUR DE JEU DE COURSE DIY || SIMULATEUR F1 : Bonjour à tous Bienvenue sur ma chaîne, aujourd'hui, je vais vous montrer comment je construis un "Simulateur de jeu de course" avec l'aide d'Arduino UNO. ce n'est pas un blog de construction, c'est juste un aperçu et un test du simulateur. Blog de construction complète à venir bientôt
Comment connecter l'émetteur FlySky à n'importe quel simulateur PC (Simulateur ClearView RC) -- Sans câble : 6 étapes
Comment connecter l'émetteur FlySky à n'importe quel simulateur PC (Simulateur ClearView RC) || Sans câble : Guide pour connecter FlySky I6 avec un ordinateur pour simuler le vol pour les débutants d'avions à voilure. La connexion de simulation de vol à l'aide de Flysky I6 et Arduino ne nécessite pas l'utilisation de câbles de simulation
Faire une horloge avec M5stick C en utilisant Arduino IDE - Horloge temps réel RTC avec M5stack M5stick-C : 4 étapes
Faire une horloge avec M5stick C en utilisant Arduino IDE | Horloge en temps réel RTC avec M5stack M5stick-C : Salut les gars dans ce instructables, nous allons apprendre à faire une horloge avec la carte de développement m5stick-C de m5stack à l'aide d'Arduino IDE. semaine du mois sur l'écran
Enregistrement de données MPU-6050/A0 en temps réel avec Arduino et Android : 7 étapes (avec photos)
Enregistrement de données MPU-6050/A0 en temps réel avec Arduino et Android : j'ai été intéressé par l'utilisation d'Arduino pour l'apprentissage automatique. Dans un premier temps, je souhaite créer un affichage et un enregistreur de données en temps réel (ou presque) avec un appareil Android. Je veux capturer les données de l'accéléromètre du MPU-6050 donc je conçois
Simulateur de vitesse pour jeux de course ou simulateurs de montagnes russes : 5 étapes (avec photos)
Speed Simulator for Racing Games ou Coaster Simulators : un projet simple, un ventilateur va souffler de l'air dans votre visage en fonction de la vitesse du jeu. Facile à faire et drôle