Jump to content
ELFORUM - Forumul electronistilor

gpmarian2005

Membru
  • Posts

    24
  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

1,564 profile views

gpmarian2005's Achievements

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

  1. Bună ziua, vă mulțumesc foarte mult pentru ajutor. Bandi să ști că am două module RTC, un ds3231 și ds1307, cred. Marin, cu ceva timp în urma am văzut o reclama, cu ceva asemănător, soția nu a găsit. Astăzi o să vadă dacă îl găsește. Eu am "programator", care dă drumul la apă pentru o perioadă de timp, pe care o setezi. Este mecanic, l-am luat de la Lidl. Aștept ideile voastre. Vă mulțumesc!
  2. Am incercat si asa, insa nu am reusit nimic. In varianta Chat GPT pro, probabil, ar fi mers, dar nu vreau sa dau 100 de lei unei compani, mai bine ii dau unui tanar, sa mearga cu prietena la o librarie cu carti de programare.
  3. Salut, eu sunt o persoana care se poate deplasa, numai, intr-un scaun cu rotile. Imi plac foarte mult florile, pe care vara le mut in curte. Sunt in jur de 40 ghivece. Am cumparat un sistem de udare, pe care vreau sa il automatizez, prin inserierea unei electrovalve, pe coloana de alimentare cu apa a sistemului.Vreau sa comand aceasta electrovalva, cu ajutorul unui sistem de comanda, format din: arduino nano, display I2C 1602 si un encoder. Un prieten s-a oferit sa imi scrie codul pentru arduino, insa in ciuda numeroaselo variante de cod, ceva nu functioneaza bine. Eu vreau sa pot, seta o ora de pornire a electrovalvei, si ora de oprire a electrovalvei, cu ajutorul encoderului. Daca cineva poate scrie codul contra unei sume de bani, rezonabile, va rog sa ma ajutati. In continuare gasiti ultimul cod incarcat in arduino care afisa pe display urmatoarele: Setare ora udare: Pornire: 00:00 Oprire: 00:00 Pompa pornita Insa nu pot sa setez nimic din encoder. Codul este acesta: #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <RotaryEncoder.h> #include <TimeLib.h> // Pinii pentru pompă și encoder const int pompaPin = 3; const int encoderPin1 = 2; const int encoderPin2 = 4; const int encoderButtonPin = 5; // Declarații pentru LCD și encoder LiquidCrystal_I2C lcd(0x27, 20, 4); RotaryEncoder encoder(encoderPin1, encoderPin2); int lastButtonState = HIGH; int buttonState; // Variabile pentru setarea orelor de pornire și oprire int oraPornire = 0; int oraOprire = 0; bool setareOraPornire = false; bool setareOraOprire = false; void setup() { // Inițializarea LCD lcd.init(); lcd.backlight(); lcd.print("Setare ora udare:"); lcd.setCursor(0, 1); lcd.print("Pornire: 00:00"); lcd.setCursor(0, 2); lcd.print("Oprire: 00:00"); // Inițializarea encoderului encoder.setPosition(0); attachInterrupt(digitalPinToInterrupt(encoderPin1), encoderISR, CHANGE); // Inițializarea pinului pentru pompă pinMode(pompaPin, OUTPUT); digitalWrite(pompaPin, LOW); // Inițializarea pinului pentru butonul encoderului pinMode(encoderButtonPin, INPUT_PULLUP); } void loop() { // Citește poziția encoderului int encoderPosition = encoder.getPosition(); // Verifică dacă s-a rotit în sensul orar if (encoderPosition > 0) { if (setareOraPornire) { // Incrementăm ora de pornire oraPornire++; if (oraPornire > 23) { oraPornire = 0; } afisareOraPornire(); } else if (setareOraOprire) { // Incrementăm ora de oprire oraOprire++; if (oraOprire > 23) { oraOprire = 0; } afisareOraOprire(); } } // Verifică dacă s-a rotit în sensul antiorar else if (encoderPosition < 0) { if (setareOraPornire) { // Decrementăm ora de pornire oraPornire--; if (oraPornire < 0) { oraPornire = 23; } afisareOraPornire(); } else if (setareOraOprire) { // Decrementăm ora de oprire oraOprire--; if (oraOprire < 0) { oraOprire = 23; } afisareOraOprire(); } } // Citește starea butonului encoderului buttonState = digitalRead(encoderButtonPin); // Verifică schimbarea stării butonului if (buttonState != lastButtonState) { if (buttonState == LOW) { // Butonul a fost apăsat if (setareOraPornire) { // Încetăm setarea orei de pornire și începem setarea orei de oprire setareOraPornire = false; setareOraOprire = true; lcd.setCursor(0, 2); lcd.blink(); } else if (setareOraOprire) { // Terminăm setarea orei de oprire și revenim la afișarea orelor setareOraOprire = false; lcd.setCursor(0, 2); lcd.noBlink(); } else { // Începem setarea orei de pornire setareOraPornire = true; lcd.setCursor(0, 1); lcd.blink(); } } } // Actualizăm ultima stare a butonului lastButtonState = buttonState; // Verificăm dacă este momentul de pornire/oprire a pompei int oraCurenta = hour(); if (oraCurenta == oraPornire) { pornestePompa(); } else if (oraCurenta == oraOprire) { oprestePompa(); } } void encoderISR() { // Funcție golă pentru întreruperea encoderului } void afisareOraPornire() { lcd.setCursor(9, 1); if (oraPornire < 10) { lcd.print("0"); } lcd.print(oraPornire); lcd.print(":00"); } void afisareOraOprire() { lcd.setCursor(9, 2); if (oraOprire < 10) { lcd.print("0"); } lcd.print(oraOprire); lcd.print(":00"); } void pornestePompa() { digitalWrite(pompaPin, HIGH); lcd.setCursor(0, 3); lcd.print("Pompa pornita "); } void oprestePompa() { digitalWrite(pompaPin, LOW); lcd.setCursor(0, 3); lcd.print("Pompa oprita "); }
  4. Vand regulatoare de viteza, pentru motoarele cu tahogenerator In general, aceste motoare au putere mare la viteze foarte mari 17000 rotatii/minut. Acest regulator, are aceiasi putere ridicata, chiar, si la viteze de 500 rotatii/minut, asfel motorul fiind protejat de uzarea periilor si a rulmentilor. Regulatorul este realizat cu circuitul integrat TDA1085. Regulatorul are si facilitatea de a controla accelerarea, accelerarea pana la la viteza stabilita din potentiometru, se face lin, fara a brusca motorul. Mai multe detalii gasiti, apasand pe acest text. Am pus o poza, cu partea din spate, a unui motor, in care se vede, incercuit, cu rosu, tahogeneratorul. Pentru a vedea performantele, in sarcina, pe YouTube, apasa pe acest text. Pretul regulatorului este 140 lei. Pretul transportului este, minim 15 lei, prin posta româna, maxim 20 lei, prin curier, indiferent de chilometri .
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines