Utilisation de l'arduino comme interface



Première solution:


Prérequis:

Il faut que la communication du Raspberry soit sur 19200 Baud, car j’utilise un Attiny85 pour mettre à niveau les signaux. Voir chapitre ici.

Enlever le micro-contrôleur de la carte Arduino UNO


En premier lieux, j'ai créé une interface 5V vers 3,3V pour que les signaux soient compatibles. Mais cela fonctionne jusqu’à 19200Baud.


Programme de mon Attiny qui copie les entrées vers les sorties:



/*

* Attiny_conv.c

*

* Created: 25/05/2014 18:55:40

*  Author: Christophe

*/



#include <avr/io.h>


int main(void)

{

       

       DDRB=0b00010010;

       while(1)

   {

               if(PINB & (1<<PINB3)){

                       PORTB |= (1<<PB1);}

               else {

                       PORTB &= ~(1<<PB1);}

                                                       

               if(PINB & (1<<PINB2)) {

                       PORTB |= (1<<PB4);}

               else{

                       PORTB &= ~(1<<PB4);}

   }

}


Compiler le programme avec Atmel Studio6. Charger le dans votre Attiny avec AVRDUDESS et votre programmateur . Téléchargement du fichier Hex ici.



Raccordement:


Arduino                Attiny                Raspberry

+3,3V               Pin8

GND                 Pin4                 Pin6

RX Pin0            Pin2 =>Pin6      TX Pin8

TX Pin1            Pin3=>Pin7       RX Pin10


Test avec Putty à 19200Baud. Le port sera celui de votre Arduino.




Ça fonctionne correctement.


Deuxième solution:


Faire un pont diviseur de tension sur la sortie de l'Arduino pour que le Raspberry n'est qu'une tension de inférieur à 3,3V.



Pour cela j'utilise deux résistances d'1KΩ.

R1=R2=1KΩ


Raccordement:



Arduino:                                          Raspberry

RX Pin0 ---- >Sur résistance R1 ---->  RX Pin10

TX Pin1 ---------------------------------------> TX Pin8

Gnd -----------> Sur résistance R2


Ce montage fonctionne jusqu'au 115200Baud. C'est simple et efficace.


Test:




Voila ça fonctionne à 115200Baud.




Mise à jour 01/06/2014.

Créé avec HelpNDoc Personal Edition: Créer des documents d'aide facilement