Na aansluiten 220 v op relais start arduino op nieuw op

Bezig met een project wat ik al eens eerder gemaakt heb. Vrij simpel , arduino uno , df mini mp3 speler , versterkertje drukknop en 1 relais . Alles nagebouwd van een vorig project , ranja koe speelt muziek druk je op de knop schakelt relais een 220 v pompje in en speelt een kort geluid. Daarna weer verder met muziek. Alles op 5v 2a adaptor , elke ground loopt apart naar een ground blok , zelfde voor de 5v. Zolang er geen 220 aangesloten is werkt alles perfect , ga ik 220 schakelen herstart de mp3 en de arduino , ook valt de serieele monitor dan weg. Relais heeft ingebouwde diode dus dat kan het probleem niet zijn. Meet overal netjes 5 volt ook tijdens schakelen relais en mp3 speler dus er wordt niet te veel stroom getrokken denk ik. Zal de code en foto van onderderdelen nog plaatsen. Vreemde is heb precies hetzelfde staan en die doet het perfect....
Uploaden: 20220619_221932.jpg...
Verwerken: 20220619_221923.jpg...
Uploaden: 20220619_221910.jpg...


#include <SoftwareSerial.h>
#include <DFMiniMp3.h>



const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin
const int pump = 9;
const int buttonled = 11;



int buttonState = 0;         // variable for reading the pushbutton status




class Mp3Notify
{
  public:
    static void PrintlnSourceAction(DfMp3_PlaySources source, const char* action)
    {
      if (source & DfMp3_PlaySources_Sd)
      {
        Serial.print("SD Card, ");
      }
      if (source & DfMp3_PlaySources_Usb)
      {
        Serial.print("USB Disk, ");
      }
      if (source & DfMp3_PlaySources_Flash)
      {
        Serial.print("Flash, ");
      }
      Serial.println(action);
    }
    static void OnError(uint16_t errorCode)
    {
      // see DfMp3_Error for code meaning
      Serial.println();
      Serial.print("Com Error ");
      Serial.println(errorCode);
    }
    static void OnPlayFinished(DfMp3_PlaySources source, uint16_t track)
    {
      Serial.print("Play finished for #");
      Serial.println(track);
    }
    static void OnPlaySourceOnline(DfMp3_PlaySources source)
    {
      PrintlnSourceAction(source, "online");
    }
    static void OnPlaySourceInserted(DfMp3_PlaySources source)
    {
      PrintlnSourceAction(source, "inserted");
    }
    static void OnPlaySourceRemoved(DfMp3_PlaySources source)
    {
      PrintlnSourceAction(source, "removed");
    }
};

// instance a DFMiniMp3 object,
// defined with the above notification class and the hardware serial class
//
//DFMiniMp3<HardwareSerial, Mp3Notify> mp3(Serial1);

// Some arduino boards only have one hardware serial port, so a software serial port is needed instead.
// comment out the above definition and uncomment these lines
SoftwareSerial secondarySerial(5, 6); // RX, TX
DFMiniMp3<SoftwareSerial, Mp3Notify> mp3(secondarySerial);







void setup() {


  Serial.begin(9600);

  pinMode(pump, OUTPUT);

  pinMode(ledPin, OUTPUT);

  pinMode(buttonPin, INPUT_PULLUP);

  pinMode(buttonled, OUTPUT);


  Serial.println("initializing...");

  mp3.begin();
  uint16_t volume = mp3.getVolume();
  Serial.print("volume was ");
  Serial.println(volume);
  mp3.setVolume(24);
  volume = mp3.getVolume();
  Serial.print(" and changed to  ");
  Serial.println(volume);

  Serial.println("track 1 from folder 1");
  mp3.playFolderTrack(1, 1); // sd:/01/001.mp3






}

void loop() {


  buttonState = digitalRead(buttonPin);

  digitalWrite(buttonled, HIGH);



  if (buttonState == HIGH) {

    Serial.println("vul beker ranje");
    mp3.playAdvertisement(1); // sd:/advert/0001.mp3
    digitalWrite(ledPin, HIGH);
    digitalWrite(pump, HIGH);
    delay(3000);

    {
      digitalWrite(pump, LOW);
      digitalWrite(ledPin, LOW);
      delay(1000);
    }
  }
  mp3.loop();
}

Welkom op het foum.

Kun je aub je post bewerken, alle code selecteren en op de </> knop drukken om zogenaamde code-tags toe te voegen en vervolgens je post weer opslaan. Het maakt het gemakkelijker om te lezen, gemakkelijker om te kopieren en het voorkomt dat de forum software delen van de code als instructies ziet.

Dan zit het probleem niet in je programma maar in de elektronica.

220V elektronica is niet mijn sterke punt. Als je bedrading net iets anders loopt kan de storing die veroorzaakt wordt door het schakelen van de 220V invloed hebben op de Arduino. Ik begeef me op glad ijs maar er is zoiets als een MOV die je gebruikt om die storingen te onderdrukken. Misschien dat Arduino-dht freeze, help make/select rc snuber, mov, caps to protect from 220v je op weg kan helpen (in het engels).

Denk dat de code nu goed staat

:+1:

Dank je ga even kijken op de link , heel youtube en google al gehad.... lees nu zelfs dat het aan de huis electra kan liggen...eerst eens een ander kamertje gebruiken in huis of dat helpt misschien

Zoals aangegeven op internet een 1k resistor van rx naar ground getrokken....dit resulteerde in com 129 fout op df mini player. Weer er tussen uit gehaald. Heb om de electra kabel zo'n ijzeren ring gedaan dit lijkt effect te hebben. Aantal keer relay probleemloos aan en uit met 220 pomp aangesloten...nu com error 4..... we gaan verder zoeken

Na de 2 ehhhhh ringen om de kabels van de 220 volt ging het al beter , op com 4 error na.... nu een 220 uf 16v condensator aangesloten op vcc en ground van de mp3 speler , ondanks meten viel deze schijnbaar toch net iets te laag weg met switchen geluid en relais...probleem opgelost alles werkt perfect.


Uploaden: 20220620_120342.jpg...

je voeding van het relais moet buiten de arduino om dus even apart op de 5 Volt aansluiten

Gaan we proberen.... vandaag een ander project....zelfde probleem.... alles werkt goed totdat ik iets aansluit op de relais.... dan raakt alles van slag

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.