Librairie émetteur FM NS73M

Bonjours,

Comme peut le laissé supposer le titre de mon post je vais parler de l'émetteur FM NS73M,
non pas pour réclammer quoi que ce soit mais pour vous montrer ma dernière création :slight_smile: .

Je viens juste de terminer ma librairie permettant de contrôler la puce NS73M via spi (le zip est en pièce jointe).
Elle permet de contrôler le plus simplement possible les registres du NS73 et changer la configuration à n'importe qu'elle moment.
C'est une classe donc il est possible de faire tourner plusieurs NS73 sur une seul carte arduino.

J'ai essayer de faire quelque chose de pas trop mal mais bon c'est ma première librairie. J'ai respecté les conventions de nommage pour les fonctions et essayé de faire une petite doc avec commentaires de chaque fonction en anglais (mais l'anglais :sweat_smile: ).
Comme le module vendu par sparkfun ICI fonctionne sous 3v3 et n'est pas du tout 5v tolérant donc j'ai aussi inclut dans le zip le typon de ma carte de développement (7 résistances, 2 condensateurs,une zener et un transistor ça va pas chercher loin :wink: ).

Edit: Tout conseil ou idée d'amélioration sera le bienvenue. ^^

EDIT: Version 2 :

Bonsoir,

J'ai conçu un émetteur FM il y a quelques mois mais j'ai tout fait de manière analogique avec self et condo je veux dire. Cet émetteur n'est pas stable du tout donc je cherche à réaliser un autre projet avec émetteur FM, je suis tombé sur ton topic mais il y a deux trois choses que je ne comprends pas bien :

  1. Ton module NS73M émet sur toute la bande FM, à quoi sert ta bibliothèque ?
  2. J'ai vu deux images de câblage "how to wire" et "devboard schematic" à quoi le second fait référence?

Merci d'avance

Bonsoir,

darkduino:

  1. Ton module NS73M émet sur toute la bande FM, à quoi sert ta bibliothèque ?

Oui de 87.7 à 107.7.
Elle permet de controler de manière simple tout ce qui est fréquence d'émission, puissance de sortie, mute/no mute, pre-emphasys, etc etc

Remarque : La version de la librairie dispo sur ce topic est la v1.
J'ai conçu une nouvelle version (v2) plus stable et prenant moins de place :

darkduino:
2. J'ai vu deux images de câblage "how to wire" et "devboard schematic" à quoi le second fait référence?

J'ai mis à jour le zip sans faire attention :blush:
"how to wire" c'est le schéma de cablage arduino <-> ns73m
"devboard schematic" (si j'avais respecté mes habitudes de nommage) ça doit être le schéma de la carte que j'avais conçu pour enficher le module NS73M.

Elle permet de controler de manière simple tout ce qui est fréquence d'émission, puissance de sortie, mute/no mute, pre-emphasys, etc etc

Ok je n'avais pas tout compris, je pensais que tu savais émettre sur toutes les fréquences simultanément, mais c'est sûr c'est mieux comme ça.

"how to wire" c'est le schéma de cablage arduino <-> ns73m
"devboard schematic" (si j'avais respecté mes habitudes de nommage) ça doit être le schéma de la carte que j'avais conçu pour enficher le module NS73M.

Je me suis mal exprimé, je voulais dire que tu avais un schéma où il y avait un transistor qui permet de passer de 5V à 3V3, mais ne peut-on pas servir des 3,3 V de l'arduino?

Je viens de voir la suite de ton projet et il correspond assez fort à ce que je veux faire, c'est-à-dire : brancher un lecteur mp3 à une carte bluetooth (émetteur) qui envoie à une autre carte bluetooth (récepteur) qui serait raccordé à un arduino et l'émetteur FM. Serait-il possible de voir ton schéma de montage ainsi que les composants utilisés?

Sinon quelle distance parviens-tu à obtenir avec l'émetteur FM? Ils annoncent 16 mètres

darkduino:
Ok je n'avais pas tout compris, je pensais que tu savais émettre sur toutes les fréquences simultanément, mais c'est sûr c'est mieux comme ça.

Il n'est possible d'émettre que sur une seul fréquence à la fois.

darkduino:
Je me suis mal exprimé, je voulais dire que tu avais un schéma où il y avait un transistor qui permet de passer de 5V à 3V3, mais ne peut-on pas servir des 3,3 V de l'arduino?

Oui tu peut sans probléme, c'est juste que j'ai des cartes arduino sans régulateur 3v3 pour certaines (arduino pro 5v par exemple).

darkduino:
Je viens de voir la suite de ton projet et il correspond assez fort à ce que je veux faire, c'est-à-dire : brancher un lecteur mp3 à une carte bluetooth (émetteur) qui envoie à une autre carte bluetooth (récepteur) qui serait raccordé à un arduino et l'émetteur FM. Serait-il possible de voir ton schéma de montage ainsi que les composants utilisés?

Je n'est pas du tout ce principe de fonctionnement.
Mon systéme est du type :
lecteur mp3 ->|
Terminal série "over bluetooth" -> module bluetooth -> arduino -> NS73M -> antenne

Je ne connais aucun module bluetooth pouvant transmettre de l'audio ... (module pour casque audio ?)
Pour le schéma je n'en ai pas fait, le câblage est décris en commentaire dans le code.

darkduino:
Sinon quelle distance parviens-tu à obtenir avec l'émetteur FM? Ils annoncent 16 mètres

J'ai pas testé à plus de 5 mètres, mais je doute vraiment que cela fonctionne à 16 métres.

skywodd:
J'ai pas testé à plus de 5 mètres, mais je doute vraiment que cela fonctionne à 16 métres.

Bonjour skywodd
ce genre de petit module est par construction limité en "puissance" pour pouvoir être exporté "partout" sans initier de problemes juridiques
locaux.
Sa faible puissance apparente étant considérée comme non perturbatrice et à la limite des différentes réglementations locales.
C'est considéré comme "un pilote" d'émetteur" et pas comme un émetteur.
Mettre derrière un ampli VHF même à "trois sous" rend l'ensemble "interdit" 8)

Au passage sur DX ils vendent un CI ampli HF tout intégré (réf VMR6700) avec bande passante de 95MHz ~ 105MHz (pas tout la bande FM donc) de +100mW.

Bien sur c'est juste pour le plaisir des yeux, hein, il est illégal de l'utiliser :grin:

Bonsoir,

Je viens de recevoir mon émetteur FM, après avoir câblé. Petit soucis avec l'IDE, j'ai la 1.0, j'ai vu sur un autre topic que tu parlais de garder les versions 022 ou 023 mais ces deux versions ne fonctionnent vraiment pas. Comment est-ce que je peux faire pour utiliser n'importe quelle bibliothèque avec la version 1.0?

Merci d'avance

darkduino:
Comment est-ce que je peux faire pour utiliser n'importe quelle bibliothèque avec la version 1.0?

C'est impossible, les modifications effectué entre 0023 et 1.0 sont beaucoup trop profonde pour espérer faire fonctionner n'importe quelle librairies conçu pour <0023 sur 1.0.
Tout les librairies héritant de "Print" ne compilerons pas par exemple.

Dans le cas de ma librairie NS73M_V2 la seul chose qui peut poser probléme c'est le #include "WProgram.h" en début de NS73M_V2.h
Si tu veut compiler ma librairie pour arduino 1.0 il faut remplacer cette ligne par #include "Arduino.h".

(Plus généralement si tu as une erreur de compilation à cause de WProgram.h il suffit de remplacer cette ligne dans la librairie en question pas Arduino.h)

De fait c'est mieux comme ça.

Merci

J'ai un soucis au niveau du câblage entre l'arduino et le NS73M.
Dans ta rubrique "how to wire", il y a une manière de faire tandis que dans le soft arduino que tu as fait, tu expliques le câblage et là tu parles de résistances de 10K.
Quelle est la meilleure manière de câbler?

Merci d'avance

darkduino:
Dans ta rubrique "how to wire", il y a une manière de faire tandis que dans le soft arduino que tu as fait, tu expliques le câblage et là tu parles de résistances de 10K.
Quelle est la meilleure manière de câbler?

Le schéma "how to wire" montre le câblage "propre" qui permet de garantir des niveaux de 3v3 max vers le NS73M.
Le mini câblage dans le programme c'est la version "vite fait" qui limite juste le courant et laisse passer le 5v directement dans le NS73M.

La version du "how to wire" est bien meilleur, même si dans les faits la version 2 marche aussi bien (par contre niveau durée de vie du composant c'est sur que le câblage n°1 est bien mieux).

Ok,

Mais pour le 3V3 justement, je ne comprends pas pourquoi tu n'as pas pris les 3V3 de l'arduino, tu vas me dire que ce n'est jamais qu'un transistor, une zéner et une résistance que tu as rajouté, mais c'est plus simple d'utiliser le 3V3 de l'arduino, pourquoi ce choix?

darkduino:
Mais pour le 3V3 justement, je ne comprends pas pourquoi tu n'as pas pris les 3V3 de l'arduino, tu vas me dire que ce n'est jamais qu'un transistor, une zéner et une résistance que tu as rajouté, mais c'est plus simple d'utiliser le 3V3 de l'arduino, pourquoi ce choix?

J'ai déja répondu quelques post plus haut :wink:
Quand j'ai fait la breakout je n'avais qu'une carte arduino pro 5v, or sur ces cartes il n'y a justement pas de régulateur 3v3.

Ah oui sorry :cold_sweat:
Une dernière petite chose, la borne LA, du NS73M, tu la raccordes sur la pin 10 de ton arduino? Ou n'importe quelle pin?

darkduino:
Ah oui sorry :cold_sweat:
Une dernière petite chose, la borne LA, du NS73M, tu la raccordes sur la pin 10 de ton arduino? Ou n'importe quelle pin?

Par défaut c'est D10 effectivement, mais si tu veut tu peut changer :wink:

Regarde le constructeur de NS73M() :
Par défaut c'est NS73M(12, 11, 10); mais tu peut déclarer un objet NS73M avec les valeurs de ton choix :wink: