Taula de continguts:

Guia d'ús del teclat Raspberry Pi amb un pin: 9 passos
Guia d'ús del teclat Raspberry Pi amb un pin: 9 passos

Vídeo: Guia d'ús del teclat Raspberry Pi amb un pin: 9 passos

Vídeo: Guia d'ús del teclat Raspberry Pi amb un pin: 9 passos
Vídeo: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, De novembre
Anonim
Guia d'ús del teclat Raspberry Pi amb un pin
Guia d'ús del teclat Raspberry Pi amb un pin

EXCLUSIÓ DE RESPONSABILITAT: AQUESTA ÉS UNA GUIA D'ÚS DEL PRODUCTE DE FONTS OBERTES: EL TECLAT DE PIN. AQUEST NO ÉS UN PROJECTE DE Bricolatge. SI VOLS FER LES TAULES, ELS ARXIUS DE L’ÀLIGA ES PODEN TROBAR AL FINAL DEL TUTORIAL

Què és el teclat One Pin?

El teclat One Pin facilita molt l’ús d’un teclat matricial i us permet reservar els vostres preciosos pins d'E / S per a altres usos. Un teclat de matriu de 16 botons sol requerir 8 entrades digitals en un microcontrolador o ordinador de placa única. Els Arduinos més populars només us limiten a 14 pins digitals, de manera que un teclat de 16 botons us deixa només 6 pins per a la resta del vostre projecte. Aquesta manca de recursos pot comportar un costós compromís de disseny o una actualització de microcontroladors més costosa. El mòdul de teclat One Pin elimina la necessitat de totes aquestes entrades digitals. Com el seu nom indica, el teclat One Pin utilitza només un pin (una entrada analògica) més les connexions GND i VCC, de manera que connectar el teclat és molt senzill. Per als usuaris de Raspberry Pi (el públic objectiu d’aquest tutorial) també requereix un convertidor analògic a digital ADS1115, que és fàcil de connectar. El paquet Python del teclat One Pin (inclòs) també simplifica la programació necessària per processar les entrades del teclat, estalviant més temps i esforç.

Feu clic aquí per obtenir la Guia d’ús d’Arduino.

Pas 1: reuniu totes les parts

Reuneix totes les parts
Reuneix totes les parts

Per començar a utilitzar el tauler del teclat One Pin, necessitareu:

  • Una placa de teclat d’un pin
  • Un Arduino d'algun sabor (en aquest cas s'ha utilitzat un Arduino Nano)
  • 3 cables de pont M / F,
  • 4 cables jumper M / M O 4 més, segons el tipus de capçaleres del vostre Raspberry Pi
  • Un teclat de membrana de 16 botons
  • Taula de pa (aquí s’utilitza una de molt petita)
  • Un mòdul ADS1115 (d'Adafruit o d'un clon)
  • Un Raspberry Pi amb connexió a Internet i Raspbian OS (he utilitzat Stretch)
  • Accessoris Raspberry Pi (un cable HDMI, una font d'alimentació, dongles, monitor, etc. depèn del gust del vostre Raspberry Pi)

Pas 2: cablejat

Cablejat
Cablejat
Cablejat
Cablejat

Connecteu el teclat One Pin segons el diagrama Fritzing, la foto o tots dos, segons el que preferiu.

Tingueu en compte que la nota del diagrama Fritzing representa el teclat One Pin (i les abreviatures GND VCC i AOUT designen els pinouts del tauler de teclat One Pin)

Pas 3: Instal·lació del paquet Python

Instal·lació del paquet Python
Instal·lació del paquet Python
Instal·lació del paquet Python
Instal·lació del paquet Python

Obriu una finestra de terminal i escriviu les ordres següents:

sudo apt-get update

llavors

pip3 instal·la el teclat Progetto-One-Pin

per instal·lar el paquet i les seves dependències necessàries

Pas 4: Instal·lació dels exemples

Instal·lació dels exemples
Instal·lació dels exemples

He creat una carpeta dev per allotjar el dipòsit a casa / pi si voleu fer el mateix (és completament opcional), executeu aquesta ordre:

mkdir dev

després, per navegar a la carpeta, escriviu:

cd dev

Per últim, per clonar el dipòsit, introduïu l'ordre següent:

git clone

Pas 5: habilitació de l'I2C

Habilitació de l'I2C
Habilitació de l'I2C
Habilitació de l'I2C
Habilitació de l'I2C
Habilitació de l'I2C
Habilitació de l'I2C

L’ADS1115 ADC (convertidor analògic a digital) es basa en el protocol I2C (circuit integrat) per comunicar-se amb el Raspberry Pi; per defecte, el bus I2C està desactivat, per habilitar-lo, escriviu:

sudo raspi-config

que us portarà a una finestra de configuració blava, des d’allà, mitjançant les tecles de fletxa i la tecla d’inici, trieu

  1. Opcions d’interfície
  2. I2C
  3. A continuació, baixeu a

Consell: fer referència a les captures de pantalla anteriors pot ajudar una mica. Si encara estàs atrapat, no tinguis por! Consulteu aquest fantàstic procediment de Sparkfun.

Pas 6: executeu els llindars Calibrateth

Executa llindars Calibrateth!
Executa llindars Calibrateth!

Aneu al repositori si encara no ho heu fet i aneu a la carpeta d'exemples mitjançant aquestes ordres:

Consell: escriviu 'cd Prog' i, a continuació, premeu Tabulador, hauria de completar automàticament el nom del dipòsit.

cd Progetto_One_Pin_Keypad_Python_Package

a continuació, escriviu:

exemples de cd

a continuació, executeu l'exemple de calibratethresholds mitjançant aquesta ordre:

python3 calibra els llindars

i seguiu les instruccions que es mostren a la consola per calibrar el tauler. Després que el calibratge passi per tots els botons, proveu els vostres nous valors analògics per veure si funcionen prement alguns botons quan se us demani que comenceu. Si els nous valors resulten inexactes, utilitzeu Ctrl C per eliminar el programa i executar-lo. de nou.

L'exemple de calibratge us proporcionarà dues línies de codi que necessitareu a l'exemple següent, assegureu-vos de mantenir la consola oberta i / o copieu-les totes dues.

Pas 7: Modifiqueu i, a continuació, executeu Readkeypadwithtimeout

Modifiqueu i, a continuació, executeu el teclat de lectura sense temps
Modifiqueu i, a continuació, executeu el teclat de lectura sense temps
Modifiqueu i, a continuació, executeu el teclat de lectura sense temps
Modifiqueu i, a continuació, executeu el teclat de lectura sense temps
Modifiqueu i, a continuació, executeu el teclat de lectura sense temps
Modifiqueu i, a continuació, executeu el teclat de lectura sense temps

Ara que el teclat One Pin està calibrat, és hora de fer-lo servir. Tot i que podeu fer-ho des de la línia d'ordres mitjançant vi, personalment prefereixo utilitzar un IDE com IDLE.

Obriu IDLE (voldreu la versió de python3) i modifiqueu les línies següents:

Recordeu la matriu de valors analògics que heu copiat? Substituïu la línia 13 (vegeu més avall) per aquests valors analògics recentment calibrats.

# ex: my_thresholds = [els valors calibrats serien aquí]

se substitueix per això:

llindes_meves = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

A continuació, afegiu la següent línia de codi després de la línia 23 (vegeu més avall):

keypad.useCalibratedThresholds (my_thresholds)

s'afegeix després de la línia 23:

# ex: keypad.use_calibrated_thresholds (el nom de la vostra matriu)

fent que les línies 22 a 24 siguin així al final:

# Si s’utilitzen valors calibrats, use_calibrated_thresholds a continuació:

# ex: keypad.use_calibrated_thresholds (el nom de la vostra matriu)

keypad.use_calibrated_thresholds (my_thresholds)

Un cop fet això, executeu el codi i proveu-lo prement alguns botons. No dubteu a adaptar l’esbós d’exemple als vostres projectes. Recordeu que read_keypad_with_timeout retorna el botó que es prem com a caràcter i el temps d'espera s'estableix en mil·lisegons. Si no voleu un temps d'espera, utilitzeu la constant keypad. NO_TIMEOUT.

Pas 8: Com funciona el teclat One Pin

Com funciona el teclat One Pin
Com funciona el teclat One Pin
Com funciona el teclat One Pin
Com funciona el teclat One Pin

Gran part del disseny del teclat One Pin es basa en la implementació d’un divisor de voltatge per part de Hari Wiguna per obtenir un valor analògic únic per a cada tecla d’un teclat de 16 pins. El disseny d’un teclat Pin continua essent el mateix, amb alguns ajustaments. Si voleu un gran tutorial sobre com funciona el teclat One Pin, no dubteu a veure aquí l’impressionant vídeo de Hari Wiguna.

Pas 9: Conclusió

Conclusió
Conclusió

En aquest instructiu, hem explicat com començar amb el tauler del teclat One Pin. Ara bé, els curiosos es poden preguntar per què no s’ha fet servir mai l’esbós d’exemple readKeypadInstant, la raó és que no és tan útil, ja que s’ha de prémer el botó quan es crida, la funció readKeypadInstantaneous () s’utilitza principalment per simplificar readKeypadWithTimeout () a la biblioteca. Si us crida l’atenció, no dubteu a fer-ne una volta. Feliç pirateria!

Si teniu cap pregunta, deixeu un comentari a continuació o envieu-nos un correu electrònic a [email protected]. Tot el millor, Progetto Company P. S. Com es va prometre, un enllaç als fitxers Eagle de la junta.

Recomanat: