Skip to content

Commit

Permalink
french translation + harmonisation of pin number font weight (**bold*…
Browse files Browse the repository at this point in the history
…*) in problem.md files
  • Loading branch information
gorhgorh committed Sep 1, 2016
1 parent 6cd4334 commit 7b81130
Show file tree
Hide file tree
Showing 15 changed files with 617 additions and 7 deletions.
64 changes: 64 additions & 0 deletions exercises/blink_blink/problem.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Bienvenue au nodebot-workshop

Nous allons apprendre les rudiments de l'api de `johnny-five`, comme une série de défis de code.

`johnny-five` est une api permettant de travailler avec Arduino et autres cartes de prototypage rapide, mais

**Vous *n’avez pas* besoin d'un Arduino pour cet atelier**

L’atelier va te poser un défi et tester ta solution. Le code de bas niveau pour parler à l’Arduino est simulé.

**Tu *va* écrire du code qui est exécutable par `johnny-five` sur un micro contoleur**

Chacune des solutions peut être exécutée comme un programme `node`. Cable un Arduino, connecte le au port usb et tu peux voir ta solution s'executer devant toi.

* * *

# Clignote

**Ecris un programme qui fais fais clignoter une LED attachée à la broche 13 une fois par seconde.**

- Quand la carte est 'prête', crée une nouvelle instance de `Led`.
- Passe a nombre au constructeur de `Led` pour lui dire a quelle broche l'attacher.
- `Led` a une méthode `strobe`; elle prends comme argument un intervalle, en millisecondes.

## Pour cela, il va te falloir

1. Un répertoire pour tes réponses, et y entrer en utilisant la commande `cd` de ton terminal.
2. Récupère johnny-five par npm: `npm install johnny-five`
3. Crée un fichier pour ta solution (p. ex. 01-clignote.js)

Dans tout tes solution tu devra :

- `require` le module `johnny-five`
- Créer une instance de `new Board`
- Ajouter une fonction de rappel (callback) pour l'événement **ready** de la 'board'
- Ta solution sera dans cette fonction de rappel (callback)...

```js
var five = require('johnny-five')
var board = new five.Board()
board.on('ready', function () {

// Ta solution sera ici !
})
```

## Diagramme du circuit

330 LED
Pin 13 o--/\/\/---->|------o GND


## Composants

- LED - http://node-ardx.org/electronics-primer#led

> Une LED (diode électroluminescente) émet de la lumière lorsqu'un faible courant la traverse dans une direction, et bloque le courant dans l'autre (c'est un composant polarisé).
## Documentation

- Board - https://github.com/rwaldron/johnny-five/wiki/Board
- Led - https://github.com/rwaldron/johnny-five/wiki/Led#api

* * *
50 changes: 50 additions & 0 deletions exercises/fire_alarm/problem.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
**Construis une "alarme à incendie" qui émet un son quand la température de l'air passe au dessus de 50°.**

- Fixe le capteur de température TMP36 à la broche **A0**
- Attaches un piezo à la broche **9**
- Attaches une LED à la broche **13**
- Attaches un bouton à la broche **5**
- Quand le capteur de température détecte une température supérieure à 50° C, le piezo dois sonner et la LED dois clignoter en continuellement
- Si la température descends en dessous de 50° C, le piezo et la LED doivent s’éteindre
- Si le bouton est pressé le piézo et la LED doivent s’éteindre et ne doivent pas s’allumer à nouveau à moins que la température soit inférieure à 50° C

## Diagramme du circuit

330 LED
Pin 13 o--------/\/\/-------->|---------
|
Pin 5 o---------------------- |
| |
10k | |
+5 o----.--------/\/\/---. |
| | |
| | |
| .--|--|--. |
| | | | | |
| Button --+-| | | |
| | | | | |
| '--|--|--' |
| | |
| ----------.---o GND
__ |
| \ |
A0 o---| ) TMP36 |
|__ / |
| |
---------------------------.
|
Piezo |
_ |
|| || |
Pin 9 o-----------|| ||---------------
||_||


## Documentation

- LED - https://github.com/rwaldron/johnny-five/wiki/Led
- Piezo - https://github.com/rwaldron/johnny-five/blob/master/docs/piezo.md
- TMP36 - https://github.com/rwaldron/johnny-five/blob/master/docs/temperature-tmp36.md
- Button - https://github.com/rwaldron/johnny-five/wiki/Button#usage

* * *
40 changes: 40 additions & 0 deletions exercises/light_switch/problem.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
**Écris un programme qui agit comme un interrupteur pour allumer ou éteindre une LED.**

- Branche un interrupteur sur la broche 5 et une LED sur la broche **9**
- Utilises la classe `Button` pour détecter des événements `press` et activer/désactiver votre LED

## Diagramme du circuit

330 LED
Pin 9 o---/\/\/------>|------
|
Pin 5 o------------ |
| |
10k | |
+5 o---/\/\/---. |
| |
| |
.---------. | |
| | | |
-+-_______-+--+ |
| | | |
-+-___|___-+--+ |
| | | | |
'____|____' | |
| | |
Intérupteur | |
+---------+---o GND


## Composants

- Button - http://node-ardx.org/electronics-primer#pushbutton

> Ferme un circuit quand on lui appuie dessus.
## Documentation

- Button - https://github.com/rwaldron/johnny-five/wiki/Button#usage
- LED - https://github.com/rwaldron/johnny-five/wiki/Led#api

* * *
2 changes: 1 addition & 1 deletion exercises/light_switch/problem.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
__Write a program that acts like a light switch to turn an LED on and off.__

* Attach a button to pin 5 and an LED to pin 9
* Attach a button to pin 5 and an LED to pin **9**
* Use the `Button` class to detect `press` events and toggle your LED on/off

## Circuit diagram
Expand Down
22 changes: 22 additions & 0 deletions exercises/ping_bell/problem.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
**Crée un serveur UDP qui émet un son lorsqu’un message est reçu.**

- Branche un piezo sur la broche 9
- Utilise le module `dgram` de node pour créer un socket **udp4**
- Attache ton serveur au port **1337** et écoutes les messages
- Quand un message est reçu, fait sonner le piezzo

## Diagramme du circuit

Piezo
_
|| ||
Pin 8 o---|| ||---o GND
||_||


## Documentation

- http://nodejs.org/api/dgram.html
- https://github.com/rwaldron/johnny-five/blob/master/docs/piezo.md

* * *
44 changes: 44 additions & 0 deletions exercises/remote_temperature/problem.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
**La temperature autour de vous 'as a service'.**

Utilise dnode pour créer un serveur rpc qui permet à quiconque d’interroger la dernière température connue d’un capteur de température TMP36.

- Branche la sonde de température à la broche **A0**
- Installer dnode `npm install dnode`
- Mettre en place votre serveur dnode pour écouter sur le port 1337
- Votre point de terminaison (endpoint) rpc doit exposer une fonction appelée `getTemperature`
- la fonction de rappel de `getTemperature` dois retourner une température en degré **celsius**

## Diagramme du circuit

+5 o-----.
|
|
__
| \
A0 o---| ) TMP36
|__ /
|
|
GND o-----'


## Composants

- TMP36 - http://node-ardx.org/electronics-primer#tempsensor

> Exerce une résistance variable selon la température ambiante.
## Conseils

- N’oubliez pas, vous travaillez toujours avec des tensions sur les broches
- La valeur d’un capteur est une représentation de la tension sur la broche
- Vous aurez besoin de convertir cette valeur en une lecture de température utile...
- Pour créer un point de terminaison, passer à dnode un objet avec votre point de terminaison en tant que méthode
- Votre point de terminaison doit prendre comme argument une fonction de rappel et de lui passer la valeur comme retour

## Documentation

- https://github.com/rwaldron/johnny-five/blob/master/docs/temperature-tmp36.md
- dnode - https://github.com/substack/dnode

* * *
51 changes: 51 additions & 0 deletions exercises/robot_arm/problem.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
**Construis un bras robot controlable a distance**

Utilise un potentiomètre (potard) pour controller la position d'un servomoteur.

- Fixez un potentiomètre à borne **A2**
- Branche un piezo sur la broche **9**
- Fais tourner le servomoteur quand le potard est tourné

## Diagramme du circuit

Servomoteur
.---.
| | |
-===+===-
| | |
| |
'---'
| | |
| | |
| | ------------------o Pin 9
| |
| ----------------.---o +5
| |
| Potentiomètre |
GND o---.------/\/\/------.
^
|
|
A2 o--------------



## Composants

- Potentiomètre - http://node-ardx.org/electronics-primer#pot

> Exerce une résistance variable selon l'angle du curseur métalique.
## Documentation

- Sensor - https://github.com/rwaldron/johnny-five/wiki/Sensor
- Fn - https://github.com/rwaldron/johnny-five/blob/master/lib/fn.js

## Conseils

- Un potard est un autre cas d'utilisation de l'objet 'Sensor'...
- Un potard a produit des valeurs dans une plage allant de 0 a 1023.
- Un servomoteur peut généralement étre orienté dans un angle de 0 a 180°.
- `five.Fn.map` peut étre utiliser pour normaliser les valeur du potard (0 - 1023) en angles pour le servomoteur (0 - 179).

* * *
6 changes: 3 additions & 3 deletions exercises/robot_arm/problem.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ __Make a remote control robot arm__

Use a rotary potentiometer (pot) to control the position of a servo.

* Attach a potentiometer to pin A2
* Attach a servo to pin 9
* Attach a potentiometer to pin **A2**
* Attach a servo to pin **9**
* Have the servo rotate as the potentiometer is turned

## Circuit diagram
Expand Down Expand Up @@ -49,4 +49,4 @@ GND o---.------/\/\/------.
- A servo can typically be moved between 0 and 179 degrees.
- `five.Fn.map` can map the pot values (0 - 1023) to servo angles (0 - 179).

---
---
49 changes: 49 additions & 0 deletions exercises/servo_wave/problem.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
**Fait faire la vague a un servomoteur pour toi pendant 3 secondes, s'arrêter, puis revenir a sa position centrale.**

- Crée une nouvelle instance de `Servo` attaché a la broche (pin) **9**
- Utilise `servo.sweep` pour le faire tourner entre 0 ° et 180 °
- Utilise `board.wait` pour appeler une fonction de rappel 'reset' au bout de **3 secondes**
- La fonction de rappel 'reset' doit `stop` et `center` le servomoteur
- Vérifiez la documentation pour voir comment le remettre en ligne

## Base

```js
var five = require('johnny-five')
var board = new five.Board()
board.on('ready', function () {

// Ta solution sera ici !

})
```

## Diagramme du circuit

Servomoteur
.---.
| | |
-===+===-
| | |
| |
'---'
| | |
| | |
GND o--. | .--o Broche 9
|
+5 o----.



## Composants

- Servomoteur - http://node-ardx.org/electronics-primer#servo

> Prends une impulsion cadencée et la convertis en une angle de l'axe du servomoteur.
## Documentation

- Servo - https://github.com/rwaldron/johnny-five/wiki/Servo#apiservomoteur
- Board - https://github.com/rwaldron/johnny-five/wiki/Board#api

* * *
2 changes: 1 addition & 1 deletion exercises/servo_wave/problem.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
__Make a servo wave at you for 3 seconds, stop, and return to center.__

- Create a new `Servo` instance attached to pin 9
- Create a new `Servo` instance attached to pin **9**
- Use `servo.sweep` to rotate between 0˚ and 180˚
- Use `board.wait` to schedule a 'reset' callback after **3 seconds**
- The 'reset' callback should `stop` and `center` the servo
Expand Down
Loading

0 comments on commit 7b81130

Please sign in to comment.