Contenu pédagogique français
Publié : 19 avril 2018, 09:55
Bonjour à la communauté !
Tout d'abord désolé de n'avoir publié depuis longtemps. J'ai un nouveau taff en animation scientifique qui me prends beaucoup (trop) de temps !
En tout cas, j'ai enfin réussi à caser KSP dans mes activités professionnelles, et à ce sujet, je monte un "club kerbal" au collège de l'Harteloire à Brest.
J'essaie de développer du contenu pédagogique adapté, niveau collège, de al 6ème à la troisième. c'est un club ouvert à tous le jeudi de 13h à 14h, un peu comme un club d'échecs.
Mais je n'ai pas envie de laisser les élèves s'amuser sans fil directeur, j'ai regardé du côté de kerbalEdu, mais c'est adapté au normes éducatives américaines, en anglais et trop relié à la version KerbalEdu... au collège je suis obligé d'utiliser la version "demo" de KSP.
Voilà mon problème : je ne dispose pas d'assez de temps pour faire assez de contenu péda, si certains parmis vous voulais participer, ce serais sympa.
je partagerais mes contenus en retour pour que d'autres puissent les utiliser à leurs tour, comme j'avais fait pour mes affiches.
Kerbalement votre,
Edition du 13 Novmbre 2018 :
Je met en entête de discussion pour ne pas me perdre dans les messages.
Voici la photo du montage Arduino Uno + Starter Kit Grove :
Vous pouvez voir à gauche le potentiomètre qui contrôle la manette des gaz et à droite le bouton qui déclenche le "staging".
Et voici le code pour un Arduino Uno :
Puis le code Python :
Je rajoute ici quelques infos :
Besoin logiciels :
Arduino IDE (voir installation : https://www.arduino.cc/en/Main/Software)
Python et son IDLE (voir installation : https://www.python.org/downloads/) pour les Linuxiens, "Geany" fonctionne bien avec son plugin Python, mais il faut le lancer en mode admin : sudo geany
"Kerbal Space Program" (https://forum.kerbalspaceprogram.com/in ... ober-2018/)
Besoin matériels:
Un arduino Uno
Un Starter Kit grove ou les pièces prises indépendament (pour l'exemple un module "Bouton" et un module "potentiomètre rotatif", voir https://www.gotronic.fr/cat-switches-et ... s-1452.htm)
Un support pour modules groves (https://www.lextronic.fr/boitiers-pour- ... grove.html)
Un câble USB male-male type A et B pour alimenter l'arduino et téléverser le code arduino dans l'arduino
Un ordinateur sous windows ou linux, pouvant faire tourner le jeu
Configuration minimale:
CPU: Core 2 Duo
RAM: 3 GB RAM
GPU: DX10 (SM 4.0) capable, 512MB VRAM
OS: Windows Vista SP1, Linux Ubuntu 12.04
Store: 4 GB HD space
Tout d'abord désolé de n'avoir publié depuis longtemps. J'ai un nouveau taff en animation scientifique qui me prends beaucoup (trop) de temps !
En tout cas, j'ai enfin réussi à caser KSP dans mes activités professionnelles, et à ce sujet, je monte un "club kerbal" au collège de l'Harteloire à Brest.
J'essaie de développer du contenu pédagogique adapté, niveau collège, de al 6ème à la troisième. c'est un club ouvert à tous le jeudi de 13h à 14h, un peu comme un club d'échecs.
Mais je n'ai pas envie de laisser les élèves s'amuser sans fil directeur, j'ai regardé du côté de kerbalEdu, mais c'est adapté au normes éducatives américaines, en anglais et trop relié à la version KerbalEdu... au collège je suis obligé d'utiliser la version "demo" de KSP.
Voilà mon problème : je ne dispose pas d'assez de temps pour faire assez de contenu péda, si certains parmis vous voulais participer, ce serais sympa.
je partagerais mes contenus en retour pour que d'autres puissent les utiliser à leurs tour, comme j'avais fait pour mes affiches.
Kerbalement votre,
Edition du 13 Novmbre 2018 :
Je met en entête de discussion pour ne pas me perdre dans les messages.
Voici la photo du montage Arduino Uno + Starter Kit Grove :
Vous pouvez voir à gauche le potentiomètre qui contrôle la manette des gaz et à droite le bouton qui déclenche le "staging".
Et voici le code pour un Arduino Uno :
Code : Tout sélectionner
//initialisation des 2 variables d’état du bouton dont on aura besoin
int etatNowBoutST = 0;
int etatLastBoutST = 0;
int etatNowBoutTH = 0;
int etatLastBoutTH = 0;
void setup(){
Serial.begin(9600);//initialisation port série
pinMode(7,INPUT_PULLUP);//pin n°7 en entrée (BOUTON)
pinMode(A1,INPUT_PULLUP);//pin analogique n°A1 en entrée (POTENTIOMETRE)
}
//à chaque boucle
void loop(){
etatNowBoutST = digitalRead(7);//on lit la valeur du pin 7
if(etatNowBoutST != etatLastBoutST){//si l’état du bouton est différent de précédemment
Serial.println("boutST");//on envoie le message « boutST » au port série
etatLastBoutST = etatNowBoutST;//on met à jour la variable d’état actuel
delay(100);//délai de 100ms pour limiter les parasites et redondances indesirables
}
etatNowBoutTH = analogRead(A1);//on lit la valeur du pin A1
//si la valeur est différente de précédemment (avec un écart de plus de 10)
if(etatNowBoutTH > etatLastBoutTH+10 || etatNowBoutTH < etatLastBoutTH-10){
Serial.println(etatNowBoutTH);//on envoie la valeur au port série
etatLastBoutTH = etatNowBoutTH;//on met à jour la valeur actuelle
delay(100);//délai de 100ms pour ne pas surcharger
}
}
Code : Tout sélectionner
#import des librairies necessaires
import time, serial, krpc, keyboard
#initialisation port serie (utilisez le COMx sous windows)
arduino = serial.Serial('/dev/ttyACM0', 9600, timeout=.1)
#on attend 1 sec le temps que la connection se fasse
time.sleep(1)
#on se connecte a kRPC dans le jeu (pensez bien a "allow" la connection sur le pas de tir)
conn = krpc.connect(name='Soyouz', address='127.0.0.1', rpc_port=50000, stream_port=50001)
#on selectionne le vaisseau courant
vessel = conn.space_center.active_vessel
#BOUCLE
while True:
#on lit la donnee de arduino
data = arduino.readline()[:-2].decode('utf-8')
#GESTION DU BOUTON
#si la donnee presente et vaut "boutST"
if data and data == "boutST":
#alors on simule un appui sur la touche espace
keyboard.press_and_release('space')
#200ms de temps mort par securite (evite les impulsions parasites et que tout les "stage" ne se deroulent en cascade
time.sleep(.200)
#GESTION DU POTENTIOMETRE
#si la donnee existe et que la longueur est inferieure a 5
if data and len(data) < 5:
#on convertit la donnee en un nombre a 2 decimales compris entre 0 et 1
throttle_valeur = round(float(data) / 1000, 2)
#GESTION DE LA PLAGE DE VALEURS DU POTENTIOMETRE
#si la valeur est presque a 0 -> on la met a 0.00
if throttle_valeur < 0.05 : throttle_valeur = 0.00
#si la valeur est presque a 1 -> on la met a 1.00
elif throttle_valeur > 0.95 : throttle_valeur = 1.00
#on dit au jeu : regle les gaz du vaisseau sur cette valeur
vessel.control.throttle = throttle_valeur
Besoin logiciels :
Arduino IDE (voir installation : https://www.arduino.cc/en/Main/Software)
Python et son IDLE (voir installation : https://www.python.org/downloads/) pour les Linuxiens, "Geany" fonctionne bien avec son plugin Python, mais il faut le lancer en mode admin : sudo geany
"Kerbal Space Program" (https://forum.kerbalspaceprogram.com/in ... ober-2018/)
Besoin matériels:
Un arduino Uno
Un Starter Kit grove ou les pièces prises indépendament (pour l'exemple un module "Bouton" et un module "potentiomètre rotatif", voir https://www.gotronic.fr/cat-switches-et ... s-1452.htm)
Un support pour modules groves (https://www.lextronic.fr/boitiers-pour- ... grove.html)
Un câble USB male-male type A et B pour alimenter l'arduino et téléverser le code arduino dans l'arduino
Un ordinateur sous windows ou linux, pouvant faire tourner le jeu
Configuration minimale:
CPU: Core 2 Duo
RAM: 3 GB RAM
GPU: DX10 (SM 4.0) capable, 512MB VRAM
OS: Windows Vista SP1, Linux Ubuntu 12.04
Store: 4 GB HD space