Carte Romeo
De Wiki Arobose
		
		
		
|  (→Langage C) | m (→Commande à distance) | ||
| Ligne 99 : | Ligne 99 : | ||
| Nous avons ensuite créer des fonctions qui permettent au robot d'avancer, reculer et tourner en précisant la vitesse (de 0 à 255). | Nous avons ensuite créer des fonctions qui permettent au robot d'avancer, reculer et tourner en précisant la vitesse (de 0 à 255). | ||
| <syntaxhighlight lang="c"> | <syntaxhighlight lang="c"> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| /* stop */ | /* stop */ | ||
| Ligne 168 : | Ligne 155 : | ||
| } | } | ||
| </syntaxhighlight> | </syntaxhighlight> | ||
| − | Pour finir,  | + | Pour finir, la fonction principale main() et les fonctions setup() qui définissent l'état des pins (entrée ou sortie) et active les modules PWM. | 
| <syntaxhighlight lang="c"> | <syntaxhighlight lang="c"> | ||
| − | |||
| void | void | ||
| − | + | motor_setup(void) | |
| { | { | ||
|    /* Motor controller */ |    /* Motor controller */ | ||
| − |    DDRD = (1 << PORTD4); /* PD4 as output pin */ | + |    DDRD = (1 << PORTD4); /* E1 (PD4) as output pin */ | 
| − |    DDRE = (1 << PORTE6); /* PE6 as output pin */ | + |    DDRE = (1 << PORTE6); /* E2 (PE6) as output pin */ | 
| + | |||
| + |   pwm_3_setup(); | ||
| + |   pwm_4_setup(); | ||
| + | |||
| + |   pwm_3A_enable(); | ||
| + |   pwm_4D_enable(); | ||
| } | } | ||
| Ligne 182 : | Ligne 174 : | ||
| setup(void) | setup(void) | ||
| { | { | ||
| − | + |    motor_setup(); | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| } | } | ||
| Ligne 220 : | Ligne 208 : | ||
| USART_1_setup(void) | USART_1_setup(void) | ||
| { | { | ||
| − | + |    DDRD &= ~(1 << PD2); /* initialize pin PD2 (RX) as input pin */ | |
| − | + |    DDRD |= (1 << PD3); /* initialize pin PD3 (TX) as output pin */ | |
|    UBRR1 = 103; /* 9600 Baud at 16MHz */ |    UBRR1 = 103; /* 9600 Baud at 16MHz */ | ||
