logica-bitbloq

Si c’est égal et/ou différent de faux…

Découvrons ensemble la section Logique.
pestañalogica

Cette section dispose de quatre blocs avec plusieurs options.

Pour réaliser les exemples suivants, tu auras besoin de :

  • 1 x ZumBloq LED
  • 1 x ZumBloq potentiomètre
  • 1 x ZumBloq buzzer
  • 1 x ZumBloq bouton
  • 1 x ZumBloq capteur de luminosité
  • Une carte contrôleur ZUM BT 328 ou une carte compatible avec Arduino UNO
  • Un câble USB

Le bloc de comparaison

bloquecomparacion

Ça te rappelle quelque chose, n’est-ce pas ? Nous avons souvent utilisé ce bloc avec le bloc de la section contrôle Si… exécuter.

Ce bloc renvoie vrai ou faux selon que les deux données sont :

  • = égales.
  • ≠ différentes.
  • < la première est inférieure à la seconde.
  • ≤ la première est inférieure ou égale à la seconde.
  • > la première est supérieure à la seconde.
  • ≥ la première est supérieure ou égale à la seconde.

Ainsi, avec le bloc Si… exécuter, nous pouvons définir des conditions pour que notre programme exécute une chose ou une autre en fonction des conditions choisies. Voici un exemple :

Exemple avec le bloc de comparaison

Faire s’allumer une LED quand la valeur du potentiomètre est inférieure à 500

ejemplodiwopotenciometroled

Si la valeur du potentiomètre est inférieure à 500, c’est-à-dire si elle est comprise entre 0 et 499, la LED s’allumera. Dans le cas contraire, si elle est comprise entre 500 et 1023 (n’oublie pas que le potentiomètre peut avoir une valeur allant de 0 à 1023), la LED s’éteindra.

Le bloc et/ou

bloqueand

Ce bloc sert à vérifier plusieurs conditions en même temps :

  • Option Et : Les deux conditions doivent être remplies pour que la valeur soit vraie et que l’action soit exécutée.
  • Option Ou : Au moins une des deux conditions doit être remplie pour que la valeur soit vraie et que l’action soit exécutée.

Voici maintenant un exemple pour que tu puisses tester la différence entre l’option Et et l’option Ou :

Exemple avec le bloc et/ou

Faire sonner le buzzer quand les conditions suivantes sont remplies :

ejemplogicaY

Ici, le buzzer sonnera uniquement si les deux conditions sont remplies, à savoir : si la variable lumière est inférieure ou égale à 300 et que tu appuies sur le bouton, alors le buzzer sonnera. Si une des deux conditions n’est pas remplie, la condition globale ne sera pas vraie et le buzzer ne sonnera pas. Essaie donc ceci : modifie le programme et remplace l’option Et par l’option Ou. Que se passe-t-il ?
ejemplo2logicaO

Maintenant ton buzzer sonnera plus souvent car il a été dit au programme la chose suivante : si la variable lumière est inférieure ou égale à 300 ou qu’on appuie sur le bouton, le buzzer doit sonner. C’est-à-dire qu’il suffit qu’une des deux conditions soit remplie. Tu vois la différence ?

Le bloc vrai/faux

bloqueverdadero

Ce bloc renvoie la valeur vrai ou faux. Voyons donc tout de suite un exemple pour mieux comprendre :

Exemple avec le bloc vrai/faux

Concevoir un programme pour que la LED s’allume quand la quantité de lumière est supérieure ou égale à 300 et qu’elle s’éteigne dans les cas contraires.

Tu te souviens certainement de ce programme. Nous allons ici procéder un peu différemment :

ejemploverdadero

La variable lumière_forte lira la valeur du capteur de luminosité et si elle est supérieure ou égale à 300, la variable sera associée à la valeur vrai, dans le cas contraire, elle sera associée à faux.

Ainsi nous pouvons analyser la valeur de la variable en utilisant le bloc vrai. Si la valeur vrai est renvoyée, cela signifie qu’il y a une quantité de lumière importante et que la LED va s’allumer.

Le bloc Pas

bloquenoCe bloc nous permet de nier une variable ou un état, par exemple, nous pouvons accoler le bloc Pas au bloc Vrai
noverdadero

Pas vrai signifie la même chose que faux. Voici un petit exemple :

Exemple avec le bloc Pas

Concevoir un programme pour que le buzzer sonne quand on appuie sur le bouton en utilisant le bloc Pas.

Ce programme est une variante d’un programme que nous avons réalisé précédemment :
ejemplonoverdadero

La variable bouton_non_appuyé sera toujours vraie tant qu’on appuie pas sur le bouton.

Si tu veux que le buzzer sonne, la condition est la suivante : il faut Pas variable bouton_non_appuyé.  C’est-à-dire que si la négation de la variable bouton_non_appuyé est vraie, autrement dit, si on appuie sur le bouton, alors le buzzer sonnera.

Ce programme peut bien sûr se réaliser de manière bien plus simple, ici il s’agit seulement de te donner un exemple du fonctionnement du bloc Pas. Tu verras que nier la valeur d’une variable pourra grandement t’aider.

La logique est indispensable au bon fonctionnement de ton programme. Si tu prends l’habitude de raisonner de manière logique, les choses marcheront comme par magie. Mais cette fois c’est toi qui sera le magicien et tu connaîtras toutes les ficelles.

Mais avant de commencer un projet, n’oublie pas ceci :

« Il y a quelque chose de plus important que la logique, c’est l’imagination. »

Alfred Hitchcock