Étape 4: Plus de code, pour une utilisation avec un capteur de tils mécaniques
Ce lien fournit un autre modèle interactif des LEDs, en utilisant une boule métallique dans un boîtier carré.
Voir la case grise à côté de l’atmega328. Il a été récupéré sur un défunt chien de Sony !
L’utilisation de ce capteur d’inclinaison, j’ai dû faire une fonction tiltcheck. Cela semble facile, mais il n’était pas !
Le principe était bon, mais un retard devait être inséré le modèle broche de commutation.
Voir la fonction du script :
uint8_t checkTilt() {}
uint8_t tiltPin = 0 ;
PORTC | = (1 << PC1) ;
PORTC | = (1 << PC5) ;
uint8_t /Delay = 50; / /---> retard
PORTC & = ~ _BV(PC1) ;
_delay_ms(delayTime); / /---> retard
Si ((PINC & (1 << PC4)) == 0) tiltPin = 2; //left
Si ((PINC & (1 << PC2)) == 0) tiltPin = 1; / / front
PORTC | = (1 << PC1) ;
_delay_ms(2*delayTime) ; //here un délai est nécessaire, sinon les lectures sont étranges???
PORTC & = ~ _BV(PC5) ;
_delay_ms(delayTime); / /---> retard
Si ((PINC & (1 << PC4)) == 0) tiltPin = 5; //back
Si ((PINC & (1 << PC2)) == 0) tiltPin = 3; / / droite
Si ((PINC & (1 << PC3)) == 0) tiltPin = 4; //mid -> haut
PORTC | = (1 << PC5) ;
Return tiltPin ;
}
http://www.contrechoc.com/Instructables/twinkle_winter_cap_project_2.zip
Maintenant lorsque vous déplacez votre tête, les LED changera le modèle à gauche, droite, devant ou dos. Et quand ne pas inclinée sont les albums LED sur.