Photoduino remplacement «attachInterrupt» pour boutons poussoirs

Bonjour

Je fais une adaptation de Photoduino (Google Code Archive - Long-term storage for Google Code Project Hosting.)

A la base il y a besoin de 2 boutons poussoirs A et B qui utilisent les pins
PD2(INT0) et PD3(INT1) et dans le code utilisent la fonction «attachInterrupt»

j’utilise aussi un LCD&Keypad shield (http://www.zartronic.fr/lcd-shield-pour-arduino-p-125.html)
qui utilise la pin ADC0 pour la gestion de ses 5 boutons

Puis-je utiliser 2 des boutons pour remplacer les bouton A et B ? (et ne pas utiliser «attachInterrupt»)

Si vous avez des idées je suis à votre écoute.

Merci

Bonne fêtes de Noêl à vous

Bonjour,

Il y a deux solutions à ton probléme.
La première, la plus "simple", consisterai à mettre un fil entre la sortie du bouton et la broche D2 / D3 mais ça demanderai de bidouiller un peu la shield (enlever 2 résistances et souder deux fils à la place).
La secondes solution serait d'utiliser un timer pour vérifier cycliquement l'état de l'entrée analogique A0 et "simuler" l'appel de la fonction du bouton A ou B selon la valeur retourné.

A toi de voir, deux petit modif hardware ou un gros bidouillage software.

(Pour l'utilisation des timer -> voir playground MsTimer, FlexTimer, etc ...)

En fait au départ c'était pour libérer une sortie PWM (voir ci dessous) donc la modif hardware ne résout rien.

Pour ma réalisation (style photoduino) j’ai besoin de piloter un moteur pas à pas bipolaire (dans un seul sens) pour cela j’ai un module L298
http://www.zartronic.fr/module-contrôleur-de-moteur-2a-l298-p-43.html

Mon soucis est que j’utilise aussi un LCD&Keypad shield
http://www.zartronic.fr/lcd-shield-pour-arduino-p-125.html
qui me prend 5 pins PWM sur 6 !!!

Au final il me reste libre sur la duemilanove
Pin 11 PB3 PWM
Pin 12 PB4
Pin 13 PB5
Pin ADC4
Pin 0 RX
Pin 1 TX

Si vous avez des idées ?

J’ai pensé à une solution mais je suis preneur de toute autre solutions

Remplacer le LCD&Keypad shield par un LCD simple pour pouvoir câbler un des fil sur la pin ADC0 (en numérique) qui est réservée pour les boutons (que je n’utilise pas) et me libérer un PWM.

pa44:
Remplacer le LCD&Keypad shield par un LCD simple pour pouvoir câbler un des fil sur la pin ADC0 (en numérique) qui est réservée pour les boutons (que je n’utilise pas) et me libérer un PWM.

Ça semble la solution la plus intelligente, le plus simple c'est encore de faire le câblage soit même et de ce passer de la shield.