Comment utiliser un écran de caractères LCD avec un BEAGLEBONE BLACK?
Dans le monde des systèmes intégrés, le Beaglebone Black se distingue comme un ordinateur à carte unique puissant et polyvalent. Lorsqu'il est associé à un affichage de caractères LCD, il peut être utilisé pour une large gamme d'applications, des simples indicateurs d'état aux systèmes de surveillance des données complexes. En tant que fournisseur d'écrans de personnages LCD, je suis ravi de partager avec vous comment intégrer un écran de caractères LCD avec un Black Beaglebone.


Comprendre les affichages de personnages noirs et LCD Beaglebone
Le Beaglebone Black est équipé d'un processeur ARM à 1 GHz - A8, 512 Mo de RAM et de plusieurs broches d'entrée / sortie. Ces épingles lui permettent de communiquer avec divers dispositifs externes, y compris des écrans de caractère LCD.
Les affichages de caractères LCD sont largement utilisés pour afficher du texte et des graphiques simples. Ils sont disponibles dans différentes tailles et configurations, comme leModule LCD Affichage de l'écran LCD 20x2, leÉcran LCD 0802, et leAffichage de l'écran LCD 16x1. Ces écrans utilisent généralement le contrôleur Hitachi HD44780 ou un contrôleur compatible, qui a un protocole de communication bien défini.
Connexion matérielle
Avant de commencer la programmation, nous devons connecter l'affichage des caractères LCD à BEAGLEBONE BLACK. Voici les étapes générales:
- Alimentation électrique: Connectez la broche VSS (GND) de l'écran LCD à la broche de terre sur le Beaglebone Black. Connectez la broche VDD (5V) de l'écran LCD à une source d'alimentation 5V. Si votre Beaglebone Black peut fournir une puissance 5V, vous pouvez l'utiliser directement. Sinon, vous aurez peut-être besoin d'une alimentation externe. Connectez la broche VO (Réglage du contraste) à un potentiomètre pour ajuster le contraste de l'écran.
- Épingles de contrôle: Connectez la broche RS (registre SELECT) de l'écran LCD à une broche GPIO sur le Beaglebone Black. Cette broche est utilisée pour sélectionner entre le registre des instructions et le registre de données. Connectez la broche RW (lecture / écriture) à la terre, car nous rédigerons principalement des données à l'affichage. Connectez la broche E (Activer) à une autre broche GPIO sur le Beaglebone Black. Cette broche est utilisée pour verrouiller les données dans l'écran.
- Broches de données: Vous pouvez choisir de connecter l'écran LCD en mode 4 bit ou 8 bit. En mode 4 - Bit, connectez les broches D4 - D7 de l'écran LCD à quatre broches GPIO sur le BEAGLEBONE BLACK. En mode 8 - Bit, connectez toutes les broches D0 - D7 à huit broches GPIO. Le mode 4 - Bit est plus courant car il utilise moins de broches GPIO.
Configuration de logiciel
Une fois le matériel connecté, nous devons écrire un logiciel pour contrôler l'écran LCD. Nous pouvons utiliser Python, qui dispose de bibliothèques qui facilitent l'interaction avec les broches GPIO sur le Beaglebone Black.
Voici un exemple de code Python simple pour afficher un message sur un écran LCD 16x2 en mode 4 - Bit:
Importer adafruit_bbio.gpio en tant que temps d'importation gpio # définir les broches GPIO pour le contrôle LCD RS = "P8_7" E = "P8_8" D4 = "P8_9" D5 = "P8_10" D6 = "P8_11" D7 = "P8_12" # Fonction pour envoyer un 4 - Bit Nibble vers le LCD DEFF LCD DEFF lcd_send_nibble (nibble): gpio.output (d4, (nibble & 0x01) == 0x01) gpio.output (d5, (nibble & 0x02) == 0x02) gpiO.output (d6, (nibble & 0x04) == 0x04) == 0x08) gpio.output (e, gpio.high) time.sleep (0.0001) gpio.output (e, gpio.low) # fonction pour envoyer un octet au LCD def LCD_SEND_BYTE (octet, rs): gpio.output (Rs, Rs) High_nibble = (byte >> 4) & 0x0f 0x0f lcd_send_nibble (high_nibble) lcd_send_nibble (low_nibble) time.sleep (0.0005) # fonction pour initialiser le lcd def lcd_init (): gpio.setup (rs, gpio.out) gpio.setup (e, gpio.out) gpio.setup (d4, gpio) Gpio.setup (d5, gpio.out) gpio.setup (d6, gpio.out) gpio.setup (d7, gpio.out) # initialize lcd in 4 - bit mode time.sleep (0.05) lcd_send_nibble (0x03) time.sleep (0,005) lcd_send_nibble (0x03) time (0,005) LCD_SEND_NIBBLE (0x03) Time. LCD_SEND_NIBBLE (0x03) LCD_SEND_NIBBLE (0x02) LCD_SEND_BYTE (0x28, gpio.low) # 4 - Mode bit, 2 lignes, 5x8 DOT Gpio.low) # incrément curseur lcd_send_byte (0x01, gpio.low) # claire afficher time.slee "__main__": essayez: LCD_INIT () LCD_DISPlay_string ("Hello, Beaglebone!") Tandis que vous êtes vrai
Ce code initialise d'abord les broches GPIO sur le Beaglebone Black. Ensuite, il initialise l'affichage LCD en mode 4 bit. Enfin, il affiche un message sur l'écran LCD.
Utilisation avancée
Vous pouvez faire plus que d'afficher un simple message sur l'écran LCD. Par exemple, vous pouvez afficher des données dynamiques telles que les lectures de capteurs. Vous pouvez également créer des écrans multiples et utiliser des caractères personnalisés.
Pour afficher les données dynamiques, vous pouvez modifier lelcd_display_stringFonction pour mettre à jour l'affichage avec de nouvelles données à intervalles réguliers. Par exemple, si vous avez un capteur de température connecté au Beaglebone Black, vous pouvez lire la valeur de température et l'afficher sur l'écran LCD.
Importer adafruit_bbio.gpio en tant que gpio Importer du temps Importer aléatoire # pour simuler les données du capteur # Définir les broches GPIO pour le contrôle LCD RS = "P8_7" E = "P8_8" D4 = "P8_9" D5 = "P8_10" D6 = "P8_11" D7 = "P8_12" # # fonction pour envoyer un 4-bit Nibble pour le lcd defod pour le lcd pour le lcd pour le lcd pour le lcd pour le lcd. lcd_send_nibble (nibble): gpio.output (d4, (nibble & 0x01) == 0x01) gpio.output (d5, (nibble & 0x02) == 0x02) gpiO.output (d6, (nibble & 0x04) == 0x04) == 0x08) gpio.output (e, gpio.high) time.sleep (0.0001) gpio.output (e, gpio.low) # fonction pour envoyer un octet au LCD def LCD_SEND_BYTE (octet, rs): gpio.output (Rs, Rs) High_nibble = (byte >> 4) & 0x0f 0x0f lcd_send_nibble (high_nibble) lcd_send_nibble (low_nibble) time.sleep (0.0005) # fonction pour initialiser le lcd def lcd_init (): gpio.setup (rs, gpio.out) gpio.setup (e, gpio.out) gpio.setup (d4, gpio) Gpio.setup (d5, gpio.out) gpio.setup (d6, gpio.out) gpio.setup (d7, gpio.out) # initialize lcd in 4 - bit mode time.sleep (0.05) lcd_send_nibble (0x03) time.sleep (0,005) lcd_send_nibble (0x03) time (0,005) LCD_SEND_NIBBLE (0x03) Time. LCD_SEND_NIBBLE (0x03) LCD_SEND_NIBBLE (0x02) LCD_SEND_BYTE (0x28, gpio.low) # 4 - Mode bit, 2 lignes, 5x8 DOT Gpio.low) # incrément curseur lcd_send_byte (0x01, gpio.low) # claire afficher time.slee "__main__": essayez: lcd_init () tandis que vrai: température = random.randint (20, 30) # simulant la température Message de lecture = f "temp: {température} c" LCD_SEND_BYTE (0x01, gpio.low) # affichage clair Time.Sleep (0.002) LCD_DISPlay_string (message) Time. Gpio.cleanup ()
Conclusion
L'intégration d'un écran de caractères LCD avec un BEAGLEBONE BLACK est un processus simple. Avec la bonne connexion matérielle et la programmation logicielle, vous pouvez créer des écrans utiles et interactifs. En tant que fournisseur d'écrans de caractères LCD, nous proposons une large gamme de produits adaptés à une utilisation avec le Beaglebone Black. Si vous êtes intéressé à acheter des affichages de personnages LCD pour vos projets, veuillez nous contacter pour plus d'informations et pour commencer une négociation d'approvisionnement. Nous nous engageons à fournir des produits de haute qualité et un excellent service client.
Références
- Adafruit Beaglebone GPIO Library Documentation
- Hitachi HD44780 LCD Contrôleur Fiche technique
