www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Senzor dotika ttp223 ne ostane vključen več kot7-8 sekund

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
programming
Član
Član



Pridružen-a: Sre 09 Jan 2013 19:58
Prispevkov: 33
Aktiv.: 0.24

PrispevekObjavljeno: Ned Jan 14, 2024 1:25 pm    Naslov sporočila:  Senzor dotika ttp223 ne ostane vključen več kot7-8 sekund Odgovori s citatom

Zdravo, za potrebe projekta imam senzor dotika ttp223 kateri ob aktivaciji in hkratnem držanju pritiska ne ostane vključen več kot 8 sekund ampak se po tem času samodejno izključi, za potrebe projekta bi mogel ostati vključen vsaj 15 sekund in meriti morebitno prekinitev pritiska. Kaj lahko naredim, je sploh mogoče, da bi senzor dotika ob pritisku ostal aktiviran več kot 8sekund? Hvala.

enostavna koda touch senzorja za lažji pregled:
Koda:

int touch = D5;  // pin for touch sensor
int LED= D6; // pin LED

void setup() {
  Serial.begin(9600);
  pinMode(motorPin, LED);
  pinMode(touch, INPUT);
 
}

void loop() {
  int touchValue = digitalRead(touch);
  if (touchValue == HIGH){
    digitalWrite(LED, HIGH);
    Serial.println("touched");
   
  }
  else{
    digitalWrite(LED, LOW);
    Serial.println("not touched");
   
  }
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
v.j.
Član
Član



Pridružen-a: Pet 13 Feb 2015 9:47
Prispevkov: 1342
Aktiv.: 11.97
Kraj: Veldes

PrispevekObjavljeno: Ned Jan 14, 2024 5:03 pm    Naslov sporočila:   Odgovori s citatom

Data sheet čipa TTP223 si prebral in upošteval?
Katero verzijo imaš? 6 pinsko ali 16 pinsko?

Zakaj meniš, da koda vpliva na delovanje senzorja?

Ali veš (misliš) kje je težava? v senzorju ali kodi?

Senzor ima digitalni CMOS izhod Q, in deluje neodvisno, ne glede na kodo v uC.

TTP223 je na kupljenem modulu ali na tiskanem vezju ki si ga narisal, naredil ti?

Bo treba več podrobnosti, tole kar si napisal je premalo.

Za TTP223 v 6 pinskem SOT23-6 ohišju velja, da ima od nastavitev samo 2 vhoda, Toggle/mommentary in nastavitev izhoda Q HI/LO
Imaš še možnost nastavitve občutljivosti, vendar ne vem če vpliva na čas.

Čipek je namenjen za delovanje kot tipka, tako da dvomim, da je možno da bo izhod aktiven več kot 8 sekund, že to je veliko. Rekalibracijski čas je 4 sekunde, tako da kar sem jaz delal s temi čipi ni šlo kaj dosti več kot 5 sekund, tam do ene 6-8 sekund večinoma.
Ker nikoli nisem rabil funkcije za kaj drugega kot normalen pritisk tipke, nisem posvečal nobene pozornosti ali kakšna verzija tiskanega vezja omogoča daljše čase. Kar sem naredil aplikacij s temi senzorskimi tipkami, sem skoraj vedno uporail še piskač za zvočno potrditev aktivacije tipke.
Ker sem se zavedal že prvič, ko sem uporabil te senzorje, da je to kapacitivni senzor s samodelno kalibracijo, sploh nisem računal da zmore zanesljiv dolgotrajen pritisk, preprosto ni narejen za ta namen. Posledično sem temu primerno prilagodil namen in način uporabe, program uC, ... tja do 5s dela zanesljivo, kar je več, je lahko vprašljivo, čeprav je bilo večinoma vsaj 6-7s.

S kodo v uC verjetno ne moreš nič rešiti, če rabiš fizičen izhod senzorja vsaj 15 seuknd, predlagam, da uporabiš drugačen senzor, mogoče 16 pinsko verzijo, če res omogoča max 100s uporaba MOTB pina... nisem se poglabljal in tudi nobenega 16 pinskega čipa TTP223 nimam, da bi poskusil.

Za tipke je malček super zadeva, kako je fajn, ko na škatlo samo nalimaš nalepko z natisnjenimi tipkami, nobenih lukenj, vodotesno, ... no, seveda na plastični škatli, oziroma neprevodni.


.

_________________
Kontakt na e-mail, za več informacij klikni gumb 'www', na ZS ne odgovarjam!
Ne mi pisat zasebnih sporočil na forumu! NIKOLI ne boste dobili odgovora na ZS !
Če vam moji odgovori niso všeč, nihče vas ne sili, da jih berete! uporabite gumb 'ignore'
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5774
Aktiv.: 25.88
Kraj: Grosuplje

PrispevekObjavljeno: Ned Jan 14, 2024 7:09 pm    Naslov sporočila:   Odgovori s citatom

programming je napisal/a:
........za potrebe projekta bi moral ostati vključen vsaj 15 sekund in meriti morebitno prekinitev pritiska. Kaj lahko naredim, je sploh mogoče, da bi senzor dotika ob pritisku ostal aktiviran več kot 8sekund? Hvala.

Malo bolj natančno moraš opisati, kaj želiš!
Ali je to to, tako na hitro(mogoče)?
Kaj misliš s tem, meriti morebitno prekinitev pritiska?
Koda:
int touch = D5;  // pin for touch sensor
int LED= D6; // pin LED

void setup() {
  Serial.begin(9600);
  pinMode(motorPin, LED);
  pinMode(touch, INPUT);
 
}

void loop() {
  int touchValue = digitalRead(touch);
  if (touchValue == HIGH){
    digitalWrite(LED, HIGH);
    Serial.println("touched");
    delay(15000);                      // čakal bo 15 sekund po pritisku tipke, nato bo šel program naprej
   
  }
  else{
    digitalWrite(LED, LOW);
    Serial.println("not touched");
   
  }

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
programming
Član
Član



Pridružen-a: Sre 09 Jan 2013 19:58
Prispevkov: 33
Aktiv.: 0.24

PrispevekObjavljeno: Pon Jan 15, 2024 5:25 pm    Naslov sporočila:  Touch senzor Odgovori s citatom

Najlepša hvala za odgovore. TP223 je na kupljenem modulu hobby. Za krmiljenje uporabljam ploščo ESP8266 D1 MINI. Naredil sem kratek preizkus delovanja in senzor ob držanju pritiska ne ostane aktiviran več kot 9 sekund. Za potrebe projekta kjer gre v bistvu za merjenje reakcijskega časa in je uporaba touch senzorja daleč najbolj priročen način. Ob dotiku se začne izvajati program, ki traja nekje med 12s in 15s. reakcijski čas pa se izmeri šele na koncu programa v zadnjih 3s (naključni časi) torej od pritiska in do zadnjih 3s touch senzor sploh ni nujen. Obstaja kakšna koda/ukaz v arduinu s katerim bi po 8s resetiral senzor/port in tako podaljšal čas aktivacije na 16s? Ali mi predlagate uporabo kakšnega drugega senzorja na dotik, ki bi ob držanju pritiska ostal aktiviran vsaj 15s.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
v.j.
Član
Član



Pridružen-a: Pet 13 Feb 2015 9:47
Prispevkov: 1342
Aktiv.: 11.97
Kraj: Veldes

PrispevekObjavljeno: Pon Jan 15, 2024 11:40 pm    Naslov sporočila:   Odgovori s citatom

Modul iz povezave je tisti najmanjši po dimenzijah, ki obstaja. Obstajajo tudi večji, lahko se pohvalijo z nekoliko večjo občutljivostjo, žal pa preko 8s ne gre nobeden.

Ne obstaja koda ali ukaz, ki bo rešil problem senzorja.

Lahko uporabiš en digitalni izhod uC s katerim izklopiš napajanje senzorju in ga s tem izklopiš, napišeš nekaj vrstic kode in bo delalo... potem spet programsko vklopiš napajanje senzorju...
Žal ta pristop pri TTP223 ne bo deloval, ker se senzor ob vklopu napajanja rekalibrira.
Kaj to pomeni? Če bo senzor "pritisnjen" v trenutku vklopa napajanja, se bo senzor kalibriral na prisotnost prsta in bo izhod neaktiven, ne bo aktiviran. To je nekako tako kot tehtnica, ob pojavu napajanja se bo kljub prisotnosti uteži postavilo na 0, čeprav obstajajo tudi take, ki si kalibracijo (taro) zapomnijo.

Vem, kaj bi rad dosegel, ampak žal, TTP223 ne bo pravi senzor, za tvoj način uporabe ni pogojev. Kot sem že zgoraj napisal, se rekalibracija dogaja periodično, zato tudi niso možni daljši časi na izhodu senzorja.

OK, dopuščam eno majčkeno možnost, da mogoče nisem pravilno razumel tvoje metode uporabe, to sicer dvomim, ampak vseeno lahko kar se da podrobno opišeš projekt, res do zadnje najmanjše podrobnosti.

Zadeva kot si opisal zgoraj, bo delovala, če bo senzor dotika v tem času deaktiviran, umaknjen prst oziroma roka, ker pod nobenim pogojem ni možnosti, da bo TTP223 dal na izhodu daljši aktivni signal, ni narejen tako da bi.

Uporabi klasično mehansko tipko ali kakšen drugačen senzor dotika.


.

_________________
Kontakt na e-mail, za več informacij klikni gumb 'www', na ZS ne odgovarjam!
Ne mi pisat zasebnih sporočil na forumu! NIKOLI ne boste dobili odgovora na ZS !
Če vam moji odgovori niso všeč, nihče vas ne sili, da jih berete! uporabite gumb 'ignore'
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5774
Aktiv.: 25.88
Kraj: Grosuplje

PrispevekObjavljeno: Tor Jan 16, 2024 6:20 pm    Naslov sporočila:   Odgovori s citatom

programming TTP233 lahko konfiguriraš kot t.i. toggle switch s pinom 6, kar pomeni, da se ob dotiku vključi, ob naslednjem dotiku pa izljuči.
Če je pin 6 na nizkem nivoju (privzeto), deluje v t.i. direktnem načinu, če je pa ta pin na visokem nivoju, pa deluje kot preklopno stikalo.

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 78 dni


Powered by phpBB © 2001, 2005 phpBB Group