Outils pour utilisateurs

Outils du site


issue88:arduino

Ceci est une ancienne révision du document !


This month, it’s time to combine two chunks of code into one, but this time with a broader view. These two parts will form a larger beast in the coming months. I mentioned the 16×2 LCD screen in a previous Arduino section in FCM, but I haven’t mentioned the 3×4 keypad that I have. It’s a bog standard, no name, 3×4 keypad, with holes in its board for wires. I’ve soldered in some wires of various colours and it’s ready to be bolted onto the LCD screen. I already have my LCD screen wired up to the breadboard and have the basic ‘hello world’ sketch running on it, so I know for sure my LCD part is right. I’ve previously tinkered with the keypad and monitored the output in the serial window (code shown below) but now it’s time to bypass the serial window and go right to the LCD screen.

Ce mois-ci, c'est le moment de combiner deux morceaux de code en un, mais cette fois-ci avec une plus grande largeur de vue. Ces deux parties vont former une vraiment grosse bête dans les mois prochains.

J'ai fait état de l'écran LCD de 16×2 dans un article précédent d'Arduino dans le FCM, mais je n'avais pas encore parlé du clavier 3×4 que j'ai. C'est du standard bas de gamme, sans nom, clavier 3×4, avec des trous dans la carte pour les fils. J'y ai soudé des fils de couleurs variées et il est prêt pour être assemblé avec l'afficheur LCD.

J'avais déjà câblé mon écran LCD à la plaque d'essai et la séquence de base « hello world » tourne dessus ; je suis donc assuré que ma partie afficheur LCD fonctionne. J'avais déjà bricolé avec le clavier et géré la sortie dans la fenêtre série (le code est présenté ci-dessous) mais il maintenant temps de contourner la fenêtre série et d'aller directement à l'afficheur LCD.

So, I have the keypad wired into the remaining digital pins and need to merge the two lots of code. Note that I’ve missed out digital pin 1. For some reason when I used pin 1, I would end up with a row of keys that wouldn’t output. I’m not entirely sure why. I have to assume it’s to do with pin 1 being the TX, or transmit, pin. Getting it working was pretty simple. I pasted in the include and keypad setup stuff at the start followed by editing the keypad pin numbers accordingly. In the original LCD code it printed ‘hello world’ in the top line then, below that, the time it’d been running in milliseconds. I replaced the ‘hello world’ text with ‘Enter code:’ and replaced the milliseconds with the key char. That was basically it. My code is at: http://pastebin.com/YndLneqm Next month, we’ll add more to the code, possibly more to the circuit too. Although, I’m quickly running out of pins! I have only the analog pins left.

Aussi, j'ai câblé le clavier dans les contacts numériques restants et j'ai besoin de fusionner les deux morceaux de code. Notez que j'ai laissé de côté le contact numérique n°1. Pour une raison quelconque quand j'avais branché le contact 1, j'avais constaté qu'il n'y avait aucune sortie sur une rangée de touches. Je ne suis pas vraiment sûr de la raison. J'ai supposé que ça avait un rapport avec le fait que le contact N°1 est le contact TX, ou « transmettre ».

Le faire marcher a été très simple. J'ai collé les lignes de code d'inclusion et de réglage du clavier au début, suivi une édition des numéros des contacts du clavier. Dans le code original « hello world » est sur la ligne du haut, puis, en dessous, le temps s'écoule en millisecondes. J'ai remplacé le texte « hello world » par « Entrer un code : » et remplacé les millisecondes par le code du caractère. C'était tout.

Mon code est sur : http://pastebin.com/YndLneqm

Le mois prochain, nous rajouterons du code, probablement plus de circuits aussi. Bien que je vais être rapidement à cours de contacts ! Il ne me reste plus que les contacts analogiques.

issue88/arduino.1421791688.txt.gz · Dernière modification : 2015/01/20 23:08 de d52fr