SchemaTheek
 
Home Nieuws Forum Schema's Artikelen Magazine Downloads Links Shops Zoeken
 
Controle Paneel
Gebruikersnaam
Wachtwoord
  Onthoud mij
» Wachtwoord?
» Registreren
Site info
» Het Team
» Contact
» FAQ
» Leden
» Upload Archief
Stats
Totaal online: 4
4 gasten
0 leden:
Forum > Computer > powerpoint remote
vdbeke
Lid
Berichten: 941
Gepost op zaterdag 20 December 2008 11:07:21 QuoteWijzig

hoi

Ik wil al een tijdje iets maken dat ik met een afstandbediening een powerpoint presentatie kan bedienen. Ik zag op een ander forum dat er iemand dit gemaakt had door een usb muis te slopen en het IC dat erin zat te misbruiken door met een ?C de scrollbeweging te simuleren zodat de PC denkt dat er gescrolled wordt als men op een knopje duwt van de afstandsbediening.
Ik zou dit willen maken maar dan alleen maar met een ?C die rechtstreek in verbinding staat met de pc.
Het moet met usb zijn en er mogen geen extra programma's ge?nstalleerd worden. Ik dacht aan iets met een ?C met usb functie maar wat voor signaal moet de ?C dan naar de pc sturen? Is hier een soort van tabel voor, ik heb niks kunnen vinden op het Inet.

bij voorbaat dank

Stynus
Admin
Berichten: 2855
Gepost op zaterdag 20 December 2008 11:52:46 QuoteWijzig

Je zou 2 pics kunnen verbinden via zo een 433Mhz zendertje en ontvangertje.

Dan kan je voor de pic aan de pc kant een 18f2550 nemen.
Als je dan USB_DESCRIPTOR = "MOUSDESC.INC" in je code zet wordt die als muis herkend dus geen extra drivers ofzo nodig.

Bij de samples van picbasic zit trouwens een voorbeeld van een muis.
C:/Program Files/Proton/Samples

De commando's voor klikken enzo kan ik wel niet direct vinden.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
vdbeke
Lid
Berichten: 941
Gepost op zaterdag 20 December 2008 12:43:56 QuoteWijzig

Hartelijk bedankt, dit was wat ik zocht. Nu zou ik de code voor het scrollen nog moeten vinden. Hieronder kan je de voorbeeldcode vinden van proton.


Code

'
' Demonstrate a HID (Human Interface Device) interface
'
' When connected to the PC, the mouse pointer will rotate in a small square

    Device = 18F4550                                ' Choose a device with on-board full speed USB
    XTAL = 48                                        ' Set the oscillator speed to 48MHz (using a 20MHz crystal)
      
    USB_DESCRIPTOR = "MOUSDESC.INC"                    ' Point to the MOUSE DESCRIPTOR file (located in the INCUSB_18 folder)
    
    Dim PP0 as Byte SYSTEM                            ' USBPOLL status return
    Dim BUFFER[4]   as Byte
    Dim LOOP_COUNT    as    Byte
    Dim POSITION    as    Byte
    Dim INDEX as Word
    
    Symbol CARRY_FLAG = STATUS.0                    ' High if microcontroller does not have control over the DP buffer
    Symbol TRNIF = UIR.3                            ' Low if USB Busy

'------------------------------------------------------------------------
' The main program loop starts here 
   
    Delayms 200                                            ' Wait for things to stabilise
    Clear                                                ' Clear all RAM before we start   
    
    Repeat                                                ' 
        USBPoll                                            '   Wait for the USB interface to become attached
    Until PP0 = %00000110                                ' /
    
    While 1 = 1
        For POSITION = 0 To 3                            ' Move through each position
            For LOOP_COUNT = 0 To 31                    ' 32 steps in each direction
                Select POSITION
                    Case 0                                ' Move UP ?
                        BUFFER#1 = 0
                        BUFFER#2 = -2
                    Case 1                                ' Move RIGHT ?
                        BUFFER#1 = 2
                        BUFFER#2 = 0
                    Case 2                                ' Move DOWN ?
                        BUFFER#1 = 0
                        BUFFER#2 = 2
                    Case 3                                ' Move LEFT ?
                        BUFFER#1 = -2
                        BUFFER#2 = 0
                End Select
                Repeat
                    USBOut 1, BUFFER, 4                  ' Send the buffer to endpoint 1
                Until CARRY_FLAG = 0                    ' Keep trying if the microcontroller does not have control over the buffer
                Repeat : Until TRNIF = 1                ' Wait for completion before continuing
            Next
        Next
    Wend

dj jens
Moderator
Berichten: 229
Gepost op zaterdag 20 December 2008 20:36:38 QuoteWijzig

iemand op CO heeft is een USB muis gesloopt en dat IC dat erin zat ervoor gebruikt. misschien ook wel nuttige info voor jou


www.christiaan-elektro.nl bouwt een cnc :)
vdbeke
Lid
Berichten: 941
Gepost op zondag 21 December 2008 09:06:58 QuoteWijzig

Dat was ook wat ik schreef in de startpost he . En als ik me niet vergis was het KIF die dat gemaakt had, maar dat weet ik niet heel zeker meer.

dj jens
Moderator
Berichten: 229
Gepost op zondag 21 December 2008 10:27:06 QuoteWijzig

bonk
het was kif ja


www.christiaan-elektro.nl bouwt een cnc :)
vdbeke
Lid
Berichten: 941
Gepost op vrijdag 6 Maart 2009 21:43:27 QuoteWijzig

Ik heb dit gevonden. Ik kan het spijtig genoeg nog niet uittesten aangezien ik de juist microcontrollers nog niet heb. Maar als ik het goed begrijp zou ik met behulp van die instructiecodes een hele pc kunnen besturen? Ofja toch alles wat je met een toetsenbord kan.

vdbeke
Lid
Berichten: 941
Gepost op vrijdag 19 Juni 2009 21:22:48 QuoteWijzig

Ik heb een voorlopig schema getekend, graag dat jullie je mening geven over de keuze van bepaalde componenten en vooral de aansluiting van USB.

effe schema kort samengevat:

Alles wordt gevoed vanuit de USB aansluiting, dus geen externe voeding! Zou er nog extra ontkoppeling nodig zijn?
Lcd aansluiting voor in de toekomst playlist oid te tonen
4 drukknoppen om rechtstreeks zonder afstandsbediening de ppt te bedienen, in geval dat er geen tobo aanwezig is of voor WMP te bedienen
X1 is voor de ontvanger



reddevil
Lid
Berichten: 1278
Gepost op vrijdag 19 Juni 2009 22:13:49 QuoteWijzig

Extra ontkoppeling is altijd nodig, bij een pic is standaard altijd een 100nF condensator nodig over de voedingslijnen.


Veel te weinig tijd voor mijn projecten of heb ik er soms te veel?
Stynus
Admin
Berichten: 2855
Gepost op vrijdag 19 Juni 2009 22:56:50 QuoteWijzig

En een kleine elco is ook aan te raden.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
vdbeke
Lid
Berichten: 941
Gepost op zaterdag 20 Juni 2009 20:57:44 QuoteWijzig

Het schema nog wat aangepast en het PCB ontworpen, de print maken zal voor na de examens zijn.

R7 toegevoegd, juiste LCD ingevoegd (4x20) en datalijnen omgedraaid, drukknoppen van plaats gewisseld en maar mee een nieuwe lib aangemaakt voor de ontvanger.





De 100nF condensator is toegevoegd, de elco heb ik achterwegen gelaten wegens plaatsgebrek.

reddevil
Lid
Berichten: 1278
Gepost op zaterdag 20 Juni 2009 21:13:27 QuoteWijzig

Links naast je drukknop is er nog een mooi plaatsje voor.


Veel te weinig tijd voor mijn projecten of heb ik er soms te veel?
vdbeke
Lid
Berichten: 941
Gepost op dinsdag 23 Juni 2009 19:55:13 QuoteWijzig

Ik heb de elco een plaatsje gegeven en de print een beetje kleiner gemaakt, drukknoppen komen onder het LCD te zitten.
Na een namidagje etsen en solderen, ... en van het zonnetje genieten (buiten print gemaakt).



onderkant:



en de zender:





Print werkt perfect, ofja het USB gedeelte toch. Ik heb er een sample programma van proton zelf ingezet (de usb mouse) en die werkt naar behoren, zeer vervelend om dan nog met de pc te werken .
Nu moet ik de ?C een usb-keyboard laten simuleren, maar dit zal niet zo simpel worden vrees ik.

Als er iemand meer info moest hebben of een leuke site met meer info over hoe je een USB-keyboard kunt simuleren met een PIC, graag. Want ik heb het internet al afgestruind, maar nog niet echt iets bruikbaar gevonden.

Stynus
Admin
Berichten: 2855
Gepost op dinsdag 23 Juni 2009 19:58:46 QuoteWijzig

Ziet er goed uit.

Hier staat een voorbeeld van een keyboard: http://www.elektronicastynus.be/PICBASIC/USB/Keyboard_Emulator/index.php
Nuja hoe je toetsen "indrukt" ermee staat er niet bij want had ik toen niet nodig.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
vdbeke
Lid
Berichten: 941
Gepost op donderdag 25 Juni 2009 18:18:43 QuoteWijzig

Ik heb het zo goed als werkend met onderstaande code, alleen zit ik nog met een probleem . Als ik de drukknop te lang induw dan worden er meerder dia's verder gegaan en dit is natuurlijk niet de bedoeling. Als ik de drukknop blijf induwen mag er telkens maar een dia verder gegaan worden. Ik heb het proberen op te lossen met de goto maar dit lost het probleem niet volledig op. Is er hiervoor ook een andere oplossing?

Ik heb hier een voorbeeldcode gevonden.


Code


Device = 18F2550                                
XTAL = 48                                               ' op print 20MHz gebruiken
      
USB_DESCRIPTOR = "KBDDESC.INC"        ' Point to the KEYBOARD DESCRIPTOR file (located in the INCUSB_18 folder)
    
Dim PP0         As Byte SYSTEM        ' USBPOLL status return
Dim BUFFER[8]   As Byte
Dim LOOP_COUNT    As    Byte
Dim POSITION      As    Byte
Dim INDEX       As Word
symbol S1 = portB.0
symbol S2 = portb.1
symbol S3 = portB.2
symbol S4 = portB.3
SYMBOL A = PORTB.4
symbol B = portB.5
symbol C = portB.6
symbol D = portb.7
symbol CARRY_FLAG = STATUS.0            ' High if microcontroller does not have control over the DP buffer
Symbol TRNIF = UIR.3                            ' Low if USB Busy
;        76543210                 ' poort B allemaal als ingang programmeren
TRISA = %11111111

'------------------------------------------------------------------------
' The main program loop starts here 
   
DelayMS 200                                            ' Wait for things to stabilise
Clear                                                    ' Clear all RAM before we start   
    
Repeat                                               
USBPoll                                                 '   Wait for the USB interface to become attached
Until PP0 = %00000110                        
    
While 1 = 1

  if A = 1 then
    BUFFER#0 = 0                      '1st byte = modifier keys (i.e. ctrl, alt, shift)
    BUFFER#1 = 0                         '2nd byte = reserved            
    BUFFER#2 = $58              'enter
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1
    knopa:
    if a = 1 then goto knopa
  else 
    BUFFER#0 = 0
    BUFFER#1 = 0                                
    BUFFER#2 = 0                'all key are up 
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1
  endif
  
  if B = 1 then 
    BUFFER#0 = 0                      '1st byte = modifier keys (i.e. ctrl, alt, shift)
    BUFFER#1 = 0                        '2nd byte = reserved            
    BUFFER#2 = $2A              'backspace
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1
    knopb:
    if b = 1 then goto knopb 
  else 
    BUFFER#0 = 0
    BUFFER#1 = 0                                
    BUFFER#2 = 0                'all key are up 
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1 
  endif
  
  if C = 1 then
    BUFFER#0 = 0                       '1st byte = modifier keys (i.e. ctrl, alt, shift)
    BUFFER#1 = 0                        '2nd byte = reserved            
    BUFFER#2 = $3E              'F5
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1
    knopc:
    if c = 1 then goto knopc
  else 
    BUFFER#0 = 0
    BUFFER#1 = 0                                
    BUFFER#2 = 0                'all key are up 
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1 
  endif
  
  if D = 1 then
    BUFFER#0 = 0                      '1st byte = modifier keys (i.e. ctrl, alt, shift)
    BUFFER#1 = 0                        '2nd byte = reserved            
    BUFFER#2 = $29              'escape
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1
    knopd:
    if d = 1 then goto knopd
  else 
    BUFFER#0 = 0
    BUFFER#1 = 0                                
    BUFFER#2 = 0                'all key are up 
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1 
  endif
  
  if S1 = 1 then
    BUFFER#0 = 0                      '1st byte = modifier keys (i.e. ctrl, alt, shift)
    BUFFER#1 = 0                         '2nd byte = reserved            
    BUFFER#2 = $80              'volume up
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1
  else 
    BUFFER#0 = 0
    BUFFER#1 = 0                                
    BUFFER#2 = 0                'all key are up 
    BUFFER#3 = 0
    BUFFER#4 = 0
    BUFFER#5 = 0
    BUFFER#6 = 0
    BUFFER#7 = 0
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1 
  endif
  
Wend
end



Stynus
Admin
Berichten: 2855
Gepost op donderdag 25 Juni 2009 18:27:00 QuoteWijzig

Je kan proberen met een bit hoog te maken als je de data bij die knop de eerste keer uitvoerd. Als dan die bit hoog is en de knop hoog mag er niks gebeuren. Als de knop terug laag is dan moet de bit ook terug 0 gemaakt worden.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
vdbeke
Lid
Berichten: 941
Gepost op donderdag 25 Juni 2009 18:36:24 QuoteWijzig

Maar dit pas ik nu toch ook toe of begrijp ik je verkeerd?

Stynus
Admin
Berichten: 2855
Gepost op donderdag 25 Juni 2009 18:40:48 QuoteWijzig

Nee, zal even 1 stukje aanpassen.


Code

dim abit as bit
  if A = 1 and abit = 0 then
    BUFFER#0 = 0
    ...
    USBOut 1, BUFFER, 8                  ' Send the buffer to endpoint 1
    abit = 1
  else 
    BUFFER#0 = 0
    ...
    if A = 0 then
         abit = 0
    endif
  endif


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be

Active Topics

» Atoomklok
» De tuin.
» Werkplaatsinrichting
» Subaru Outback 2016
» ? => Mini kerstlan...
» ATSAMD21J18A-AU backupen
» De gevolgen van een kl...
» Afstandsbediening plaf...
» Virtual Chemist probleem
» Probleem met Toyota Av...

» Meer actieve topics

Advertenties

PCBway

© 2004-2023 SchemaTheek
Laadtijd: 0.23694 sec.