Mouvement

Les mouvements contrôlent les moteurs du robot et le système de contrôle. Vous pouvez utiliser les commandes de mouvement séquentiel en les séparant par des sauts de ligne, comme le Bonjour tout le monde! programme. Robots sphéro se déplacent avec trois instructions de base: cap, la vitesse et la durée. Par exemple, si vous définissez cap = 0 °, vitesse = 60, durée = 3s, le robot rouler vers l’ avant pendant 3 secondes à une vitesse modérée.

Rouler

Pour Commencer

Les robots Sphero sont des jouets amusants, durables et programmables! Ce wiki est un guide pour apprendre à programmer les robots Sphero avec JavaScript, le langage de programmation Web le plus répandu au monde. Vous aurez besoin d’un robot Sphero , de l’ application Sphero Edu sur un appareil compatible et d’une soif d’apprendre. Si vous apprenez à programmer pour la première fois, le meilleur endroit pour commencer sont les activités structurées .

Pourquoi JavaScript

JavaScript est l’un des langages de programmation les plus populaires au monde. C’est très utile pour créer des sites Web modernes, et il est même possible de créer des services back-end avec des extensions du langage. Il a été créé en 1995 par Brendan Eich de Netscape, l’une des premières sociétés Internet à avoir construit un navigateur Web populaire à l’époque de l’Internet par ligne commutée. Il a été nommé à l’origine « Mocha » par le fondateur de Netscape, Marc Andreessen, l’un des entrepreneurs les plus célèbres de la Silicon Valley.

Netscape a commencé à travailler avec Sun Microsystems, qui a développé Java, un langage populaire alimentant des applications sur les premiers ordinateurs, ordinateurs de poche et téléphones mobiles. Les deux sociétés étaient motivées à créer un plug-in afin que les applications Java existantes puissent s’exécuter en mode natif dans le navigateur Web de plus en plus populaire, sans avoir à être reconstruites. Donc, Netscape a créé un langage de script similaire à la syntaxe Java afin que ces applications puissent toujours être utilisées. De même, tous les programmeurs Java pouvaient s’adapter rapidement sans apprendre un nouveau langage à partir de zéro. Le langage était aussi très puissant. Avant JavaScript, la plupart des pages Web étaient construites uniquement en HTML et en CSS; ils étaient très statiques. JavaScript permet aux pages d’être plus dynamiques, d’utiliser des animations, de saisir des formulaires et de lire des médias.

Après une période de concurrence entre les différentes langues sur le Web, JavaScript est devenu la langue dominante. Vous pouvez désormais écrire du code JavaScript qui s’affiche dans tous les navigateurs Web modernes, tels que Chrome, Safari, Firefox et Internet Explorer, sur de nombreux appareils connectés à Internet. Si vous envisagez une carrière dans le développement de logiciels, la technologie ou la robotique, vous avez intérêt à connaître ce langage, car de nombreux emplois en JavaScript sont disponibles dans le monde entier. Même si vous ne poursuivez pas une carrière dans ces domaines, vous devrez faire preuve de créativité et résoudre des problèmes intrigants grâce à la programmation.

Vous avez peut-être déjà programmé un peu de JavaScript; il alimente les toiles de programmation Draw et Blocks dans l’application Sphero Edu et vous permet de visualiser le code Javascript derrière ces programmes. Maintenant, vous passerez des lignes et des glissements de blocs à l’écriture du code texte vous-même.

Hello World! (Bonjour le monde!)

À l’aide de votre appareil avec l’application Sphero Edu, créez un nouveau programme de texte, cliquez sur le symbole?bouton en haut à droite pour accéder à ce wiki et utilisez le bouton Copier pour copier et coller ces exemples de code dans la zone de texte. N’oubliez pas de viser votre robot, puis appuyez sur le bouton Démarrer pour voir ce qui se passe!

[pastacode lang= »javascript » manual= »async%20function%20startProgram()%20%7B%0A%20%20%20%20await%20speak(%22Hello%20World%22%2C%20true)%3B%0A%20%20%20%20setMainLed(%7B%20r%3A%200%2C%20g%3A%200%2C%20b%3A%20255%7D)%3B%0A%20%20%20%20setSpeed(60)%3B%0A%20%20%20%20await%20delay%20(2)%3B%0A%20%20%20%20setSpeed(0)%3B%0A%7D » message= »Hello World! » highlight= » » provider= »manual »/]

Bonjour Square!

Maintenant, transformez votre premier programme en un carré avec plus de logique:

[pastacode lang= »javascript » manual= »async%20function%20startProgram()%20%7B%0A%09setMainLed(%7B%20r%3A%200%2C%20g%3A%200%2C%20b%3A%20255%20%7D)%3B%0A%09await%20speak(%22Hello%20Square%22%2C%20true)%3B%0A%09await%20delay(1)%3B%0A%09for%20(var%20_i1%20%3D%200%3B%20_i1%20%3C%204%3B%20_i1%2B%2B)%20%7B%0A%09%09setMainLed(getRandomColor())%3B%0A%09%09await%20Sound.Game.Coin.play(true)%3B%0A%09%09await%20roll((getHeading()%20%2B%2090)%2C%2060%2C%201)%3B%0A%09%09await%20delay(1)%3B%0A%09%7D%0A%7D » message= »Hello Square! » highlight= » » provider= »manual »/]

Diffusion

Votre code est diffusé en temps réel à 20 hertz (fois par seconde) entre votre appareil et le robot, au lieu de s’exécuter localement sur le robot. C’est plutôt cool pour plusieurs raisons. La mémoire des robots Sphero étant très réduite, la diffusion en continu vous permet d’utiliser la mémoire de votre appareil comme seule contrainte, ce qui est pratiquement illimité pour les appareils mobiles et les ordinateurs d’aujourd’hui. En outre, il vous permet d’interagir avec le programme en temps réel grâce aux données du capteur et à d’autres entrées. La nature en continu de votre programme nécessite async dans certains cas, comme par exemple avant la function startProgram() , indiquant que les données sont transmises au / à partir du robot chaque fois que cela est nécessaire. L’un des inconvénients de la diffusion en continu est que certaines commandes sont plus lentes en raison de la latence entre le périphérique et le robot. Par exemple, l’exécution d’une commande de async raw motor(255, 255, 0.05) est la durée la plus rapide (la plus courte) de fonctionnement du moteur brut (1s / 20hz = 0,05s). Si vous utilisez un délai plus court, comme 0,04 s, il fonctionnera quand même à 0,05 s.

Syntaxe

La syntaxe est l’ensemble de règles pour la construction des programmes.

Cas de caractère

La plupart des identifiants sont difficiles à décrire avec un mot. Par conséquent, la plupart sont plus de 2 mots appelés « identifiants composés ». Les langages de programmation n’autorisent généralement pas les espaces dans les identificateurs. La casse des caractères est donc la méthode par laquelle vous joignez des identificateurs composés pour supprimer des mots. Il existe des centaines de langages de programmation dans le monde, mais presque tous utilisent l’une de ces quatre méthodes de jonction: thisIsCamelCase , ThisIsPascalCase , this-is-spinal-Case et this_is_snake_case . Javascript est sensible à la casse et utilise camelCase , tel que setSpeed pour définir la vitesse.

Ponctuation 

Le code doit être structuré de manière à pouvoir être interprété par le robot, exactement comme les humains se sont mis d’accord sur des normes de ponctuation écrites. Si les auteurs n’écrivaient pas avec les règles de ponctuation, les lecteurs auraient du mal à apprendre de nouvelles règles dans chaque livre qu’ils lisent. Portez une attention toute particulière à l’utilisation de ces personnages, sinon votre robot ne pourra pas « lire » votre programme:

async function startProgram() lance un programme

{ et } contiennent tout le code du programme, à l’exception des fonctions globales et des variables

// indique un commentaire et n’affecte pas la logique du programme. Si vous avez un commentaire long qui couvre plus d’une ligne de code, vous devez utiliser cette notation sur chaque ligne.

; termine une déclaration

( ) contiens une valeur

, sépare les valeurs

_____ un espace de tabulation commence la première instruction d’un programme et les conditions suivantes doivent indenter davantage 

Les erreurs

Les erreurs vous indiquent quand le robot ne peut pas interpréter votre syntaxe. Dans l’exemple ci-dessous, notez quesetSpeed est mal orthographié. Dans ce cas, le robot ne peut pas lire la commande et le message d’erreur rouge s’affiche sous la ligne erronée. Copiez ce programme et corrigez-le afin qu’il s’exécute sans erreur:

[pastacode lang= »javascript » manual= »async%20function%20startProgram()%7B%0A%20%20%20%20setSpee(188.0)%0A%2F%2F!ReferenceError%3A%20Can’t%20find%20variable%3A%20setSpee!%0A%20%20%20%20setMainLed(%7B%20r%3A%200%2C%20g%3A%20255%2C%20b%3A%200%20%7D)%3B%0A%20%20%20%20await%20delay(2)%3B%0A%7D » message= » » highlight= » » provider= »manual »/]

Types de données

Il existe différents types de données dans la programmation qui décrivent combien d’espace un numéro occupe dans la mémoire et comment il est interprété.

Certaines langues définissent plus de types de données que d’autres. Javascript utilise les types intégrés suivants:

Types les plus couramment utilisés 
number : valeurs comme -7 et 3.14159265359 
string : combinaisons de lettres, de chiffres et de ponctuation, du type « Ne soyez pas L8 en classe ». 
boolean : une des valeurs logiques true ou false 

Types spéciaux à usages spéciaux 
null : valeur spéciale signifiant « défini comme rien ». Nous reviendrons sur cette idée plus tard. 
undefined : une autre valeur spéciale signifiant « cette variable n’a jamais été définie » ou, parfois, « cette variable a été affectée à une valeur absurde » 
symbol : un type relativement nouveau pour les utilisateurs avancés

Javascript fournit également l’ Object que nous utiliserons pour créer des types personnalisés à partir des types intégrés. 

Traduction de:

https://sphero.docsapp.io/docs/get-started