Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

Kontrollerile lülitist üks sisend signaal? C++

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    Kontrollerile lülitist üks sisend signaal? C++

    Eesmärk selline, et on vaja anda kontrollerile ühe nupuvajutusega üks signaal, ehk siis on vajadus, et see lühike lülitus registreeritaks. Probleem seisneb aga selles, et seda nupuvajutust kipub kontroller vahest registreerima kas mitme vajutusena, või ei märka ta seda üldse. On kellelgi mingit mõtet kuidas tekitada olukord, et näiteks registreeritaks üks signaal ja siis mingi etteantud aja jooksul ingnoreeritaks järgmisi, kui need peaks tulema. Või mingit muud head lahendust (C++ koodijupp)?

    #2
    Vs: Kontrollerile lülitist üks sisend signaal? C++

    Koodi pead vastava kirjutama, et kui esimene signaal on käes,siis näiteks järgmised 100mS enam sisendit ei kontrollita. Oleneb kui pikad nupu vajutuste vahed võivad olla. Eeldame, et sisend on takiga tõmmatud toitesse ja nupp vastu maad, vajadusel ka väike konde paralleelis.

    Comment


      #3
      Vs: Kontrollerile lülitist üks sisend signaal? C++

      Kondekaid ei ole kunagi lülitiga paraleeli pannud. Mis selle effekt oleks?

      Comment


        #4
        Vs: Kontrollerile lülitist üks sisend signaal? C++

        Debounce on selle nimetus ehk lüliti kontaktide värelemine lülitades. Kui sul polesisendsignaali muutuse järel viidet koodi pandud, siis prose loeb sealt väreluse ka nupuvajutustena. Üldiselt olen ise vähemalt ilma kondeta hakkama saanud kui takistiga sisend toitesse tõmmatud on.

        Comment


          #5
          Re: Vs: Kontrollerile lülitist üks sisend signaal? C++

          Mina olen selle

          algoritmiga saanud asjad aetud. Seletus kah kenasti kommentaarides.

          Terminoloogia täpsustamiseks -- debounce on mitte kontaktide värelemine (bounce) , vaid selle ärastamine.
          Ja teemaalgatajale: sõnas "efekt" on keskel üks "f", aga sõnas "parallel" kaks "l"-tähte.

          Comment


            #6
            Vs: Kontrollerile lülitist üks sisend signaal? C++

            Tänan kirjavigadele viitamast.
            Mis puutub debounce, siis minu rakenduse puhul see vist väga vajalikuks ei osutugi(otseselt). Praegu püüdsin asja lahendada nii, et Loop`i sees olevasse IF-lausesse(kui see on tõene) lisasin delay, mis peakski tekitama efekti, et järgnevaid mittesoovitud signaale ei loeta. Vahest tuleb ikka mõni viga sisse, kuid seda põhjustab ilmselt asjaolu, et iga nupuvajutus on erineva pikkusega ja ka nende vahed on suvalise pikkusega.

            Comment


              #7
              Vs: Kontrollerile lülitist üks sisend signaal? C++

              Kui pika viite sa siis sisse panid? Võid miski 100nF kondega siiski proovida.

              Comment


                #8
                Vs: Kontrollerile lülitist üks sisend signaal? C++

                500ms sai viide.

                Comment

                Working...
                X