Bonjour, Voici le code Java qu'il faut pour faire fonctionner son module TEA5767 avec un paramétrage de base. En gros juste changer la fréquence et le "mute", je rajouterais les diverses option par la suite.Il vous faut au préalable avoir installer I2C sur votre Pi (Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!) [1.Préparation] ----------------- Pour commencer placer la librairie Java Pi4J (Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!) dans un dossier. Ensuite faite au démarrage du projet Code (Text): JavaCharge(MonDossierContenantLesLibrairies) [2.Créer une petit fenêtre de test] ----------------- Créer 4 bouton: -Augmenter de 1 -Augmenter de 0.10 -Diminuer de 1 -Diminuer de 0.10 Faite des variables de type monétaire (le type numérique n'étant pas disponible sur les projets Java) [3.Création de la procédure Java] ----------------- Pour ceux qui ne savent créer une procédure de type Java il suffit de clique sur le "WL" de la barre de la procédure pour la passer en procédure Java: Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! [4.On fait le code] Maintenant on peut passer au code: Code (Text): freq14bit est un entier = 4*(MonétaireMaFréquence*1000000+225000)/32768 Ensuite on peut appeler la procédure Java: Code (Text): resultat est une chaîne = ChangerFrequence(freq14bit,BooleanMute) Puis il faut maintenant renseigner les librairies dans le code Java: Code (Text): import java.io.IOException; import java.util.Arrays; import com.pi4j.io.i2c.I2CBus; import com.pi4j.io.i2c.I2CDevice; import com.pi4j.io.i2c.I2CFactory; import com.pi4j.io.i2c.I2CFactory.UnsupportedBusNumberException; import com.pi4j.platform.PlatformAlreadyAssignedException; import com.pi4j.util.Console; Maintenant on peut créer le tableau qui permettras de stocker les données envoyer au modules, avec les variables qui vont nous servir par la suite: Code (Text): byte radio[] = new byte [5]; //Tableau des données pour le module int ADDR = 0x60; //Adresse du Modules sur le PORT 1 / I2C int frequencyH = 0; //La fréquence haute int frequencyL = 0; //La fréquence basse Il vaut faire quelque manipulation de byte aussi: Code (Text): frequencyH=frequencyB>>8; //Décale les bytes de 8 sur la droite frequencyL=frequencyB&0XFF; //Comparaison de byte (pour avoir 1 il faut 1 des 2 coter sinon 0) Petit plus vous pouvez rajouter la condition pour le mute du module: Code (Text): if(mute == true){ frequencyH = 0x80; } Ensuite on remplis le tableau radio: Code (Text): // data to be sent radio[0]=(byte)frequencyH; radio[1]=(byte)frequencyL; radio[2]=(byte)0xB0; //Paramètres supplémentaires radio[3]=(byte)0x10; //Paramètres supplémentaires radio[4]=(byte)0x00; //Paramètres supplémentaires Les 3 dernières case du tableau servent a rajouter un paquet de paramètres, je les aborderais plus tard. Maintenant il ne restent plus qu'à envoyer tous ça sur le module: Code (Text): try{ I2CBus i2cbus = I2CFactory.getInstance(I2CBus.BUS_1); //Pointe le BUS1 de i2C Thread.sleep(100); // On déclare le device I2CDevice device = i2cbus.getDevice(ADDR); //Pointe l'adresse 0x60 du BUS1 de I2C // On écris sur le device device.write(radio); //Envoie le tableau de byte radio sur l'adresse 0x60 du BUS1 de I2C }catch(UnsupportedBusNumberException e){ return (String)e.getMessage(); } catch(IOException e){ return (String)e.getMessage(); } catch(InterruptedException ex) { Thread.currentThread().interrupt(); } Et voilà si vous avez bien tous suivis vous devriez pouvoir utiliser le modules TEA5767 avec windev sur votre RaspBerrry PI. Je compléterais ce post par la suite afin de rajouter tous les paramétrages du modules. Si vous avez des questions ou des idées pour améliorer le post n’hésitez pas et désoler pour mon français, c'est pas mon points fort #merci à Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! pour m'avoir fait découvrir la librairie Pi4J EDIT: Si vous souhaiter convertir: Code (Text): frequencyH=frequencyB>>8; //Décale le byte de 8 sur la droite frequencyL=frequencyB&0XFF; //Comparaison de byte (pour avoir 1 il faut 1 des 2 coter sinon 0) en windev sa donne: Code (Text): frequencyH= frequencyB bitRightShift 8 //Décale le byte de 8 sur la droite frequencyL=frequencyB&0XFF //Comparaison de byte (pour avoir 1 il faut 1 des 2 coter sinon 0) Ensuite il suffit de rajouter frequencyH et frequencyL en paramètre pour l'envoyer dans la procédures.
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! bon travail !! C'est ainsi que la communauté grandira et s'entraidera, partageant les connaissances que nous avons tous et l'expérience que nous avons