Skip to content

IHM

Une Interface Homme Machine ou IHM est un ensemble de dispositifs physique (boutons, curseurs...) et logiciels (interface graphique) permettant d’échanger des informations avec une machine.

Exercice 1

Écrire un programme qui allume successivement des carrés de taille croissante comme dans la vidéo ci-dessous.

Un code possible
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from microbit import *

def carre(x,intensite):
  for i in range(x):
    display.set_pixel(i,0,intensite)
    display.set_pixel(0,i,intensite)
    display.set_pixel(x-1,i,intensite)
    display.set_pixel(i,x-1,intensite)

while True:
  for i in (1,2,3,4,5):
    carre(i,9)
    sleep(1000)
    display.clear()

Utilisation des boutons de la micro:bit

La carte possède deux boutons que l’on peut utiliser pour interagir avec le programme. Tester le programme suivant:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from microbit import *

while True:
  if button_a.was_pressed():
    display.show("a")
    sleep(1000)
    display.clear()

  if button_b.was_pressed():
    display.show("b")
    sleep(1000)
    display.clear()  

Exercice 2 - Des carrés commandés

Adapter le programme de l'exercice 1 pour que le bouton a de la micro:bit commande la création de carrés de tailles croissantes et le bouton b commande la création de carrés de tailles décroissantes.

Un code possible
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from microbit import *

def carre(x,intensite):
    for i in range(x):
      display.set_pixel(i,0,intensite)
      display.set_pixel(0,i,intensite)
      display.set_pixel(x-1,i,intensite)
      display.set_pixel(i,x-1,intensite)

def carre_croissant():
    for i in  (1,2,3,4,5):
      carre(i,9)
      sleep(1000)
      display.clear()


def carre_decroissant():
    for i in (5,4,3,2,1):
      carre(i,9)
      sleep(1000)
      display.clear()

while True:
    if button_a.is_pressed():
      carre_croissant()
      sleep(1000)
      display.clear()

    if button_b.is_pressed():
      carre_decroissant()
      sleep(1000)
      display.clear()