Search models, users, collections, and posts

Pageturner

Print Profile(1)

All
P1S
X1 Carbon
H2D
P1P
A1
P2S
X1
X1E
H2D Pro
H2S
H2C
X2D
A2L

0.2mm layer, 2 walls, 15% infill
0.2mm layer, 2 walls, 15% infill
Designer
4.6 h
3 plates

Open in Bambu Studio
Boost
147
274
15
9
29
4
Released 

Description

I designed a pageturner with a Raspberry Pi Pico for dirct connection to my PC. With the current firmware it simulates a keyboard arrow left and right. You can modify this easy with Thonny. 

 

*** ESP/BLE version is alo available: https://makerworld.com/en/models/2003484-page-turner-esp32-ble ***

 

stuff used:

Raspberry Pi Pico

4 M2x5mm screws

Some wire

10 screws M3x10

2 keyswitches Outemu Schakelaars Mechanische Toetsenbord Schakelaar 3Pin Stille Clicky Lineaire Tactiele Soortgelijke Heilige Panda Schakelaar Glijmiddel RGB Gaming MX Schakelaar - AliExpress 7

2 compression springs 9.5x19mm

USB-C socket 5 Stuks Usb 3.1 Type C Socket Met Schroef Bevestigingsplaat Type-C Usb Jack 3.1 Type-C 2pin 4pin Female Connector Jack Oplaadpoort - AliExpress 44

2 M2x6 screws with nuts

Micro USB plug 5/10PCS Micro USB 5Pin Stekker Met PCB Soldeer Plaat dubbelzijdig Micro 5P Connector Jack poort 4Pin Lasdraad Board Plug - AliExpress 13

 

Circuit Python code:

import time
import digitalio
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keyboard import Keycode

btn1_pin = board.GP16
btn2_pin = board.GP18

keyboard = Keyboard(usb_hid.devices)

btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.DOWN
btn2 = digitalio.DigitalInOut(btn2_pin)
btn2.direction = digitalio.Direction.INPUT
btn2.pull = digitalio.Pull.DOWN

while True:
   if btn1.value:
       print("Knop1 ingedrukt")
       keyboard.press(Keycode.LEFT_ARROW)
       time.sleep(0.1)
       keyboard.release(Keycode.LEFT_ARROW)
   if btn2.value:
       print("Knop2 ingedrukt")
       keyboard.press(Keycode.RIGHT_ARROW)   
       time.sleep(0.1)
       keyboard.release(Keycode.RIGHT_ARROW)
   time.sleep(0.1)

You need to install the Adafruit_HID library adafruit/Adafruit_CircuitPython_HID: USB Human Interface Device drivers.

 

Comment & Rating (15)

(0/1000)