Toetsenbord als Input in C

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wij hebben op school een opdracht waar we doormiddel van C code geprogrammeerd op een microcontroller een motor moeten aansturen.
Hierbij maken we gebruik van schakelaars om bijvoorbeeld de motor te starten en de snelheid te verhogen.
Nu wil ik graag een toetsenbord gebruiken om dit te realiseren.
Bijvoorbeeld om te pijltjes toetsen te bedienen voor de snelheid.
Is er binnen C een mogelijkheid om een toetsenbord als input te gebruiken?
Via google werd ik niet veel wijzer!

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 10-09 21:12

Matis

Rubber Rocket

Ik denk niet dat dit gaat werken, je hebt immers een embedded device waarop de code draait.

Wat je wel zou kunnen doen is een telnet-sessie opzetten naar de UC ; Zo deden wij dat vroeger op school
Of je kunt zelf wat knutselen.

[ Voor 7% gewijzigd door Matis op 31-05-2010 20:02 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Hipska
  • Registratie: Mei 2008
  • Laatst online: 08-09 09:58
Jazeker!

Toetsenbord aansluiten op een ingang van microcontroller en dan is het ook gewoon te gebruiken..

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Verwijderd schreef op maandag 31 mei 2010 @ 19:59:
Wij hebben op school een opdracht waar we doormiddel van C code geprogrammeerd op een microcontroller een motor moeten aansturen.
Hierbij maken we gebruik van schakelaars om bijvoorbeeld de motor te starten en de snelheid te verhogen.
Nu wil ik graag een toetsenbord gebruiken om dit te realiseren.
Bijvoorbeeld om te pijltjes toetsen te bedienen voor de snelheid.
Welke microcontroller en wat voor toetsenbord?
Verwijderd schreef op maandag 31 mei 2010 @ 19:59:
Is er binnen C een mogelijkheid om een toetsenbord als input te gebruiken?
Nee, in de tijd van C werden alle computers nog met ponsbanden aangestuurd!

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 18:13

Onbekend

...

Verwijderd schreef op maandag 31 mei 2010 @ 19:59:
Is er binnen C een mogelijkheid om een toetsenbord als input te gebruiken?
Je moet het alleen zelf programmeren. (Of ergens de code van internet afhalen)
Je moet óf het PS2-protocol implementeren wat overigens de makkelijkste oplossing is.
Óf je moet een USB-aansluiting maken en daarop het USB-protocol voor een HID (Human Interface Device) programmeren.


Het is i.i.g. geen plug-en-play. :)

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien is zoiets wel een makkelijke oplossing:
http://shop.conrad.nl/com...l-accessoires/198356.html
(keypad op I²C)
Kun je vast ook wel makkelijk zelf maken (met een MCP23017 ofzo)

[ Voor 21% gewijzigd door Verwijderd op 31-05-2010 20:18 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
En dit staat in SEA omdat... :?

Waar hoort mijn topic?

SEA >> PRG

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 19:11
Verwijderd schreef op maandag 31 mei 2010 @ 20:14:
Misschien is zoiets wel een makkelijke oplossing:
http://shop.conrad.nl/com...l-accessoires/198356.html
(keypad op I²C) Kun je vast ook wel makkelijk zelf maken (met een MCP23017 ofzo)
Jezus wat duur. :S Ik zou dan liever de connector van een tweedehands PS/2 toetsenbord knippen en die proberen aan te sluiten. Het is niet alsof het PS/2 protocol veel ingewikkelder is dan IIC.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het is een SKT 500 van Atmel. Ik merk al dat het iets ingewikkelder is dan verwacht.
Nu hoorde ik iemand zeggen dat het met een JAVA programma wel kan.
Gaat het dan wel lukken?

Acties:
  • 0 Henk 'm!

Verwijderd

Soultaker schreef op maandag 31 mei 2010 @ 20:23:
[...]

Jezus wat duur. :S Ik zou dan liever de connector van een tweedehands PS/2 toetsenbord knippen en die proberen aan te sluiten. Het is niet alsof het PS/2 protocol veel ingewikkelder is dan IIC.
Tuurlijk is het duur. Het is bij conrad. Maar het is maar een voorbeeld en als je even zoekt op I²C keypads bestaan er vast wel goedkopere. Of je maakt het zelf en dan ben je voor 2 euro klaar. I²C is wel heel makkelijk met een PIC of andere (simpele) microcontroller.

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Verwijderd schreef op maandag 31 mei 2010 @ 20:29:
Het is een SKT 500 van Atmel. Ik merk al dat het iets ingewikkelder is dan verwacht.
Nu hoorde ik iemand zeggen dat het met een JAVA programma wel kan.
Gaat het dan wel lukken?
Uit de handleiding blijkt niet dat dat ding een Java-VM draait?

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:46

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op maandag 31 mei 2010 @ 20:29:
Het is een SKT 500 van Atmel. Ik merk al dat het iets ingewikkelder is dan verwacht.
Nu hoorde ik iemand zeggen dat het met een JAVA programma wel kan.
Gaat het dan wel lukken?
Eeh, heb je enig idee waar je mee bezig bent? Als je een keyboard kan aansluiten op je microcontroller dan boeit de taal waarin je ontwikkelt echt niet, als je omgeving maar iets oplevert dat op die microcontroller kan draaien.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Creepy schreef op maandag 31 mei 2010 @ 20:42:
[...]

Eeh, heb je enig idee waar je mee bezig bent? Als je een keyboard kan aansluiten op je microcontroller dan boeit de taal waarin je ontwikkelt echt niet, als je omgeving maar iets oplevert dat op die microcontroller kan draaien.
Ik weet heel goed waar ik het over heb.
Als wordt verteld dat C code geen keyboard ondersteund kan ik dus wel op een PC een JAVA programma draaien waar ik de keyboard input kan omzetten en doorsturen via RS232 naar de controller.

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Verwijderd schreef op maandag 31 mei 2010 @ 20:54:
[...]

Ik weet heel goed waar ik het over heb.
Als wordt verteld dat C code geen keyboard ondersteund kan ik dus wel op een PC een JAVA programma draaien waar ik de keyboard input kan omzetten en doorsturen via RS232 naar de controller.
Dit is voor het eerst dat je een PC noemt in het hele verhaal. In iedere programmeertaal kun je met stdin of aanverwanten het toetsenbord uitlezen, dus als je de inputverwerking toch aan de PC overlaat pak je gewoon een willekeurige taal die je je eigen hebt gemaakt.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • _Erikje_
  • Registratie: Januari 2005
  • Laatst online: 10-09 20:55

_Erikje_

Tweaker in Spanje

Als je dat wilt, moet je wel een usb driver schrijven voor je toetsenbordje, lijkt me een beetje overkill!!

Makkelijker is om via seriële communicatie karakters over te zenden. je hoeft in je microcontroller alleen een seriele connectie op te zetten en de binnenkomende data afvangen en op je pc een seriele (teraterm pro) sessie naar je uC.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:46

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op maandag 31 mei 2010 @ 20:54:
[...]

Ik weet heel goed waar ik het over heb.
Als wordt verteld dat C code geen keyboard ondersteund kan ik dus wel op een PC een JAVA programma draaien waar ik de keyboard input kan omzetten en doorsturen via RS232 naar de controller.
Definieer "geen keyboard ondersteund". Op een PC kan je met C ook je keyboard uitlezen, net als met Java. Dus mijn opmerking over de gebruikte omgeving blijft gewoon staan ;)
Leg nu eens precies uit wat je wilt gaan doen op welk platform met welke taal? Een PC had je hiervoor namelijk nog helemaal niet genoemd.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Denk dat dit een schoolopdracht is. Toen wij dit deden gingen we gewoon via telnet met dat ding verbinden, en zo toetsenbordcommando's doorsturen. Aan de kant van de microcontroller was het gewoon een interrupt afvangen, de char code in een buffer zetten, en als er een enter opgevangen werd, werdt de buffer als commando ingelezen en uitgevoerd.

Probeer dat eerst eens. Een Java tussenlaag zal effectief hetzelfde gaan doen - toetsenbordinput doorsturen naar je microcontroller - maar dan zonder het extra werk.

Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-09 14:31
Sterker nog, Telnet.exe op je PC maakt die hele C of Java oplossing overbodig. Die stuurt gewoon je toetsaanslagen direct naar de aangesloten microcontroller.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • Hipska
  • Registratie: Mei 2008
  • Laatst online: 08-09 09:58
telnet gaat volgens mij nog altijd over TCP/IP dus enkel een seriele connectie lijkt mij hier nodig en (op windows) hyper terminal of iets dergelijks..

Acties:
  • 0 Henk 'm!

  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

Idd, gewoon met hyperterminal een seriele verbinding maken over rs232,
en dan de keycodes van up en down keys op je micro afvangen, en daarme je moter aansturen.

Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
Met de Arduino compatible microcontroller moet het kunnen:

http://www.arduino.cc/playground/Main/PS2Keyboard
Pagina: 1