ON/OFF cu un buton push.

Discutii despre placile de dezvoltare compatibile Arduino
User avatar
Levy
Gold User
Posts: 1581
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

ON/OFF cu un buton push.

Unread postby Levy » 04 Jul 2022 17:58

Mi-a scris cineva pe messenger.
Ar vrea sa alimenteze ceva, un modul care nu am habar ce face, la care sa-i schimbe starea in ON si OFF dintr-un singur buton push.

AM intrat in Tinkercad, si pentru ca nu pot deschide un circuit nou, nu inteleg de ce, am copiat un alt circuit, de la altcineva, care nbici nu stiu ce facea, singurul lucru care m-a interesat a fost sa aiba cat mai putine componente, ca sa am putin de sters. :haha:

Am lasat doar boardul Arduino si un breadboard, la care am adaugat un buton push, conectat la Arduino cu o rezistenta Pull Down de 10 K ohmi, la pinul digital 2 si LED-ul care sa ne arate starea conectat printr-un rezistor de 220 ohmi de pinul digital 3.

Dar sa vedem cum arata circuitul:
Image

schema electrica se prezinta astfel:
Image

Iar codul pentru functionarea acestui buton simplu este urmatorul:

Code: Select all

int StareButon = 0;
int UltimaStareButon = 0;
int StareOnOff = 0;
const int PinButon =  2;
const int PinLED =  3;
 
void setup()
{
  Serial.begin(9600);
  pinMode(PinButon,INPUT);
  pinMode(PinLED,OUTPUT);
}
 
void loop()
    {
        StareButon = digitalRead(PinButon);
        if (StareButon != UltimaStareButon)
           {
               if (StareButon == HIGH)
                  {
                      StareOnOff = StareOnOff + 1;
                      if (StareOnOff > 1)
                         {
                             StareOnOff = 0;
                         }
                      Serial.println(StareOnOff);
                      if (StareOnOff == 0)
                         {
                            digitalWrite(PinLED, LOW);
                         }
                      if (StareOnOff == 1)
                         {
                            digitalWrite(PinLED, HIGH);
                         }
                   }
           }
         delay(5);
        UltimaStareButon = StareButon;
    }


Se poate vedea si in pastebin aici.

Si se poate face simulare chiar din Tinkercad, dar cred ca asta functioneaza doar daca aveti cont acolo.
Linkul pentru simulare in Tinkercad este aici.

Daca se va alimenta un modul direct din pinul digital controlat, atentie daca modulul dumneavoastra este la 5V sau la 3.3V !!!!
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
delta2k2
Site Admin
Posts: 1990
Joined: 11 Sep 2013 15:18
Location: Over the rainbow ...

Re: ON/OFF cu un buton push.

Unread postby delta2k2 » 05 Jul 2022 12:41

Code: Select all

Daca se va alimenta un modul direct din pinul digital controlat...


Tensiunea ca tensiunea, dar curentul "debitat" este foarte mic : The maximum output current an Arduino's digital pin can supply is 40mA (or 20mA continuous current)

Se poate rezolva uşor cu un mosfet şi o rezistenţă. Ai grijă la tipul mosfet-ului, să fie cu L
User avatar
Levy
Gold User
Posts: 1581
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: ON/OFF cu un buton push.

Unread postby Levy » 05 Jul 2022 13:33

Da, intr-adevar curentul maxim este foarte mic, insa era vorba de cuplat/decuplat un modul pentru Arduino, nu am inteles ce rol are cuplarea/decuplarea acestuia, pentru ca daca tot e conectat de arduino, citesti datele cand vrei din acesta, nu trebuie cuplat/decuplat.

Ideea oricum era sa poti sa ai starea de ON/OFF cu un buton push.

Cuplare comandata cu Arduino cu mosfeti, am in cateva clipuri

aici:


aici:


si aici:


care este identica cu precedentul, doar am schimbat microcontrolerul pentru a avea mai multi pini PWM, astfel putand sa scriu mai multe efecte pe stringuri.

Comentariul tau mi-a lasat un semn de intrebare. De ce recomanzi ca tipul de Mosfet sa fie de tip L ? Poti detalia putin te rog ?
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
delta2k2
Site Admin
Posts: 1990
Joined: 11 Sep 2013 15:18
Location: Over the rainbow ...

Re: ON/OFF cu un buton push.

Unread postby delta2k2 » 05 Jul 2022 16:30

Pe scurt, mosfeţii cu L (logic level) se deschid (adică au Rds.on (rezistenţă internă mai mică)) la tensiuni mai mici aplicate pe poartă (gate).

Altfel spus, bagi in poarta mosfet-ului 3.3 - 5V (adică semnal logic din pinii arduino) şi tranzistorul se deschide full. Deci o să ai pierderi mai mici, deci mai puţină căldura degajată de mosfet, deci consum mai mic, deci... inţelegi tu.

Mosfeţii fără L se deschid in general pe la 10 V. Evident, depinde de mosfet, există documentaţie pentru fiecare.

Mai multe detalii de exemplu aici : https://arduinodiy.wordpress.com/2012/0 ... tl-levels/
User avatar
Levy
Gold User
Posts: 1581
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: ON/OFF cu un buton push.

Unread postby Levy » 05 Jul 2022 17:05

Multumesc pentru explicatie ! Foarte util !
Este un lucru de care am sa tin cont de acum incolo ! :hat:
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image

Return to “Arduino”

Who is online

Users browsing this forum: No registered users and 59 guests