• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Przekaźnik regulowny
#1
Witam
Jako nowy użytkownik witam wszystkich forumowiczówSmile
Proszę o pomoc w napisaniu szkicu.
Np na 7 lub na innym pinie arduino pro mini dostaje impuls 5v lub zwarcie do masy, wtedy ziwera przekaźnik na 15 razy co pół skundy (nie wiem czy dobrze to opisałemSmile)
Pozdrawiam i z góry dziękuję.
PS. Załączam posiadane elementy  
   
 
Odpowiedź
#2
A czym chcesz wgrać szkic do tego PRO? Jak chcesz połączyć pro z tym modułem? Czym zasilisz cały układ? Jak chcesz wywołać wykonanie szkicu? Zacznij od zbudowania układu. masz masę przykładów w IDE i coś możesz przerobić na swoje potrzeby.
 
Odpowiedź
#3
Szkic wgram za pomocą uno, układ chcę zasilać z power banku, o podłączeniu to myślałem w ten sposób jeżeli na pinie 7 pojawi się 5v to np pin 5 poda na przekaźnik 15 x 5v w odstępach 0,5s
Ewentualnie może podpowiedź który z przykładów jest najbardziej zbliżony do tego co chcę osiągnąć??
 
Odpowiedź
#4
Pokusiłem się i napisałem sobie program w stylu "Arduinowców", czyli wziąłem przykład "blink without delay" i przerobiłem go pod własne wymagania.
Dodałem warunek włączenia sekwencji załączania przekaźnika, oraz samą sekwencję w pętli nieskończonej z warunkowym przerwaniem po odliczeniu 15-stu załączeń.
Czyli wniosek jest taki:
Skoro mi się udało przerobić kod z przykładu, to każdemu się to powinno udać.


Kod:
const int Przekaznik_Pin =  5;

// Variables will change:
int ledState = LOW;             // ledState used to set the LED

// Generally, you should use "unsigned long" for variables that hold time
// The value will quickly become too large for an int to store
unsigned long previousMillis = 0;        // will store last time LED was updated

// constants won't change:
const long interval = 500;           // interval at which to blink (milliseconds)

void setup() {
    // set the digital pin as output:
    pinMode(Przekaznik_Pin, OUTPUT);
    pinMode(7,INPUT);
}

void loop() {
if(digitalRead(7)==HIGH) {
        int licznik;
        // here is where you'd put code that needs to be running all the time.

        // check to see if it's time to blink the LED; that is, if the difference
        // between the current time and last time you blinked the LED is bigger than
        // the interval at which you want to blink the LED.
        while(1){
            unsigned long currentMillis = millis();

            if (currentMillis - previousMillis >= interval) {
                // save the last time you blinked the LED
                previousMillis = currentMillis;

                // if the LED is off turn it on and vice-versa:
                if (ledState == LOW) {
                    ledState = HIGH;
                    } else {
                    ledState = LOW;
                }

                // set the LED with the ledState of the variable:
                digitalWrite(Przekaznik_Pin, ledState);
                licznik++;
            }
            if(licznik==30) break;
        }
}
}
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#5
Problem został rozwiązany można zamykać.
Dziękuję za pomocSmile
Myślę ze sam bym nie dał rady
Jeszcze raz wielkie dziękiSmile
 
Odpowiedź
#6
Witam
Coś jest jednak nie tak z tym kodemSad
podpinając jakikolwiek kabelek pod pin 7 z zasilaniem 5v czy też bez zasilania arduino zaczyna realizować kod sprawdzałem na arduino mini i uno i to samo ...
 
Odpowiedź
#7
Bo lepiej jest podciągnąć pin 7 rezystorem do VCC, a sterować zwarciem do masy. 
Czyli w setupie   pinMode(7,INPUT_PULLUP);
a sprawdzać if(digitalRead(7)==LOW)
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#8
A jaki rezystor zastosować
10k się nada ??
 
Odpowiedź
#9
(04-06-2018, 15:24)kanos1 napisał(a): A jaki rezystor zastosować
10k się nada ??

Wystarczy rezystor wewnętrzny atmegi.
pinMode(7,INPUT_PULLUP);
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#10
Ok teraz już działa jak powinno dzięki

Wysłane z mojego MI 6 przy użyciu Tapatalka
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości