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

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

Projet integration ampli+dsp+vu-metres etc

Message » 19 Oct 2022 9:37

[Mod-On] Supprimé, message publicitaire [/Mod-Off]
sounox
 
Messages: 2
Inscription Forum: 19 Oct 2022 9:31
  • offline

Message » 02 Nov 2022 12:26

Voila un etat d’avancement, et puis pour vous montrer un peu la bete :lol:

Image
Image
Image
Image
Le yann
 
Messages: 358
Inscription Forum: 29 Mai 2010 11:18
  • offline

Message » 18 Nov 2022 16:06

On avance !!!
Image
Image
Le yann
 
Messages: 358
Inscription Forum: 29 Mai 2010 11:18
  • offline

Message » 18 Nov 2022 18:11

C'est beau !

La configuration dans mon profil


La bougie de ton intelligence n'éclairera ta vie que le jour où tu arrêteras toi-même de souffler dessus !
On ne peut pas donner à boire à un âne qui n'a pas soif π
Dagda
Membre HCFR
Membre HCFR
 
Messages: 15244
Inscription Forum: 22 Déc 2005 14:53
  • offline

Message » 19 Nov 2022 22:10

Merci :bravo:
Le yann
 
Messages: 358
Inscription Forum: 29 Mai 2010 11:18
  • offline

Message » 14 Aoû 2024 0:11

Salut,
Il me reste toujours la plaque du dessus à faire, mais comme l’ampli est dans son meuble à l’abri de la poussiere et que ca se voit pas ben ca me pousse pas à la faire. Mais la faut que je m’y mette histoire d’avoir vraiment fini à 100%.
Bref.

J’ai un petit bug, mais qui à la longue me les brise : dés que l’ampli est eteint (inactif) depuis longtemps genre 1 semaine environ (donc aucun signal n’a ete recu par l’arduino), ben il ne veut pas s’allumer.
On dirait que l’arduino est dans un sommeil profond et j’arrive pas a le reveiller. Pour sortir de ce bug, il faut que je coupe l’alimentation ( a la prise) et que je rebranche. Et la tout fonctionne parfaitement, le bonton de la telecommande actionne bien on/off

Une idee ?
Le yann
 
Messages: 358
Inscription Forum: 29 Mai 2010 11:18
  • offline

Message » 26 Aoû 2024 22:00

Bonjour

Cela ressemble a un débordement de compteur. Quand tu débranches et rebranches, en fait tu fais un reset de l'arduino, et le compteur repart à 0.

Il doit y avoir un compteur de temps mal défini dans le programme. Tu as le code complet du programme? Je ne suis pas un pro, mais des fois je trouve le bug...
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2985
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online

Message » 27 Aoû 2024 21:06

Salut, et merci, je l’avais note. Le voici :

Pour les vu metre

#include <IRremote.h>

#define RECV_PIN 3
#define RELAY_PIN 5
#define RELAY_TYPE HIGH // for a low level relay
//#define RELAY_TYPE HIGH // for a high level relay

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(115200);
Serial.println("IR remote");
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, RELAY_TYPE == HIGH);
irrecv.enableIRIn();
}

void loop()
{
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
if (results.value == 0xAC53609F) {
int actual = digitalRead(RELAY_PIN);
Serial.print(actual == RELAY_TYPE ? "Turn OFF" : "Turn ON"); Serial.println(" the relay");
digitalWrite(RELAY_PIN, !actual);
}
irrecv.resume();
}
delay(100);
}



Pour l’ampli :

#include <IRremote.h>

#define RECV_PIN 3
#define RELAY_PIN 4
#define RELAY_TYPE HIGH // for a low level relay
//#define RELAY_TYPE HIGH // for a high level relay

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(115200);
Serial.println("IR remote");
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, RELAY_TYPE == HIGH);
irrecv.enableIRIn();
}

void loop()
{
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
if (results.value == 0xAC5302FD) {
int actual = digitalRead(RELAY_PIN);
Serial.print(actual == RELAY_TYPE ? "Turn OFF" : "Turn ON"); Serial.println(" the relay");
digitalWrite(RELAY_PIN, !actual);
}
irrecv.resume();
}
delay(100);
}

Ils sont similaires car je n'ai changé que le PIN et le code hexa.
Le yann
 
Messages: 358
Inscription Forum: 29 Mai 2010 11:18
  • offline

Message » 01 Sep 2024 10:52

Bonjour

Je ne vois pas dans cet extrait de fonction faisant appel à un compteur de temps (genre micros() ou millis()). Ce n'est donc pas ce que je croyais.

As tu vérifié que les tensions d'alimentation de la carte arduino sont bien constantes sur une longue durée?

Tu utilises la fonction "serial", c'est pour afficher quelques chose sur le serial monitor (je n'ai pas vu d'autres afficheurs, LCD ou autre)?

Si je comprends bien, tu as deux programmes distincts, un pour fonction ON/OFF avec la télécommande, et l'autre pour les vu mètres (je n'ai pas bien compris le fonctionnement de ce dernier, mais ce n'est pas sujet), le tout sur une seule carte arduino?

Cdt
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2985
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online

Message » 03 Sep 2024 0:17

Salut,
Oui en effet j’ai 2 programmes sur le meme arduino. Cet arduino commande 2 relais : un pour commuter l’ampli de puissance, et l’autre pour commuter les vu-metre. Ainsi, je peux choisir d’ecouter de la musique sans forcement avoir les vu metre allumes (pratique pour les films dans le noir par exemple)

Pour cette histoire de tension, c’est pas bete j’y avais pas pense. Je vais mesurer combien j’ai en sortie de mon alim qui est celle-ci https://www.audiophonics.fr/fr/kits-et- ... 10285.html

Mais de toute facon l’arduino transforme le 7 à 12v en 5v sur sa borne VIN, donc il ne devrait pas y avoir de probleme a ce niveau la non ?
Le yann
 
Messages: 358
Inscription Forum: 29 Mai 2010 11:18
  • offline

Message » 03 Sep 2024 17:55

Bonjour

Déjà on peut simplifier le programme.

Si j'ai bien compris ce sont deux relais de type High, c'est à dire que les relais collent lorsque la tension de commande est au niveau haut (5V)

Ensuite, aucune autre fonction de l'arduino que de commander ces deux relais à l'aide de la télécommande

je te proposerai ce soir un programme plus simple. Il y a des redondances dans le tien, et tu n'as plus besoin de la fonction serial (qui t'as servi au départ pour détecter le code envoyé par la télécommande). Il est possible que le problème vienne de là

Cdt
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2985
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online

Message » 03 Sep 2024 18:01

Le yann a écrit:
Mais de toute facon l’arduino transforme le 7 à 12v en 5v sur sa borne VIN, donc il ne devrait pas y avoir de problème a ce niveau la non ?


Non, sur la borne Vin, c'est la tension qui alimente ton arduino (12V dans ton cas si j'ai bien suivi).
les 5V c'est sur la borne 5V de l'arduino
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2985
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online

Message » 03 Sep 2024 20:49

Bonsoir

Je te propose de tester le prog suivant. La version que tu utilises actuellement a été réalisé par une personne vraisemblablement bien plus expérimenté que moi, mais réalisé en C++ et incluant des fonctions qui ne sont plus utiles depuis que tu as détecté le code d'émission de ta telco.

les joies des bibliothèques arduino; j'utilise ici la dernière bibliothèque de Shirriff, alors que dans ton programme il s'agit d'une ancienne version qui ne fonctionne plus (sauf si tes bibliothèques n'ont pas été mises à jour). Bref, il faudra veiller à l'avoir installer , sinon revenir à l'ancienne. Si tu ne sais pas vérifier ou installer une bibliothèque, ne t'inquiètes pas, c'est très simple!

https://github.com/Arduino-IRremote/Arduino-IRremote pour plus d'info.

Cordialement

Code: Tout sélectionner
#include <IRremote.hpp>  // Inclue bibliothèque IR (dernière version 4.4.0 de shirriff )
//#include <IRremote.h>       //Idem, vieille bibliothèque à tester, les codes des fonctions appelées doivent être changées, Cf ton prog ini.
const int RECV_PIN = 3;     // défini pin de réception du modulateur IR
const int relai_amp = 4;    // défini pin de de commande du relai ampli
const int relai_vm = 5;     // défini pin de de commande du relai ampli
bool etat_relai_amp = LOW;  // variable de stockage de l'état du relais ampli, bas au démarrage du prg
bool etat_relai_vm = LOW;   // variable de stockage de l'état du relais vu mètre, bas au démarrage du prg

void setup() {

  IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK);  // demarre la fonction reception IR
  //IRrecv irrecv(RECV_PIN);                       // idem, mais ne fonctionne vraisemblablement plus avec la mise à jour de la bibliothèque
  pinMode(relai_amp, OUTPUT);
  pinMode(relai_vm, OUTPUT);
  //digitalWrite(relai_amp, LOW);                 //fixe état bas au relai ampli, (normalement inutile)
  //digitalWrite(relai_vm, LOW);                 //idem relai vu mètre
}

void loop() {

  if (IrReceiver.decode()) {
    if (IrReceiver.decodedIRData.decodedRawData == 0xAC5302FD) {  // si reception du code allumage ampli
      etat_relai_amp = !etat_relai_amp;                           // inverse la variable de stockage de l'état du relais ampli
      digitalWrite(relai_amp, etat_relai_amp);                    // écrit cette variable sur la pin de commande du relais
      delay(100);
    }
    IrReceiver.resume();  // Reception valeur suivante
  }

  if (IrReceiver.decode()) {
    if (IrReceiver.decodedIRData.decodedRawData == 0xAC53609F) {  // si reception du code allumage vu mètre
      etat_relai_vm = !etat_relai_vm;                             // inverse la variable de stockage de l'état du relais vu mètre
      digitalWrite(relai_vm, etat_relai_vm);                      // écrit cette variable sur la pin de commande du relais
      delay(100);
    }
    IrReceiver.resume();  // Reception valeur suivante
  }
}
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2985
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online

Message » 05 Sep 2024 16:31

Ok je m’y penche ce soir ou demain, merci

Quant à la tension d’entrée de l’arduino c’est du 12,08v tres stable
Voici deux photos (c’est en panne sur les photos)
Image
Image
Le yann
 
Messages: 358
Inscription Forum: 29 Mai 2010 11:18
  • offline

Message » 05 Sep 2024 18:11

C'est propre :bravo:

Si tu testes le code que j'ai proposé, il faut simplement copié collé dans l'IDE Arduino.
Si tu as un message d'erreur au téléversement, c'est probablement que la bibliothèque n'est pas installée. Le message d'erreur te l'indiquera.
Dans ce cas, il faut aller dans le menu gestionaire des bibliothèque, taper IRremote dans la barre de recherche, et trouver celle que je t'ai indiquée (il faut être connecté au réseau)
Tu l'installes, tu fermes tout, et tu recommences.

Dans ton code original, il y a deux fonctions setup, avec du code redondant, je ne sais pas comment l'arduino l'interprète. De plus, toutes les fonctions Serial... sont inutiles, çà bouffe de la mémoire pour rien, et c'est aussi la redondance infinie d'envoi des mêmes données qui n'aboutissent nul part qui peut faire planter ton programme.

Tu me diras si çà marche mieux!

Cordialement
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2985
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online


Retourner vers Discussions Générales

 
  • Articles en relation
    Dernier message