Outils pour utilisateurs

Outils du site


issue88:arduino

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, le moment est venu de combiner deux morceaux de code en un, mais cette fois-ci avec une plus large perspective. Ces deux parties vont former une grosse bête dans les mois prochains.

J'ai fait état de l'écran LCD de 16×2 dans un article précédent sur Arduino dans le FCM, mais je n'ai 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 à être être fixé à l'écran 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 certain que la partie LCD fonctionne. J'avais déjà bricolé avec le clavier et surveillé la sortie dans la fenêtre série (le code est présenté ci-dessous), mais il est 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.

Ainsi, le clavier est câblé aux 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. Je suppose qu'il y a un rapport avec le fait que le contact n° 1 soit le contact TX, ou « transmettre ».

Le faire fonctionner a été très simple. J'ai collé les lignes de code d'inclusion et de réglage du clavier au début, suivi de l'édition des numéros des contacts correspondants 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 caractère clavier. C'était tout.

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

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

issue88/arduino.txt · Dernière modification : 2015/01/22 15:38 de andre_domenech