Modérateurs: Modération Forum DIY, Modération Forum Installations, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Atreillou et 128 invités

Discussions générales sur le DIY Audio : choix des HP, comparaisons des principes : clos vs BR, etc

[Idée de projet commun] Appareil ABX de compétition

Message » 21 Mar 2015 20:14

Bonsoir,

Le test du jour, faire afficher la tension mesurée en A0 et l'afficher sur l'OLED, pas trop de soucis, c'est plutôt simple :

Code: Tout sélectionner
int sensorValue = 0;

void draw(void) {
  u8g.setFont(u8g_font_gdr10);
  //u8g.setFont(u8g_font_unifont);
  u8g.setPrintPos(15, 30);
  u8g.print(sensorValue);
}

void setup(void) {
  // flip screen, if required
  // u8g.setRot180();
 
  // set SPI backup if required
  //u8g.setHardwareBackup(u8g_backup_avr_spi);

  // assign default color value
  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
    u8g.setColorIndex(255);     // white
  }
  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
    u8g.setColorIndex(3);         // max intensity
  }
  else if ( u8g.getMode() == U8G_MODE_BW ) {
    u8g.setColorIndex(1);         // pixel on
  }
  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
    u8g.setHiColorByRGB(255,255,255);
  }
}

void loop(void) {
  // picture loop
  sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  u8g.firstPage(); 
  do {
    draw();
  } while( u8g.nextPage() );
}


L'info sur le site offciel : "It takes about 100 microseconds (0.0001 s) to read an analog input, so the maximum reading rate is about 10,000 times a second. "

Voilà voilà :thks:
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 24 Mar 2015 9:23

Bonjour,

Bon le soucis avec le code précédent c'est qu'on était limité à seulement 2 digits après la virgule, la faute à Print qui ne gère plus visiblement ou alors j'ai pas compris, la ruse est donc de convertir le type float en char (chaîne de caractère) et pour cela il y a de petites feintes point agréable !

#include "U8glib.h"

U8GLIB_SSD1306_128X64 u8g(3, 4, 5, 6); // SW SPI Com: SCK = 3, MOSI = 4, CS = 5, D/C = 6.

float sensorValue = 0; // variable qui capture la valeur de l'entrée analogique (au début sous forme numérique sur 10 bits donc de 0 à 1023)
char a[7]; // Et oui il faut préciser entre parenthèse le nombre de bits ou caractères

void setup(void) {
}

void loop(void) {
// picture loop
sensorValue = analogRead(A0)*5;
sensorValue = sensorValue/1024; // Et oui on ne peut pas diviser par 1024 à la phase précédente sous peine de n'avoir des variations qu'avec un pas de 1.00 :hein:
dtostrf(sensorValue, 8, 3, a); // C'est ici qu'on change de type float vers char
u8g.firstPage();
do {
draw();
} while( u8g.nextPage() );
}

Maintenant j'ai bien l'affichage de la tension avec la précision maxi que m'autorise l'ARDUINO :bravo: .
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 30 Mar 2015 8:35

Du nouveau calmement,

j'ai donc dessiné mes besoins en affichage suivant l'action du comparateur, j'arrive à 6 écrans d'affichage différent :

- Écran de base (on peut jouer entre A, B et X sachant qu'il y aura une sélection par défaut au démarrage de l'appareil et on affiche A, B ou X en corrélation avec l'appui sur les touches)
- Écran de sélection (On choisit ce qui va faire l'objet de l'ABX, avec une définition exemple : ABX : Enceintes passives ainsi que le passage des signaux en fonction de A et B, pour câbler convenablement :grad: )
- Écran de calibration (On choisit pour A et B et on affiche A ou B, ensuite sont affichées les tensions correspondantes sur la voie L et R).
- Écran d'essai (on peut changer entre A/B ou X, et on affiche cette valeur pour voir que l'ordre à bien été reçu, il sera indiquer de cliquer Select pour voter ou trial pour voter, ensuite en bas il y aura un récapitulatif du nombre d'essai et du nombre de succès).
- Écran de vote (on choisi A ou B et on valide par Select, tout ceci affiché sur l'écran avec lisibilité !)
- Écran de résultats (on affiche le nombre d'essai et le nombre de succès et on précise la réussite ou échec du test)

Voilà, j'essayerai de faire c'est écran au plus vite pour vous montrer le résultat.
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 15 Avr 2015 14:48

Bonjour,

Petite hésitation sur le détecteur d'enveloppe pour le choix de la diode (la commande des composants ne devrait plus tarder :bravo: ).

http://docs-europe.electrocomponents.co ... a93b02.pdf

http://docs-europe.electrocomponents.co ... 1a6553.pdf

http://docs-europe.electrocomponents.co ... a9ba5f.pdf

Laquelle et pourquoi ? :mdr:

Merci à vous
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 15 Avr 2015 15:21

La Schottky.

pour de l'audio,en mesure,les fréquence peuvent être"élevées".
ce sont des diodes à recouvrement rapide.

question,le modèle d'Arduino choisi gère les virgules flottantes ? :o (je lis + haut float à convertir).
une liste des déclarations de de variables ?
thierry38efd
 
Messages: 1735
Inscription Forum: 18 Sep 2013 7:36
  • offline

Message » 15 Avr 2015 15:32

thierry38efd a écrit:La Schottky.

pour de l'audio,en mesure,les fréquence peuvent être"élevées".
ce sont des diodes à recouvrement rapide.

Ça reste cohérent avec le RC qui aura une constante de temps vers 500ms (pour conserver vers 90% de la valeur pics d'un 20Hz) ? Chose sûre elle ne verra pas plus de 5 volts à ses bornes :wink: .

question,le modèle d'Arduino choisi gère les virgules flottantes ? :o (je lis + haut float à convertir).
une liste des déclarations de de variables ?

J'ai pas fais attention, j'ai pris le modèle UNO de base :wink: .
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 21 Avr 2015 12:22

Bonjour,

Bon il n'y a plus qu'à attendre les composants et à faire les parties du programme qui mèneront à bien ce projet !

Côté soft de simulation, je vient juste de découvrir ce petit bijou :

http://123d.circuits.io/

:love:
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 26 Avr 2015 17:36

Bonjour,

Bon j'ai réalisé le montage suivant (UNO -> ULN2803APG -> relais OMRON) :

Image

A savoir (sur le ULN2803) en COM j'ai placé 12 volts, sur IN1 il y a la pin digital 8 de l'arduino, sur OUT1 j'ai relié une des broches actionnant la bobine du relai (l'autre étant à la masse), puis enfin le GND.

J'ai fais une prog qui passe de 0 à 5 volts la sortie 8 de l'arduino ... Malheureusement en sortie OUT1 du ULN2803 j'ai une tension de seulement 370mV lorsque IN1 est à 5 volts :wtf: .

Là je capte pas le soucis :roll: .

S'il y a une âme charitable dans le coin, merci à lui :wink: .

EDIT: trouvé, il faut câblé ainsi :

Image
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 26 Avr 2015 17:58

Bon la commutation marche à merveille avec un L-20D (à base d'IRS2092), ça coupe net, ça relance de suite ... Parfait.

Je vais tenter de faire des commutation rapide pour voir si j'entends ouverture + fermeture du relais, car je n'ai qu'un seul relais :oops: .

Une chose sûre, la commutation est audible point de vue relais, il faudra donc insonoriser la bête pour ne pas perturber l'auditeur et savoir quand ça commute, à moins de faire comme le QSC qui doit soit avoir un relais qui est là pour faire le son à chaque appui sur la télécommande ... Soit par basculement de tous les relais puis retour à la situation désirée ...

:wink:
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 26 Avr 2015 18:21

Bon il y a un ploc audible (surtout à la déconnexion du relais) !

Il va me falloir trouver comment le tuer :grad: .
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 27 Avr 2015 15:30

Ce qui étonne le +,

c'est une interruption de 40ms qui est inaudible.

Bruit des relais ou pas,si une coupure de 40ms (par ex toutes les secondes) et qui imperceptible... :)
autant poser et abandonner le projet,

ça peut se faire avec un fichier .wav avec un trou de 40ms toutes les secondes (ou les 2,3 secondes).
sans être une fine oreille,la rupture s'entend.

:D Donc le bruit des relais,à mon avis... :-?
thierry38efd
 
Messages: 1735
Inscription Forum: 18 Sep 2013 7:36
  • offline

Message » 27 Avr 2015 15:39

Le 40ms s'entend ;) . Mais on peut descendre largement en dessous et là ça semble clean, il y a juste l'effet de ploc qui s'entend, je me demande comment QSC s'en est débarrassé :wtf: .

Une fois cela fait, ce sera parfait :grad: (juste le petit clic propre au relais qu'il faudra insonoriser pour calmer), ce qu'à fait OHL :wink: .

Je testerai aussi les relais pour les faibles signaux, qui eux ne possède aucun bruit de commutation :bravo: .

Merci à toi
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline

Message » 28 Avr 2015 0:11

Sur cette photo on voit derrière les gros relais des capacités :

Image

Ça ne serait pas elle qui aurait pour rôle de rendre inaudible le ploc créé par le relai ?

Je ne sais pas si QSC accepterait de me donner quelques pistes à suivre :lol: :wtf: .

Bonne soirée
Cobrasse
 
Messages: 5864
Inscription Forum: 17 Aoû 2008 13:02
  • offline


Retourner vers Discussions Générales