Inhoudsopgave:
- Stap 1: Verzamel alle onderdelen
- Stap 2: Bedrading
- Stap 3: Installatie van Python-pakket
- Stap 4: De voorbeelden installeren
- Stap 5: I2C inschakelen
- Stap 6: Voer Calibratethresholds uit
- Stap 7: Wijzig en voer vervolgens Readkeypadwithtimeout uit
- Stap 8: Hoe het eenpins toetsenbord werkt
- Stap 9: Conclusie
Video: Een-pins toetsenbord Raspberry Pi Gebruiksgids - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
DISCLAIMER: DIT IS EEN GEBRUIKSGIDS VOOR EEN OPEN SOURCE PRODUCT: HET ONE PIN TOETSENBORD. DIT IS GEEN DIY-PROJECT. ALS JE DE BOARDS ZELF WILT MAKEN, ZIJN DE EAGLE-BESTANDEN TE VINDEN AAN HET EINDE VAN DE TUTORIAL
Wat is het One Pin Keypad?
One Pin Keypad maakt het gebruik van een matrixtoetsenbord zo veel gemakkelijker en stelt u in staat uw kostbare I/O-pinnen voor andere doeleinden te reserveren. Een matrixtoetsenbord met 16 knoppen vereist doorgaans 8 digitale ingangen op een microcontroller of een computer met één bord. De meest populaire Arduino's beperken je tot slechts 14 digitale pinnen, dus een toetsenbord met 16 knoppen laat je slechts 6 pinnen over voor de rest van je project. Dit tekort aan middelen kan leiden tot een kostbare afweging van het ontwerp of een duurdere upgrade van de microcontroller. De One Pin Keypad-module elimineert de noodzaak voor al deze digitale ingangen. Zoals de naam al aangeeft, gebruikt One Pin Keypad slechts één pin (een analoge ingang) plus GND- en VCC-verbindingen, dus het bedraden van uw toetsenbord is een fluitje van een cent! Voor Raspberry Pi-gebruikers (de doelgroep voor deze tutorial) heeft het ook een ADS1115 analoog naar digitaal converter nodig, die heel gemakkelijk te bedraden is. Het Python-pakket met één pins toetsenbord (meegeleverd) vereenvoudigt ook de programmering die nodig is om de invoer van het toetsenbord te verwerken, waardoor u meer tijd en moeite bespaart.
Klik hier voor de Arduino-gebruiksgids.
Stap 1: Verzamel alle onderdelen
Om aan de slag te gaan met uw One Pin Keypad-bord, heeft u het volgende nodig:
- Een eenpins toetsenbordbord
- Een Arduino met een bepaalde smaak (in dit geval werd een Arduino Nano gebruikt)
- 3 M/F startkabels,
- 4 M/M OF 4 extra M/F-startkabels, afhankelijk van het type headers op je Raspberry Pi
- Een membraantoetsenbord met 16 toetsen
- Breadboard (hier wordt een hele kleine gebruikt)
- Een ADS1115-module (van Adafruit of een kloon)
- Een Raspberry Pi met een internetverbinding en Raspbian OS (ik gebruikte Stretch)
- Raspberry Pi-accessoires (een HDMI-kabel, een voeding, dongles, monitor, enz. Hangt af van de smaak van uw Raspberry Pi)
Stap 2: Bedrading
Bedraad het One Pin Keypad volgens het Fritzing-diagram, de foto of beide, wat u maar wilt.
Let op: de opmerking op het Fritzing-diagram vertegenwoordigt het One Pin Keypad (en de afkortingen GND VCC en AOUT duiden de pinouts van het One Pin Keypad-bord aan)
Stap 3: Installatie van Python-pakket
Open een terminalvenster en typ de volgende opdrachten:
sudo apt-get update
dan
pip3 installeer Progetto-One-Pin-Keypad
om het pakket en de noodzakelijke afhankelijkheden te installeren
Stap 4: De voorbeelden installeren
Ik heb een dev-map gemaakt om de repository onder home/pi te huisvesten als je hetzelfde wilt doen (het is volledig optioneel), voer dan deze opdracht uit:
mkdir dev
typ vervolgens om naar de map te navigeren:
cd-ontwikkelaar
Voer ten slotte de volgende opdracht in om de repository te klonen:
git clone
Stap 5: I2C inschakelen
De ADS1115 ADC (Analog to Digital Converter) vertrouwt op het I2C-protocol (Inter-Integrated Circuit) om met de Raspberry Pi te communiceren, standaard is de I2C-bus uitgeschakeld, om deze in te schakelen, typt u:
sudo raspi-config
die u naar een blauw configuratievenster brengt, van daaruit, met behulp van de pijltoetsen en de enter-toets, kiest u
- Interface-opties
- I2C
- Ga dan naar beneden naar
Tip: verwijzen naar de bovenstaande schermafbeeldingen kan een beetje helpen! Als je nog steeds vastzit, vrees dan niet! Raadpleeg deze geweldige how-to van Sparkfun!
Stap 6: Voer Calibratethresholds uit
Navigeer naar de repository als je dat nog niet hebt gedaan en ga naar de map met voorbeelden met behulp van deze opdrachten:
Tip: typ 'cd Prog' en druk vervolgens op Tab, het zou de naam van de repository automatisch moeten aanvullen!
cd Progetto_One_Pin_Keypad_Python_Package
typ dan:
cd-voorbeelden
voer vervolgens het calibratethresholds-voorbeeld uit met deze opdracht:
python3 kalibreerdrempels
en volg de instructies die op de console worden weergegeven om uw bord te kalibreren. Nadat de kalibratie alle knoppen heeft doorlopen, test u uw nieuwe analoge waarden om te zien of ze werken door op enkele knoppen te drukken wanneer u wordt gevraagd om te "Begin". Als de nieuwe waarden onnauwkeurig blijken te zijn, gebruikt u Ctrl C om het programma te beëindigen en uit te voeren opnieuw.
Het kalibratievoorbeeld zou je 2 regels code moeten geven die je nodig hebt in het volgende voorbeeld, zorg ervoor dat je de console open houdt en/of kopieer ze allebei!
Stap 7: Wijzig en voer vervolgens Readkeypadwithtimeout uit
Nu uw One Pin Keypad is gekalibreerd, is het tijd om het in gebruik te nemen. Hoewel je dit vanaf de opdrachtregel met vi zou kunnen doen, gebruik ik persoonlijk liever een IDE zoals IDLE.
Open IDLE (u wilt de python3-versie) en pas de volgende regels aan:
Weet je nog die analoge waarde-array die je hebt gekopieerd? Vervang regel 13 (zie hieronder) door die nieuw gekalibreerde analoge waarden.
# ex: my_thresholds = [gekalibreerde waarden zouden hier zijn]
wordt vervangen door dit:
my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]
Voeg vervolgens de volgende regel code toe na regel 23, (zie hieronder):
keypad.useCalibratedThresholds(my_thresholds)
wordt toegevoegd na regel 23:
# ex: keypad.use_calibrated_thresholds (uw arraynaam)
regel 22 t/m 24 er uiteindelijk zo uit laten zien:
# Als er gekalibreerde waarden worden gebruikt, gebruik dan de onderstaande_calibrated_thresholds:
# ex: keypad.use_calibrated_thresholds (uw arraynaam)
keypad.use_calibrated_thresholds(my_thresholds)
Voer daarna de code uit en test deze door op enkele knoppen te drukken! Voel je vrij om de voorbeeldschets aan te passen aan je projecten! Onthoud dat read_keypad_with_timeout de ingedrukte knop teruggeeft als een teken en de time-out is ingesteld in milliseconden! Als u geen time-out wilt, gebruikt u het toetsenbord. NO_TIMEOUT constant.
Stap 8: Hoe het eenpins toetsenbord werkt
Een groot deel van het ontwerp van het One Pin Keypad is gebaseerd op Hari Wiguna's implementatie van een spanningsdeler om een unieke analoge waarde te verkrijgen voor elke toets in een 16-pins toetsenbord. Het ontwerp van One Pin Keypad blijft grotendeels hetzelfde, met een paar tweaks. Als je een geweldige tutorial wilt over hoe het One Pin Keypad werkt, kun je hier de geweldige video van Hari Wiguna bekijken!
Stap 9: Conclusie
In deze instructable hebben we besproken hoe u aan de slag kunt met uw One Pin Keypad-bord. Nu, de nieuwsgierigen onder jullie hebben zich misschien afgevraagd waarom de readKeypadInstantaneous-voorbeeldschets nooit werd gebruikt, de reden is dat het niet zo handig is, omdat de knop moet worden ingedrukt wanneer het wordt aangeroepen, de functie readKeypadInstantaneous() wordt voornamelijk gebruikt om te vereenvoudigen readKeypadWithTimeout() in de bibliotheek. Als het je aandacht trekt, voel je vrij om het eens uit te proberen. Veel succes met hacken!
Als je vragen hebt, laat dan hieronder een reactie achter of stuur een e-mail naar [email protected]. Al het beste, Progetto Company P. S. Zoals beloofd, een link naar de Eagle Files van het bord.
Aanbevolen:
Een USB-toetsenbord hacken: 6 stappen (met afbeeldingen)
Een USB-toetsenbord hacken: hoe u een USB-toetsenbord of welk toetsenbord dan ook hackt. Stuur input naar de computer zonder vervelende microcontroller
Een USB-hub maken van een oud toetsenbord ?♻: 3 stappen (met afbeeldingen)
Een USB-hub maken van een oud toetsenbord ?♻: As-Salaamu-Alaikum! Ik heb een oud toetsenbord dat niet in gebruik was en ook de toetsen waren een beetje defect. Dus besloot ik er iets aan te doen. Ik nam de printplaat en zette het om in "USB Hub".Het was gemakkelijk
Snel en vies Das-toetsenbord (leeg toetsenbord): 3 stappen
Snel en vies Das-toetsenbord (leeg toetsenbord): Een Das-toetsenbord is de naam van het populairste toetsenbord zonder inscripties op de toetsen (leeg toetsenbord). Het Das-toetsenbord kost $ 89,95. Deze instructable zal je helpen om er zelf een te maken met elk oud toetsenbord dat je hebt liggen
Een USB-toetsenbord installeren in een OLPC XO-laptop, fase I: 8 stappen (met afbeeldingen)
Een USB-toetsenbord installeren in een OLPC XO-laptop, fase I: ik weet niet hoe het met u zit, maar ik kan siliconen zeker van het echte werk onderscheiden. Hier leest u hoe u de gelei kunt dumpen en een normaal USB-toetsenbord met toetsen en veren in een OLPC XO-laptop kunt persen. Dit is "fase I" -- het toetsenbord in de l
De taak voltooien: een USB-toetsenbord installeren in een OLPC XO-laptop, fase II: 6 stappen
De klus afmaken: een USB-toetsenbord installeren in een OLPC XO-laptop, fase II: voor een man die het grootste deel van zijn leven heeft doorgebracht met zijn vingers verbonden met de thuisrij, heeft het toevoegen van dit USB-toetsenbord dat ik echt kan typen op een enorm verschil in de bruikbaarheid van de XO. Dit is "fase II" -- de kabel erin steken