Sida 1 av 1
Hastighet på knapptryckning på en miniräknare?
Postat: 26 april 2005, 21:10:57
av Henry
Jag undrar hur pass snabbt en helt vanlig billig miniräknare kan matas med information? Så att säga med vilken hastighet som knapparna kan tryckas ner med.
Kan ju inte precis säga att jag velat lägga ner åtskilliga veckor/månader på att behöva lära mig PIC helt från grunden för att kunna programmera en krets. Och varför skall man det när man har en fullt fungerande förprogrammerad microprocessor med inbyggd LCD drivning och display på närmaste bord!
Sen undrar jag också om det finns en krets tex från 4000 serien som om man matar med en BCD kod omvandlar detta till en 1:a på en utgång beroende på vilket avkodat tal som det är? Tex är BCD koden 4 så blir det då en 1a på tex pinne 4.
Postat: 26 april 2005, 21:33:28
av Pjoms
Att "hacka" sig in på en miniräknare kan nog vara lite lurigt, men inte omöjligt. Ofta är det byggt på någon typ av foliekort som inte låter sig lödas på utan vidare.
Beträffande hastigheten för inmatning så är den nog inte allt för hög. Det bör ju finnas en kontaktstuds-eliminering som begränsar till, tja, säg ca 20-50 ms fördröjning mellan trycken. En ren gissning, men det brukar vara rimliga värden på "vanliga" knappar.
Logikkretsen du söker borde vara tex 4514 eller 4515 "4-to-16 line decoder"
Postat: 26 april 2005, 23:54:07
av Schnegelwerfer
Alla har väl haft den klassiska tävlingen i skolan när man skrev "1 +" på miniräknaren, och tryckte på "=" till man hade räknat upp till 100.
Jag kommer ihåg att det var väldigt varierande maxhastighet på olika minräknare, antaglien mest beroende på mekaniska orsaker.
Om du beskriver lite mer ingående vad du vill åstadkomma så kanske vi kan komma med lite mer tips.
Jag tycker i och för sig att du ska ge uC en chans, det är ju aldrig fel att lära sig nya saker!
Postat: 27 april 2005, 00:03:14
av 13th.Marine
Kom upp i 50k sen dog batteriet =(
Mattelektioner kan vara långa
Postat: 27 april 2005, 02:15:34
av Henry
Ofta är det byggt på någon typ av foliekort som inte låter sig lödas på utan vidare.
Har kollat runt lite i miniräknare och det är sant det du säger men någonstans så finns det i 9 fall av 10 koppar som är anslutet till knappsatsens enskilda knappar så det skall nog vara fullt möjligt att kunna koppla in detta elektroniskt.
Logikkretsen du söker borde vara tex 4514 eller 4515 "4-to-16 line decoder
Så det var så dom hette, visste inte vad jag skulle söka efter för sorts avkodare, men detta var precis vad jag sökte efter. Tack för din hjälp!
Har jag tur så är det så att dom knapparna i miniräknare som använder gummiknappar inte har någon kontaktstuds pga mjukheten i gummit, utan det kanske bara är dom mekaniska knapparna som har det. Men om alla miniräknare har kontaktstudseliminering så blir det hela klart långsammare men ändå fullt acceptabelt.
Postat: 27 april 2005, 02:25:22
av Henry
Det kommer inte att bli någon PIC programmering. Kommer att ta alldeles för lång tid för att kunna lära mig att programmera en till allt det som den skall göra. Speciellt som jag måste lära mig allt från grunden, sen så har jag knappt tid till det knappt tid till det heller. Men en miniräknare har ju allt det som är ute efter.
Jag har skrivit om vad det skall bli i denna
tråd.
Så istället för pic så använder jag då mig av en miniräknare. Har tänkt lite snabbt på hur jag skall gå tillväga:
Som det är så har jag 6 räknare med BCD utgång som var och en har en siffra på utgången när tidtagningen är klar. Jag använder en 4017 som cyklar mellan dessa räknare. Vid varje räknare så skickas dess information till en 4514/15 krets som avkodar dess information till en 1a som beroende på vilken siffra som blev avkodad är på ett ben som motsvarar den avkodade siffran som sen är kopplad till respektive knapp på miniräknaren. En 1a är t.ex. på pinne 1 som då kopplas till tangent 1, En 2a är tex på pinne 2 som då kopplas till tangent 2 osv. Har bara ett snabbt schema i huvudet för jag har inte haft så mycket tid att tänka på det så mycket mer jag är ändå rätt säker på att detta kommer att fungera.
Kom upp i 50k sen dog batteriet =(
Mattelektioner kan vara långa
Jag kommer ihåg våra mattelektioner så jag förstår dig.
Postat: 27 april 2005, 07:54:59
av Schnegelwerfer
Ok, så miniräknaren skall alltså enbart användas för att visa antalet räknade pulser, och inte utföra själva beräkningen? Eller skall du själv använda den inbyggda miniräknaren för att beräkna hastigheten manuellt?
Mitt tips är att använda ex. 6st. 74LS47 (14,70:- på ELFA), som avkodar BCD-kod för att direkt kunna driva 7-segments LED-displayer.
Postat: 27 april 2005, 20:33:09
av Henry
Ok, så miniräknaren skall alltså enbart användas för att visa antalet räknade pulser
Nej, det har jag räknare och displayer som sköter den delen.
, och inte utföra själva beräkningen?
Jo.
Eller skall du själv använda den inbyggda miniräknaren för att beräkna hastigheten manuellt?
Nepp.
Hela schemat för att räkna pulserna och visa dom på 6 st LED displayer är redan klart sen ungefär 1 år tillbaka och i schemat använder jag 6 st 4511 kretsar, mest bara för att jag hade några liggande sen en bra tid tillbaka. Det har inte funnits så mycket tid men ca 85 procent är uppbyggt. Men sen så har jag tänkt att man kanske skulle kunna göra någonting som räknar ut allt också, därav denna miniräknare.
Miniräknaren skall alltså räkna ut ekvationen X / Y * 60 * 60) / 1000 = Z där Y är talet som visas på displayerna/kommer från räknarna i BCD form. Svaret får jag då i km/h och det är denna ekvation som miniräknaren skall räkna ut med lite hjälp att "trycka på rätt knappar från några IC kretsar och sen visa svaret på dess display. Problemet är hur jag skall integrera miniräknaren till räknarna, har dock några idéer, och att det automatiskt skrivs in * och / när det skall och att det trycks "är lika med" att miniräknaren nollställs direkt vid nästa mätning, men det sista är nog det enklaste, det är resten som är jobbet. Allt detta utan allt vad programmering heter. Har ett löst hängande schema i huvudet på hur detta skall kunna fungera men det finns några problem som skall lösas men jag tror det kan fungera.