Étape 1: Pourquoi utiliser VIPER
Dans ce très populaire instructable vous pouvez voir comment à clignoter plusieurs del utilisant delay() dans la fonction loop() . Cette logique, c’est OK si vous voulez faire clignoter eux tout à la fois, ou si vous voulez à clignoter un après l’autre ou de faire d’autres effets simples.
Mais que se passe-t-il si vous voulez faire clignoter la LED à des rythmes différents ? Cette question revient pratiquement tous les jours sur le forum de l’Arduino et c’est où la fonction delay() n’aide pas vraiment. En fait, dans l’Arduino utilisant delay() a un effet secondaire - l’Arduino ne fait rien pendant ce moment. Pour obtenir deux ou plusieurs « actions » à exécuter indépendamment de l’autre, vous ne pouvez pas utiliser delay().
Pour résoudre ce problème, il existe de nombreuses solutions, plus ou moins difficiles :
- à l’aide de millis() [lien]
- à l’aide d’une table approche [lien] par
- à l’aide d’une logique de Machine à états finis [lien]
Toutefois, les concepteurs et utilisateurs non-programmeurs sont frustrés par les difficultés à mettre en œuvre ces fonctionnalités dans les microcontrôleurs. Ils veulent juste leur prototype et le produit à travailler.
Pour remédier à ces douleurs, VIPER prend en charge des fonctionnalités de haut niveau les plus utilisées de Python comme modules, classes, multithreading, rappels, minuteries et exceptions, ainsi que quelques caractéristiques concernant le matériel personnalisés comme interruptions, PWM, e/s numériques, etc..
VIPER est une suite de développement facile à utiliser pour la conception de haut niveau des objets interactifs prêts pour le cloud et l’ITO. VIPER est composé d’un IDE multi-plateforme, une application mobile et une Machine virtuelle qui s’exécute sur différentes plates-formes. Avec VIPER, créateurs, designers et professionnels peuvent développer en Python pour Arduino DUE, ST Nucleo et la plupart des produits de particule (anciennement Spark) et des cartes similaires à l’aide des paradigmes et des caractéristiques typiques d’émissions mobiles et les PC.