Catégories
ROBLOX

Partie 09 : Téléportation

Tu vas utiliser la téléportation pour ton jeu mais également pour tester plus rapidement des phases de ton jeu. Tu pourras mettre ainsi une téléportation pour déplacer ton joueur dans une zone à tester sans avoir à parcourir tout le jeu.

Mise en place des points de téléportation

Dans World crée un nouveau model :

Que tu renommes Teleports :

Puis crée deux bocs :

Que tu glisses sous Teleports et renommes en TeleportA et Teleport B :

Modifie la couleur :

Modifie la taille :

Puis modifie ces deux paramètres :

Puis place dans ton jeu les deux points de téléportation, le point A près de ton joueur au lancement du jeu, puis le point B à l’endroit d’arrivée de ton joueur.

Programme ta première téléportation

Puis viens créer un nouveau script dans ServerScriptService :

Renomme le nouveau script en TeleportService :

Puis mets ce programme dans le script TeleportService :

Programme plusieurs points de téléportation

Sur le model Teleports crée les propriétés deadlineOutside temps en seconde et teleportRadius rayon du point de téléportation. Ces deux propriétés sont utilisées pour indiquer quand le joueur sort du point de téléportation avant une nouvelle téléportation:

Puis pour chaque point de téléportation, crée une nouvelle propriété target pour indiquer le point de téléportation de destination :

Puis modifie le script TeleportService :

Catégories
ROBLOX

Partie 10 : Crée des plateformes mobiles

Crée une plateforme par Modèle Elément Bloc :

Glisse ce nouvel objet sous le folder World puis Plateformes :

Dimensionne et place ta plateforme mobile dans l’espace de ton jeu :

Puis choisis de créer un nouvel attribut par le + dans les propriétés de la plateforme mobile :

Puis donne la valeur du déplacement soit sur l’axe X ou Y ou Z :

Crée un nouveau script dans ServerScriptService, puis renomme en PlatformService :

Dans le script rajoute cette programmation :

Crée une plateforme type ascenseur

Crée un nouveau bloc au dimension de ton ascenseur :

Puis glisse ce nouveau bloc dans l’explorateur sous Plateformes puis renomme le en Ascenseur :

Comme dans l’exemple tu peux le rendre transparent :

Puis créé deux nouveaux attributs movement et speed pour son déplacement vertical :

Catégories
ROBLOX

Partie 11 : Crée un cycle d’une journée

Propose à ton joueur de vivre une journée dans ton ile en :

  • Déplaçant le soleil en fonction de l’heure réelle de la journée.
  • Personnalisant les teintes en fonction de l’heure dans la journée.
  • Modifiant le niveau de l’éclairage global.

Changer l’heure de la journée

Il est temps de déplacer le soleil vers une position différente. La position par défaut du soleil est haute dans le ciel, imitant la mi-journée dans le monde réel, il est donc préférable de le rapprocher de l’horizon.

Change l’éclairage global

L’éclairage global correspond à la luminescence du soleil ou de la lune.

  • Dans la fenêtre de l’Explorateur , sélectionnez Lighting .
  • Dans la fenêtre Propriétés , modifie le paramètre Brightness :

Change la teinte de la lumière globale

L’éclairage global correspond à la luminescence du soleil ou de la lune.

  • Dans la fenêtre de l’Explorateur , sélectionnez Lighting .
  • Dans la fenêtre Propriétés , modifie les paramètres Ambient, OutdoorAmbient :

Vivre une journée dans ton jeu

Crée un script sous ServerScriptService :

Puis renomme le par SimulateDayService :

Puis dans le script saisie le programme suivant :

Choisis l’heure de départ puis le pas en secondes du changement d’horaire toutes les 10 minutes :

Puis lance le jeu pour vire une journée :

Complète le script pour modifier l’ambiance de la lumière en fonction du moment dans la journée :

Tu peux modifier l’ambiance de la lumière en fonction des horaires :

Catégories
Ligne noire MAQUEENPLUS Robotique

INTRODUCTION : MAQUEEN Suivre la ligne noire

Le Maqueen Plus V2

Caractéristiques :
5 capteurs de suivi de ligne (sorties analogiques et digitales), calibration automatique via bouton-poussoir 
2 LEDs frontales rouges
4 LEDS RGB Néopixels
Capteur de distance ultrason HC-SR0
4Buzzer pour effets sonores
2 motoréducteurs N20 :vitesse de rotation nominale : 266 tr/minmodulation PWM
rapport de réduction: 1:75
Capteur infrarouge permettant au robot d’être télécommandé
Port d’extension GPIO : 8 ports : P0 P1 P2 P8 P12 P13 P14 P15 avec 3,3V
3 ports pour servomoteur : P0 P1 P2 avec Vbat
2 Ports I2C 3.3V1 Port I2C 5V
Alimentation par batterie Li-Ion 18650 3.7V 3500 mAh avec circuit de chargement
Tension de charge : 5 V,  temps de charge : 4  heures, indicateur du niveau de charge :
4 LED
Dimensions du produit : 14 x 101 x 70 mm


Le robot dispose à l’avant de 5 capteurs optiques infrarouge.
Fonctionnement d’un capteur optique infrarouge
Le capteur optique infrarouge est constitué : d’une LED infrarouge d’un photo-transistor
Le capteur envoie un signal haut lorsqu’il détecte le noir et un signal bas quand il détecte le blanc.

Pour le programmer

Va sur le site vittascience : fr.vittascience.com

Choisis « Programmer »

Puis fais défiler ton écran pour choisir le robot Maqueen Plus

Choisis le mode Bloc et agrandis ton écran en baissant la console du bas :

Pour gérer le tableau de LED de la carte microbit utilise l’instruction « afficher l’image » sous Affichage :

Par exemple allume les LEDs de la manière suivante dans « Au démarrage » :

Tu peux tester en demandant à Téléverser sur la carte :

Demande la connexion avec la carte puis valide le transfert.

Tu utilises les instructions suivantes pour le suivi de la ligne noire.

Pour faire avancer ton robot :

Pour détecter la ligne noire :

Programme pour vérifier que ton robot détecte bien la ligne noire :

Téléverse ton programme :

Puis teste si la LED correspondante s’allume lorsque le phot réflecteur passe sur la ligne noire ? :

Comment calibrer le Maqueen Plus ?

5 capteurs de suivi de ligne sur Maqueen Plus ont chacun une LED bleue qui indique l’état. 

Si vous constatez qu’un capteur de suivi de ligne n’est pas sensible à une ligne noire, calibrez-le comme suit : 

1. Mettez Maqueen Plus dans la zone d’étalonnage, une feuille noire par exemple. Le mettre sous tension

2. Appuyez sur « Calibration-key » pendant environ 1 seconde, les 2 grandes LED avant clignoteront en vert. Relâchez la touche, puis l’étalonnage est terminé. 

Catégories
Ligne noire MAQUEENPLUS Robotique

PARTIE 02 : MAQUEEN SUIVI LIGNE

Comment suivre la ligne noire

Programme ton robot pour qu’il tente de rester sur la ligne noire :

Le capteur de gauche et celui de droite ne captent pas la ligne noire, alors les deux capteurs sont de chaque coté de la ligne noire, le robot peut avancer tout droit.
Le capteur de gauche est sur la ligne noire, ramène ton robot vers la gauche.
Le capteur de droite est sur la ligne noire, alors ramène ton robot vers la droite.

Premier essai pour suivre la ligne noire

Programme les deux moteurs pour aller tout droit, à gauche et à droite.

Pour ton premier essai réduit la vitesse à 50, le Maqueen est très véloce :

Plus vite

Augmente la vitesse en utilisant une variable :

Utilise un pourcentage de la vitesse pour le moteur qui tourne en sens inverse :

par exemple si on souhaite une vitesse réduite de 35% de la vitesse initiale de 50 : (50 * 35) /100 soit :

Puis arrondir pour obtenir la partie entière de la division :

Augmente petit à petit la vitesse pour voir jusqu’à quand ton robot peut suivre la ligne noire :

Ou diminue ou augmente le pourcentage pour prendre des virages plus larges ou plus serrés :

Catégories
ROBLOX

Partie 12 : Ouverture d’une porte

Importer un modèle ROBLOX d’une ville avec des exemples de portes :

Choisis ton modèle de porte :

ton choix fait, copie ton choix de porte :

Par un clic droit de ta souris :

Puis sous Workspace commence à construire ta ville en créant un nouveau dossier, le plus à droite de Workspace puis Folder :

Renomme Folder en City :

Puis colle ta porte dans ton Folder City :

Puis déplace ta porte pour qu’elle soit accessible à ton joueur :

Vérifie que tu peux traverser la porte, décoche CanCollide sur les deux objets qui composent ta porte, dans l’exemple Bldg_Door_A_frame et Bldg_Door_A_glass :

Lance le jeu et si tu peux traverser, tu peux recocher CanCollide sur les objets de la porte :

La porte se compose de deux éléments, nous devons les lier pour simuler une ouverture de la porte.

Sélectionne l’objet Bldg_Door_A_frame puis clic sur le + à droite, demande la contrainte WeldConstraint :

Applique la contrainte aux deux objets Bldg_Door_A_frame et Bldg_Door_A_glass :

Désélectionne Anchored pour l’objet Bldg_Door_A_glass :

Vérifie que ta contrainte est bien active :

Test le bon fonctionnement de ta porte. Choisis le mode physique et rotation :

Décoche provisoirement Anchored de l’objet Bldg_Door_A_frame :

Puis applique une rotation à ta porte :

N’oublie d’appliquer Anchored à l’objet :

Crée des zones autour de la porte pour la détection de l’approche du joueur avec un objet ROBLOX afin d’interagir pour ouvrir ou fermer la porte :

Renomme le model en DetectionZones :

Demande la création d’un bloc :

Glisse ce bloc sous le model DetectionZones :

Puis renomme le DetectionZone :

Adapte sa position et sa taille à une zone de détection devant la porte :

Rajoute à ta zone de détection un objet ROBLOX proxiPrompt :

Cette objet permet une interaction avec le joueur pour qu’il puisse ouvrir la porte sur l’appui de la souris ou sur une touche, modifie les propriétés du proxiPrompt :

Si tu lance ton jeu, ton joueur dispose d’un bouton pour interagir pour demander l’ouverture de la porte :

Rends transparente ta zone de détection :

Prépare pour le mouvement de rotation de ta porte, duplique l’objet Bldg_Door_A_frame :

Puis renomme en OpenDoor :

Supprime la contrainte sur cette objet OpenDoor :

Puis applique une rotation sur OpenDoor pour positionner la porte sur l’ouverture :

Rends transparente ta porte :

Catégories
Ligne noire MAQUEENPLUS Robotique

PARTIE 03 : MAQUEEN SUIVI LIGNE NOIRE

Améliore ta programmation pour des passages très difficile en utilisant les capteurs arrière gauche et droit :

Quand le capteur arrière droit ou gauche détecte la ligne noire, on peut supposer que le robot est sur une courbe prononcée ou un angle droit de la ligne noire. Afin que le robot puisse suivre la ligne noire, donne la possibilité au robot de tourner plus rapidement sur la détection des capteurs arrière droit ou gauche.

Rajoute des fonctions pour tourner plus droitePlus et gauchePlus qui vont pouvoir suivre la courbe en angle droit :

Puis modifie ton programme pour prendre en compte les capteurs arrière droit et arrière gauche :

Puis téléverse ton programme pour tenter un parcours difficile :

Tu peux jouer avec la vitesse :

Ou sur le pourcentage

Catégories
ALGORA Robotique

Suivre le chemin

Apprend à utiliser le photo réflecteur IR pour suivre une ligne noire :

Arrêter le robot sur la ligne noire

Programme pour que ton robot s’arrête sur la ligne noire :

Utilise ces instructions pour que ton robot avance jusqu’à la ligne noire :

Le robot reste dans le cadre

Programme ton robot pour qu’il reste dans le cadre de la ligne noire :

Utilise ces instructions pour que ton robot tourne dès qu’il détecte une ligne noire :

Le robot suit la ligne noire

Programme ton robot pour qu’il suive la ligne noire sur ce principe :

Le robot apprend la couleur noire

Rajoute à ton robot un capteur de pression et une LED : avant le suivi de ligne, tu poses ton robot sur la ligne noire puis par un appuie sur le capteur de pression, tu demandes au robot de mémoriser la couleur noire.

Crée une variable noire pour stocker la valeur retournée par le photo réflecteur lorsque le robot est posé sur la ligne noire :

Puis programme pour mémoriser la valeur retournée par le photo réflecteur dans la variable noire :

Passe en mode test et constate comment la variable noire change :

Le programme complet de suivi de ligne :

Catégories
ROBLOX

Partie 01 Découvrir les scripts

Ouverture de l’expérience précédente

Programmer une interface un chronomètre

Programmer un chronomètre du jeu:

Mettre en place les interfaces pour afficher le chronomètre et un bouton de réinitialisation.

Choisis un clic sur le + StarterGui de l’explorateur sur la partie droite de ton écran :

Puis fais le choix de rajouter l’objet ScreenGui :

Puis modifie son nom :

Puis rajoute une zone de texte pour afficher le temps et un bouton pour réinitialiser le chronomètre :

Modifie les noms :

Dispose les objets dans l’interface :

Modifie les données et la taille de la police dans les propriétés des objets :

Lance ton jeu pour voir le résultat :

Création du script pour lancer le chronomètre :

Change le nom du script :

Ton script est ouvert dans les onglets :

Tu peux ouvrir la console et lancer ton jeu pour voir le message du print de ton script :

Après le lancement de ton jeu, le message suivant apparaît dans la console de sortie :

Arrête ton jeu, crée une variable qui contient le temps de ton chronomètre :

Change son nom :

Arrête ton jeu, puis commence à écrire le script pour afficher le script :

Lance ton jeu et regarde le résultat :

Arrête le jeu puis rajoute dans ton programme les instructions suivantes pour gérer le redémarrage du chronomètre :

Catégories
ALGORA Robotique

Suivi ligne noire en scratch

Voici un exemple d’une programmation SCRATCH avec un robot Algora qui passe le parcours le plus difficile en utilisant deux photoréflecteurs.

Pour la construction du robot, trois préconisations :

  • l’espace entre les deux photoréflecteurs doit être légèrement supérieur à la largeur de la ligne noire.
  • les photoreflecteurs doivent être le plus proche du sol
  • les photoréflecteurs doivent être devant mais proche des roues directrices.

Utilise deux capteurs photo réflecteurs IR, un capteur de pression et une LED :

Active le mode test :

Pose ton robot et ses deux photo réflecteurs sur une ligne noire pour visualiser les valeurs retournées :

Tu peux constater les deux photo réflecteurs n’ont obligatoirement pas la même mesure de la valeur de la couleur de la ligne noire. Pour plus de justesse, utilise deux variables pour stocker la valeur de la ligne noire.

D’autre part, il semble plus pertinent de mesurer la ligne noire et d’utiliser cette valeur plutôt que le blanc. Tu peux constater également que la valeur retournée par les photoreflecteurs peut varier lors du déplacement du robot sur la ligne noire.

Utilise une variable « tolerance » afin de prendre en compte des variations dans les mesures de la ligne noire lors du parcours :

Donc avant le lancement du robot, réalise une prise des valeurs des photo réflecteurs sur la ligne noire.


Les valeurs retournées par les deux photo réflecteurs sont mémorisées dans deux variables, une variable pour chaque photo réflecteur.
Afin de gérer les fluctuations des mesures du noir, attribue 10 à la variable tolérance.

Puis programme tes fonctions pour que ton robot se déplace tout droit, à droite et à gauche puis puisse s’arrêter.

Pour passer les passages les plus difficiles, tu peux constater que la meilleure solution pour prendre des virages serrés est de faire tourner le robot sur lui même par une inversion des moteurs, un moteur vers l’avant, l’autre vers l’arrière.

Programme pour que ton robot maintienne les deux photo réflecteurs de chaque coté de la ligne noire et ainsi suivre la ligne noire :

  • si les deux photo réflecteurs sont sur le blanc, le robot va tout droit,
  • si le photo réflecteur droit A0 est sur le blanc alors le robot doit aller vers la ligne noire en tournant à gauche,
  • si le photo réflecteur gauche A1 est sur le blanc alors le robot doit rejoindre la ligne noire en tournant à droite :

Puis rajoute au programme principal :

Essaye ton robot après un transfert :

Pose ton robot avec les deux photo réflecteurs sur la ligne noire pour la phase d’apprentissage de la couleur noire , puis appuie sur la capteur de pression. Ton robot suit la ligne noire même dans les courbes difficiles.

Vérifie le comportement de ton robot :

  • Les deux photo réflecteurs dans le blanc on avance tout droit.
  • Seul le photo réflecteur droit voit le blanc alors on tourne à gauche,
  • Seul le photo réflecteur gauche voit le blanc alors on tourne à droite,
  • Autrement le robot avance tout droit.

Modifie ton programme pour que ton robot s’arrête sur un nouvel appui sur le capteur de pression :