Knappsats

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
ejohsjo
Inlägg: 151
Blev medlem: 2 december 2006, 16:18:36
Ort: Stockholm
Kontakt:

Knappsats

Inlägg av ejohsjo »

Jag ska bygga en kodströmbrytare, väldigt enkel en.
Den ska driva en liten solenoid fram och tillbaka

hade tänkt att den ska fungera så att man trycker sin kod och sedan "hänglås öppet" likadant för att låsa
(datablad på solenoiden http://www.magnet-schultz.de/Uk/downloa ... 29&dlid=66
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

du kan använda en sån här, väldigt enkel lösning:
http://www.kjell.com/?item=87656&path=
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Inlägg av jojje »

Bara en liten undran om Kjellelåset.

Det står: "Mer än 6000 olika koder (4 siffror)".

Med 4 siffror, blir det inte 9999 olika då, hmm... :?:
tobbe
Inlägg: 162
Blev medlem: 1 juli 2003, 23:54:35
Ort: Boden

Inlägg av tobbe »

men de är ju mer än 6000 =)
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Inlägg av jojje »

:D så klart, men varför inte passa på att skriva "Mer än 9000 ...".
Måste varit ett kontorshjo som skrivit infon.
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

ejohsjo
Det vore kul att höra lite mer om det här projektet. Det är ju postat i Projekt-delen... :)

Hur ska du fixa delen som kollar om man slagit in rätt kod? Thyristorer eller någon microkontroller (typ PIC/AVR) ?

Thyristorer har den trevliga egenskapen att de fortsätter släppa igenom ström när de fått en gate-signal. Sätter man några sådana i en kedja så är själva kod-kontroll-delen klar. En väldigt enkel variant, men ändå. :)
xiron
Inlägg: 7
Blev medlem: 9 oktober 2006, 21:31:37

Inlägg av xiron »

blir inte 9^4 = 6561 alltså mer än 6000 olika kombinationer? :P
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Inlägg av jojje »

Ahh, nu ser jag. Det finns ju ingen nolla (0) med.
Hur kunde jag missa det? :oops:
Användarvisningsbild
nole
Inlägg: 651
Blev medlem: 10 januari 2006, 12:18:00
Ort: Borlänge

Inlägg av nole »

En knappsats från en gammal telefon kan användas, har själv inte kommit
så långt i mina experiment mer än att rita upp knappmatrisen långt kvar till
att fixa en PIC styrning men det blir väll..

I alla fall så var alla de knappsatser jag provade enkla knappmatriser dvs
signal in på rad ett,två,tre eller fyra och sedan detektera om man fick ut
signal i kolumn ett, två eller tre.

Nu är ju dom där gamla knappsatserna inte så snygga men du kan ju bygga
en egen knappmatris av några snygga knappar om du har lust. Själva
teorin bakom detta kanske du kan själv men lite enkelt skissat blir det
ungefär såhär.

. 1 2 3
1# # #
2# # #
3# # #
4# # #

Knapp ett (högst upp till vänster) kopplas alltså till rad ett och kolumn ett,
knapp två till rad ett kolumn två, på så sätt kan du läsa av tolv knappar
fast du bara använder 7 pinnar på din uC

Ska bli kul att följa ditt projekt och se hur du väljer att lösa detta.

Mvh
Nole.
ejohsjo
Inlägg: 151
Blev medlem: 2 december 2006, 16:18:36
Ort: Stockholm
Kontakt:

Inlägg av ejohsjo »

OJ!!
:oops:
Den här tråden skulle egenteligen ligga i Allmänt!
:oops:

Men styrningen till låset ska fixa ganska snart då jag monterat dit den
:)
MVH
Johan
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

"på så sätt kan du läsa av tolv knappar fast du bara använder 7 pinnar på din uC"

Eller så kan man koppla 18 knappar till *en* pinne på µC'n genom att göra såhär:
Bild

Det schemat visar bara 6st knappar, men det är bara att fylla på med fler motstånd och knappar. Jag har förresten motståndsvärdena om någon är intresserad.

edit: Här finns tråden.


edit 2: Stavfel... "Knappar" istället för "knapar"
sebastiannielsen
Inlägg: 3663
Blev medlem: 11 september 2004, 09:30:42
Ort: gbg
Kontakt:

Inlägg av sebastiannielsen »

Är det inte krångligt att räkna ut vilka motståndsvärden man ska ha med det parallella schemat (man måste ju använda 1/R1 + 1/R2 + 1/Rn = 1/Rtot)

Är inte detta bättre:

Bild


Då behöver man i PICen bara läsa av ohmvärdet, sedan avrunda till jämna kohm, sedan konvertera det till X antal bitar, där X är antal motstånd, och sedan invertera detta, så vet man vilka knappar man tryckt ner (och det går ju att trycka ner flera samtidigt och den vet fortfarande vilka knappar som är nedtryckta)
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Men man kan inte läsa av ohm-värdet i PICen. AD-omvandlaren kan bara läsa av spänningar. :)

Oavsett om man väljer din eller min lösning så behöver man varken läsa av eller räkna ut ohm-värdet.

* Välj motstånd som ligger tillräckligt långt ifrån varandra, minst ca 300ohm's skillnad är ganska lagom om man inte ska ha alldeles för många knappar.

* Plocka man fram en multimeter och mät hur mycket spänning som kommer ut vid varje knapptryckning.

* För att sedan få reda på värdet som AD'n kommer lämna så räknar man:

1023 * (spänning från knappen / matningspänning till PIC och knappar) = Värdet från ADC'n.

Denna uträkning görs alltså inte i PIC'en!

Så det enda man behöver göra i PIC'en är att läsa av ADC'n och kolla vilken knapp som trycktes ner.


Ett exempel:

För-arbetet:
Låt säga att Knapp nr 3 ger 2,5V och att knappar och PIC matas med 5V. Då räknar vi:
1023 * (2,5 / 5) = 511,5

1023 gäller alltså om man har 10bitars AD.

I PIC-koden:
PIC-koden läser av ADC'n.
Om värdet blev mellan 509 och 513 (det är bra med lite marginal) så trycktes Knapp nr 3 in.

Klart! :)


edit: Om man inte gillar att räkna så kan man göra som jag gjorde:
Välj ut motstånd som har ett värde som ligger lagom långt ifrån varandra. (Gärna så långt ifrån som möjligt.)
Löd ihop och koppla in till en analog ingång på PIC'en.
Läs av ADC'n och visa resultatet på en display eller via RS232 till datorskärmen.
Knappa in koden för att kolla vilken knapp som trycktes ner. T.ex IF value >=509 AND value <=513 THEN knapp = "nr3".
Skriv svar