|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
programming Član
Pridružen-a: Sre 09 Jan 2013 19:58 Prispevkov: 33 Aktiv.: 0.24
|
Objavljeno: Ned Jan 14, 2024 1:25 pm Naslov sporočila: Senzor dotika ttp223 ne ostane vključen več kot7-8 sekund |
|
|
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 |
|
|
v.j. Član
Pridružen-a: Pet 13 Feb 2015 9:47 Prispevkov: 1342 Aktiv.: 11.97 Kraj: Veldes
|
Objavljeno: Ned Jan 14, 2024 5:03 pm Naslov sporočila: |
|
|
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 |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5774 Aktiv.: 25.88 Kraj: Grosuplje
|
Objavljeno: Ned Jan 14, 2024 7:09 pm Naslov sporočila: |
|
|
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 |
|
|
programming Član
Pridružen-a: Sre 09 Jan 2013 19:58 Prispevkov: 33 Aktiv.: 0.24
|
Objavljeno: Pon Jan 15, 2024 5:25 pm Naslov sporočila: Touch senzor |
|
|
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 |
|
|
v.j. Član
Pridružen-a: Pet 13 Feb 2015 9:47 Prispevkov: 1342 Aktiv.: 11.97 Kraj: Veldes
|
Objavljeno: Pon Jan 15, 2024 11:40 pm Naslov sporočila: |
|
|
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 |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5774 Aktiv.: 25.88 Kraj: Grosuplje
|
Objavljeno: Tor Jan 16, 2024 6:20 pm Naslov sporočila: |
|
|
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 |
|
|
|
|
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
|