Table des matières

Vittascience

Vittascience FR

Vittascience : Une plateforme innovante pour enseigner la programmation

Vittascience est une plateforme pédagogique en ligne qui permet d’enseigner la programmation informatique et l’intelligence artificielle aux enfants de manière ludique et interactive. Elle propose une interface intuitive où les enfants peuvent coder en blocs, à la manière de Scratch, ou en code, pour ceux qui souhaitent progresser vers des langages plus complexes. L’interface en mode hybride, comprenant les modes blocs et code juxtaposés, permet de mieux comprendre le lien entre les deux modes de langage. Vittascience offre une transition en douceur entre ces deux modes, permettant aux enfants de développer leurs compétences à leur propre rythme.

cataloguevittascience2025.pdf

Programmer un arduino

Vittascience et Arduino

Decouverte Arduino

Manipulation de la carte Arduino Uno et de sa LED intégrée

Decouverte Arduino UNO

Prise en main de la carte Arduino UNO et de l'interface Vittascience

prise_en_main_de_la_carte_arduino_uno_et_de_l_interface_vittascience.pdf

Decouverte LED et Arduino

Allumer une LED avec Arduino

allumer_une_led_avec_arduino.pdf

Decouverte Bouton + LED + Arduino

Ajouter un bouton sur Arduino

ajouter_un_bouton_sur_arduino.pdf

Decouverte PhotoResistance + Led + Arduino

Mesurer la luminosité avec une photorésistance sur Arduino

mesurer_la_luminosite_avec_une_photoresistance_sur_arduino.pdf

Decouverte Vitesse du son avec un HC-SR04 + Arduino

Vitesse du son : Capteur ultrason HC-SR04

vitesse_du_son.pdf

Decouverte Radar de recul avec HC-SR04 + Arduino

Radar de recul avec un écran LCD

radar_de_recul_avec_un_ecran_lcd_colore.pdf

Decouverte Chariot+ servo Moteur 360° + Arduino

Chariot téléguidé par un joystick

chariot_teleguide_par_un_joystick.pdf

Programmer un Robot Mbot

Televerser dans le robot mBot1 à partir de l'interface Vittascience

Pour Téléverser le programme robot sur mBot1 à partir de l'interface Vittascience ( si “Televerser” ne fonctionne pas , passer par les étapes 1 et 2 …) :

1- Vider le cache de Google Chrome

2-Passer en navigation privée sur Google chrome

3- cliquer sur “Téléverser” ( connecter sur USB et allumer le mBot1 avant …)

4- choisir le port COM du mBot1 et faire connexion ( exemple: “ USB Serial (COM3)“ sous Windows 11 ou “USB Serial (ttyUSB0)“ sous Linux)

et c'est tout , dans la console série de vittascience tu dois voir :

  Le programme utilise 8469 octets d'espace de stockage. (28%)
  Compilation réussie.
  Téléversement du programme ...
  Carte détectée: Arduino Nano w/ ATmega328
  Programme Arduino envoyé avec succès dans la carte !"
  

Exemples Vittascience Robot mBot1

Mbot et Vittascience

activitesvittascience.zip

Image fond ecran pour virtualisation mBot1 sur Vittascience

tracerobot004.jpg.zip

Programmes mBot1 Vittascience

robot-mbot-utiliser-les-led-rgb

robot-mbot-utiliser-les-led-rgb

robot_mbot_-_utiliser_les_led_rgb.pdf

rgb.ino
#include <MeMCore.h>
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
 
MeRGBLed rgbled_board(7, 2);
 
void setup() {
}
 
void loop() {
  rgbled_board.setColor(1, 255, 0, 0);
  rgbled_board.show();
  rgbled_board.setColor(2, 51, 51, 255);
  rgbled_board.show();
  delay(1000*0.5);
  rgbled_board.setColor(1, 51, 51, 255);
  rgbled_board.show();
  rgbled_board.setColor(2, 255, 0, 0);
  rgbled_board.show();
  delay(1000*0.5);
}

Robot mBot - Utiliser le capteur de distance

robot-mbot-utiliser-le-capteur-de-distance

robot_mbot_-_utiliser_le_capteur_de_distance.pdf

robot_mbot_-_utiliser_le_capteur_de_distance_-_partie_3_20251027_123737.ino.tar (Enlever .tar)

distancearduino.ino
#include <MeMCore.h>
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
 
// Ultrasonic on PORT_3
MeUltrasonicSensor ultrasonic_3(PORT_3);
MeDCMotor motor_L(9);
MeDCMotor motor_R(10);
 
void mBot_setMotorLeft(int8_t dir, int16_t speed) {
  speed = speed/100.0*255;
  motor_L.run((9) == M1 ? -(dir*speed) : (dir*speed));
}
 
void mBot_setMotorRight(int8_t dir, int16_t speed) {
  speed = speed/100.0*255;
  motor_R.run((10) == M1 ? -(dir*speed) : (dir*speed));
}
 
 
void setup() {
}
 
void loop() {
  if (ultrasonic_3.distanceCm() > 5) {
    mBot_setMotorRight(1, 25);
    mBot_setMotorLeft(1, 25);
  } else {
    mBot_setMotorRight(0, 0);
    mBot_setMotorLeft(0, 0);
  }
}

robot-mbot-controler-le-robot-avec-une-telecommande

robot-mbot-controler-le-robot-avec-une-telecommande

robot_mbot_-_controler_le_robot_avec_une_telecommande.pdf

robot_mbot_-_controler_le_robot_avec_une_telecommande_-_partie_3_20251027_144323.ino.tar ( enlever .tar)

telecommandemBot.ino
#include <MeMCore.h>
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
 
MeIR ir;
MeDCMotor motor_L(9);
MeDCMotor motor_R(10);
 
void mBot_setMotorLeft(int8_t dir, int16_t speed) {
  speed = speed/100.0*255;
  motor_L.run((9) == M1 ? -(dir*speed) : (dir*speed));
}
 
void mBot_setMotorRight(int8_t dir, int16_t speed) {
  speed = speed/100.0*255;
  motor_R.run((10) == M1 ? -(dir*speed) : (dir*speed));
}
 
 
void setup() {
  ir.begin();
}
 
void loop() {
  if (ir.keyPressed(64)) {
    mBot_setMotorRight(1, 25);
    mBot_setMotorLeft(1, 25);
  } else if (ir.keyPressed(25)) {
    mBot_setMotorRight(-1, 25);
    mBot_setMotorLeft(-1, 25);
  } else if (ir.keyPressed(7)) {
    mBot_setMotorRight(1, 25);
    mBot_setMotorLeft(-1, 25);
  } else if (ir.keyPressed(9)) {
    mBot_setMotorRight(-1, 25);
    mBot_setMotorLeft(1, 25);
  } else {
    mBot_setMotorRight(0, 0);
    mBot_setMotorLeft(0, 0);
  }
}

robot-mbot-utiliser-le-bouton

robot-mbot-utiliser-le-bouton

robot_mbot_-_utiliser_le_bouton.pdf

robot_mbot_-_utiliser_le_bouton_-_partie_3_20251027_15143.ino.tar(enlever .tar)

boutonpoussoir.ino
#include <MeMCore.h>
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
 
MeDCMotor motor_L(9);
MeDCMotor motor_R(10);
 
int buttonPressed() {
  return analogRead(A7) <= 10 ? 1 : 0;
}
 
void mBot_setMotorLeft(int8_t dir, int16_t speed) {
  speed = speed/100.0*255;
  motor_L.run((9) == M1 ? -(dir*speed) : (dir*speed));
}
 
void mBot_setMotorRight(int8_t dir, int16_t speed) {
  speed = speed/100.0*255;
  motor_R.run((10) == M1 ? -(dir*speed) : (dir*speed));
}
 
 
void setup() {
  pinMode(A7,INPUT);
}
 
void loop() {
  if (buttonPressed()) {
    mBot_setMotorRight(1, 25);
    mBot_setMotorLeft(1, 25);
    delay(1000*1);
    mBot_setMotorRight(-1, 25);
    mBot_setMotorLeft(-1, 25);
    delay(1000*1);
    mBot_setMotorRight(0, 0);
    mBot_setMotorLeft(0, 0);
  }
}

Robot suivi Ligne

robot-mbot-utiliser-les-suiveurs-de-ligne

robot_mbot_-_utiliser_les_suiveurs_de_ligne.pdf

correctionsuiviligneexo4_vittascience_20251020_193057.ino.zip

Robot circuit Vittascience test gauchedroite variables 20251121

suivilignevariable.ino
#include <MeMCore.h>
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
 
// Line Finder on PORT_2
MeLineFollower lineFinder_2(PORT_2);
MeRGBLed rgbled_board(7, 2);
MeDCMotor motor_L(9);
MeDCMotor motor_R(10);
 
int vitesse;
int vitessem;
int droite;
int gauche;
 
int buttonPressed() {
  return analogRead(A7) <= 10 ? 1 : 0;
}
 
void mBot_setMotorLeft(int8_t dir, int16_t speed) {
  speed = speed/100.0*255;
  motor_L.run((9) == M1 ? -(dir*speed) : (dir*speed));
}
 
void mBot_setMotorRight(int8_t dir, int16_t speed) {
  speed = speed/100.0*255;
  motor_R.run((10) == M1 ? -(dir*speed) : (dir*speed));
}
 
 
void setup() {
  pinMode(A7,INPUT);
  while (!buttonPressed() ) {}
  vitesse = 50;
  vitessem = 50;
  droite = 0;
  gauche = 0;
}
 
void loop() {
  if (!lineFinder_2.readSensor2() && !lineFinder_2.readSensor1()) {
    rgbled_board.setColor(1, 0, 0, 0);
    rgbled_board.show();
    rgbled_board.setColor(2, 0, 0, 0);
    rgbled_board.show();
    mBot_setMotorRight(1, vitesse);
    mBot_setMotorLeft(1, vitessem);
  } else if (!lineFinder_2.readSensor1()) {
    rgbled_board.setColor(2, 0, 0, 0);
    rgbled_board.show();
    rgbled_board.setColor(1, 255, 255, 255);
    rgbled_board.show();
    mBot_setMotorRight(1, vitesse);
    mBot_setMotorLeft(0, 0);
    gauche = 1;
    droite = 0;
  } else if (!lineFinder_2.readSensor2()) {
    rgbled_board.setColor(1, 0, 0, 0);
    rgbled_board.show();
    rgbled_board.setColor(2, 255, 255, 255);
    rgbled_board.show();
    mBot_setMotorLeft(1, vitesse);
    mBot_setMotorRight(0, 0);
    gauche = 0;
    droite = 1;
  } else {
    if (!!lineFinder_2.readSensor2() && !!lineFinder_2.readSensor1()) {
      rgbled_board.setColor(1, 255, 255, 255);
      rgbled_board.show();
      rgbled_board.setColor(2, 255, 255, 255);
      rgbled_board.show();
      if (droite == 1) {
        mBot_setMotorRight(1, 0);
        mBot_setMotorLeft(1, vitesse);
      }
      if (gauche == 1) {
        mBot_setMotorRight(1, vitesse);
        mBot_setMotorLeft(1, 0);
      }
    }
  }
}

Sortie d un Labyrinthe avec un mBot

Sortie d un Labyrinthe avec un mBot