Buggfix Plus
Aktuellt datum och tid: 09.03 2018-08-18

Alla tidsangivelser är UTC + 1 timme




Svara på tråd  [ 4 inlägg ] 
Författare Meddelande
InläggPostat: 06.58 2017-04-06 

Blev medlem: 20.54 2006-11-23
Inlägg: 110
Ort: Tyresö
Hej tänkte ta en elektronisk darttavla jag har och koppla den via en Arduino till en PC.
Har tagit isär den och har kommit fram till följande.
Det är ju 62 unika punkter/poäng på tavlan. Det är 2 lager med anslutningar som nuddar varandra vid träff. Varje lager har 8 anslutningspunkter.
Nu till det som jag tycker är klurigt.
Hur kopplar jag in dessa 16 punkter för att läsa av dem med Arduinon?
Det är ju inte så att det är 16 punkter och en jord.
Ex när man håller in ytan för poängen 20 så får anslutning 2 på det ena lagret kontakt med anslutning 5 på det andra lagret.

Någon som har ett tips?

Kommer posta alla bilder från bygget så fort jag kan komma igång. Känns som att detta är det som är avgörande ifall det blir nått projekt.


Upp
 Profil  
 
InläggPostat: 07.19 2017-04-06 
EF Sponsor

Blev medlem: 11.54 2014-05-26
Inlägg: 493
Ort: Karlskoga
Tips:

http://pcbheaven.com/wikipages/How_Key_Matrices_Works/


Upp
 Profil  
 
InläggPostat: 07.27 2017-04-06 
Användarvisningsbild

Blev medlem: 14.52 2005-01-10
Inlägg: 23000
Ort: Kristinehamn
Steg 1 är att koppla alla lagerna till var sin port-pinne SAMT att lägga på en pull-down, kanske 10k.

Sedan är det "bara" att räkna lite på hur det hela är kopplat. Jag skulle tro att det ska gå att t.ex. lägga ett eller fler lager fast till '1' och sedan läsa av de andra för icke-'0'.

När en icke-'0' sker kan man leka med att slå en lager-pin till utgång (och resten till ingångar) och lägga '1' på det lager. Sedan läsas de andra pinnar och '1' på dom anger kontakt.

Gå igenom de lager som behövs, då jag inte ser någon ritning får du komma på hur kontakterna skapas beroende på de olika poäng, det kan vara att man t.ex. behöver att styra 2 lager och läsa resten.

Slutresultatet är att det finns ett bit-mönster och det använder man till att slå upp i en tabell som då ger poäng och kanske en annan tabell som anger koordinater om man vill.


Upp
 Profil  
 
InläggPostat: 08.28 2017-04-06 
Användarvisningsbild

Blev medlem: 13.58 2016-04-05
Inlägg: 1396
Ort: Helsingfors
Det står 2 lager i första inlägget. Med 16 anslutningar och 62 punkter, så är det väl rätt klart att det är en 8x8 "matris", med två (av 64=8x8) outnyttjade kombinationer. Så smidigast borde vara att köra på enligt kodar-holgers länk, med tillräckligt kort scanperiod, för att hinna reagera på en träff.

En variant kunde vara att sätta alla pinnar till '1' på "utgångsporten" och ha "ingångsporten" riggad för avbrott (interrupt). När en pil sen träffar nånstans, så startas avbrottsrutinen, som rakt av ser vilken av ingångarna aktiverades. Sedan får rutinen binärsöka vilken av utgångarna ger kontakt till ingången. Dvs. släck hälften av utgångarna och kolla ingången om det hade nån verkan. Om inte släck igen hälften av de kvarvarande osv.

Men, som sagt kanske lättare att bara scanna en "kolumn" åt gången.


Upp
 Profil  
 
Visa inlägg nyare än:  Sortera efter  
Svara på tråd  [ 4 inlägg ] 

Alla tidsangivelser är UTC + 1 timme


Vilka är online

Användare som besöker denna kategori: ecenier och 14 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
   
Drivs av phpBB® Forum Software © phpBB Group
Swedish translation by Peetra & phpBB Sweden © 2006-2010