mainTitle = "Exemple de gestion de LEDs façon chenillard"; $this->asideSection = "Ceci est un exemple de gestion des ports sur Arduino en FORTH " . "dans lequel on gère six LEDs pour simuler un effet de chenillard."; ?> \ ****************************************************************************** \ Exemple de gestion de LEDs façon chenillard \ \ Forth version: Flash Forth (http://flashforth.com/) \ author: M PETREMANN \ Creation: 29 mai 2019 \ Modification: 29 mai 2019 \ ****************************************************************************** decimal flash fl+ \ selection mémoire FLASH -scroll \ supprime les précédentes définitions crées après -cycle marker -scroll \ définit le marqueur -readwrite decimal \ PORTC 40 constant PORTC \ Port C Data Register 39 constant DDRC \ Port C Data Direction Register 38 constant PINC \ Port C Input Pins : init-ddrc ( ---) \ initialise PORTC en sortie sur tous les bits $ff DDRC c! \ active pins en sortie sur PORT C ; : scroll-avt ( ---) \ effet scroll vers avant $80 PORTC c! 100 ms \ 10000000 $40 PORTC c! 100 ms \ 01000000 $20 PORTC c! 100 ms \ 00100000 $10 PORTC c! 100 ms \ 00010000 $08 PORTC c! 100 ms \ 00001000 $04 PORTC c! 100 ms \ 00000100 ; : scroll-ret ( ---) \ effet scroll vers arrière $04 PORTC c! 100 ms $08 PORTC c! 100 ms $10 PORTC c! 100 ms $20 PORTC c! 100 ms $40 PORTC c! 100 ms $80 PORTC c! 100 ms ; : boucle-scroll ( ---) init-ddrc begin scroll-avt scroll-ret key? until $00 PORTC c! ; : kitt-scroll ( ---) \ effet à la KITT de K2000 $80 PORTC c! 100 ms \ 10000000 $c0 PORTC c! 100 ms \ 11000000 $60 PORTC c! 100 ms \ 01100000 $30 PORTC c! 100 ms \ 00110000 $18 PORTC c! 100 ms \ 00011000 $0c PORTC c! 100 ms \ 00001100 $04 PORTC c! 100 ms \ 00000100 $0c PORTC c! 100 ms \ 00001100 $18 PORTC c! 100 ms \ 00011000 $30 PORTC c! 100 ms \ 00110000 $60 PORTC c! 100 ms \ 01100000 $80 PORTC c! 100 ms \ 10000000 ; : k2000 ( ---) init-ddrc begin kitt-scroll key? until $00 PORTC c! ;