Scratch for Arduino

Scratch for Arduino

S4A és una modificació de Scratch desenvolupada pel Grup de Programació Smalltalk de Citilab per controlar el microprocessador Arduino de manera visual, intuïtiva i fins i tot, divertida. Podeu descarregar-lo des d’aquí i configurar-lo en la llengua que vulgueu.

A les funcions pròpies de Scratch s’ha afegit funcions específiques pel control d’Arduino, definides al bloc d’instruccions de Moviment del programa:

Assignar valors com a sortides digitals als pins 10, 11 i 13 de la placa Arduino (encès: 5V / apagat: 0V)
Assignar valors com a sortides analògiques als pins 5, 6 i 9 de la placa. (0: 0V a 255: 5V)
Llegir l’estat dels pins digitals 1 i 2, reconeguts com a entrades digitals. (veritat / fals)
Llegir el valor de les entrades analògiques 1 a 6 (de 0 a 1023 que corresponen a l’interval 0 a 5V)
Controlar el gir de motors CC a través dels pins digitals 4 i 7
Controlar l’angle de gir de servomotors a través dels pins digitals 8 i 12

Per tal que S4A s’entengui amb Arduino cal instal·lar un firmware a la placa. Aquest firmware no és més que un programa en codi Arduino que defineix les entrades i sortides reconegudes per S4A.

Darrera l’aparent simplicitat d’aquest programa hi ha moltes possibilitats. La primera, aconseguir controlar els nostres muntatges de manera autònoma i creativa. L’exemple de la imatge activa i desactiva periòdicament el pin 13 d’Arduino (al qual hem connectat un LED) quan el polsador connectat al pin digital 1 estigui premut.

De moment els programes fets amb S4A s’executen a l’ordinador, no a la placa: S4A interactua amb Arduino enviant l’estat dels actuadors i rebent el dels sensors cada 75 ms. Per tant Arduino programat amb S4A no pot funcionar de manera autònoma.

Un altre dels inconvenients és que aquest programa només reconeix 3 pins Arduino com a sortides digitals. Per a això hi ha dues solucions:

  • Darrerament s’ha creat un patch que permet augmentar el nombre de sortides digitals reconegudes pel programa, disminuint el nombre de sortides de motors. Aquest patch i el firmware necessari es poden descarregar aquí.
  • Si no volem perdre sortides de motors, podem treballar amb tantes plaques Arduino com ports USB tingui lliures l’ordinador. Es poden crear nous objectes virtuals Arduino i fer-los funcionar de manera col·laborativa des del programa.