Arduino - Utilizzo della funzione millis()

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ก.ย. 2024
  • Realizzazione di un semplice progetto con un LED lampeggiante per illustrare l'utilizzo della funzione millis().
    (Recorded with screencast-o-ma...)

ความคิดเห็น • 6

  • @cowrider4029
    @cowrider4029 5 ปีที่แล้ว

    Ciao, scusa il ritardo di due anni😅, mi chiedevo se usando questa funzione millis potessi controllare un pulsante in questo modo: in pratica sto facendo un programma usando lo switch e devo far accendere 3 led in sequenza binaria dopo ogni pressione di un pulsante. Succede però che se il pulsante lo premo una volta i led di accendono a mano a mano che premo il pulsante.. se premo a lungo i led si accendono e spengono all'infinito.. con questa funzione millis, si potrebbe fare che se il pulsante è premuto per più di 500ms la sequenza si interrompe? Ossia i led non si accendono più e rimangono nello stato in cui erano? Se vuoi ti mando il programma che ho fatto io usando millis, ma non funziona la parte millis. Grazie e scusa per il papiro

  • @amedeodeamicis1957
    @amedeodeamicis1957 6 ปีที่แล้ว

    ho provato a rifarlo, ma il tempo non scorre a secondi, ma si incrementa fino ad arrivare a 1000

    • @francescopaolovino4915
      @francescopaolovino4915  6 ปีที่แล้ว

      Scusa per il ritardo della risposta. Potresti allegare il link al codice su TinkerCad o allegare qui il codice che hai scritto? Grazie.

    • @amedeodeamicis1957
      @amedeodeamicis1957 6 ปีที่แล้ว

      int timer;
      time_led=500;
      int pin_led=5;
      void setup()
      {
      pinMode(pin_led,OUTPUT);
      digitalWrite(pin_led, HIGH);
      timer=millis();
      }
      void loop()
      {
      if (millis()-timer>time_led) digitalWrite(pin_led, !digitalRead(pin_led));
      }

    • @francescopaolovino4915
      @francescopaolovino4915  6 ปีที่แล้ว

      Nell'if dopo l'istruzione digitalWrite va aggiunta l'istruzione timer=millis(); per resettare il contatore e ricominciare a contare per il prossimo intervallo.

    • @amedeodeamicis1957
      @amedeodeamicis1957 6 ปีที่แล้ว

      Ma in esecuzione su simulator time il tempo scorre in millisecondi e non in secondi