Mesaj S.O.S. transmis printr-un LED conectat la Raspberry Pi + cod Python
Salutare prieteni!
Mai jos veți găsi primul meu program făcut în Python pe Raspberry Pi. Este vorba de un program care repetă vizual mesajul S.O.S. transmis printr-un LED conectat la GPIO-ul plăcii Raspberry Pi.
Mesajul se repetă într-o buclă ce poate fi oprită oricand apăsând CTRL+C.
Clipul video care vă arată cum funcționează programul:
Schema conectării LED-ului la GPIO:
Iată codul meu (*Free to copy and use for educational purpose):
# Copyright 2020 by Sebastian Chetroni - ZCoder.ro # Free to copy and use for educational purposes from time import sleep import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(8, GPIO.OUT) # Copyright 2020 by Sebastian Chetroni - ZCoder.ro # Mai jos incepe bucla care se va repeta la infinit while True: # Tiparim in consola prima litera S print('S.') # Incepem sa aprindem si sa stingem LED-ul pentru a transmite litera S GPIO.output(8, GPIO.HIGH) # aprindem LED-ul sleep(0.3) #facem pauza 0,3sec GPIO.output(8, GPIO.LOW) # stingem LED-ul sleep(0.1) #facem pauza 0,1sec GPIO.output(8, GPIO.HIGH) # aprindem LED-ul sleep(0.3) #facem pauza 0,3sec GPIO.output(8, GPIO.LOW) # stingem LED-ul sleep(0.1) #facem pauza 0,1sec GPIO.output(8, GPIO.HIGH) # aprindem LED-ul sleep(0.3) #facem pauza 0,3sec GPIO.output(8, GPIO.LOW) # stingem LED-ul sleep(0.6) #facem pauza 0,6sec # Tiparim in consola prima litera O print('O.') # Incepem sa aprindem si sa stingem LED-ul pentru a transmite litera O GPIO.output(8, GPIO.HIGH) sleep(0.6) GPIO.output(8, GPIO.LOW) sleep(0.1) GPIO.output(8, GPIO.HIGH) sleep(0.6) GPIO.output(8, GPIO.LOW) sleep(0.1) GPIO.output(8, GPIO.HIGH) sleep(0.6) GPIO.output(8, GPIO.LOW) sleep(0.6) # Tiparim in consola prima litera S print('S.') # Incepem sa aprindem si sa stingem LED-ul pentru a transmite litera S GPIO.output(8, GPIO.HIGH) sleep(0.3) GPIO.output(8, GPIO.LOW) sleep(0.1) GPIO.output(8, GPIO.HIGH) sleep(0.3) GPIO.output(8, GPIO.LOW) sleep(0.1) GPIO.output(8, GPIO.HIGH) sleep(0.3) GPIO.output(8, GPIO.LOW) sleep(2) # facem pauza 2 secunde pana la urmatorul mesaj SOS print('\n\n') # Lasam doua randuri libere in consola pana la urmatorul mesaj SOS
Mai multe detalii despre codul morse găsiți aici: ro.wikipedia.org/wiki/Codul_Morse
Author: Sebastian Chetroni
Website: https://zcoder.ro
Articole recente
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Cadouri” in C++, clasa a V-a
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Patinaj” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Forus” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Patrate” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2019. Rezolvare problema „Cartele” in C++, clasa a V-a
Comentarii recente
- irina c la Olimpiada Judeteana de Informatica 2021. Rezolvare problema „Concurs” in C++, clasa a V-a
- M la Olimpiada Judeteana de Informatica 2022. Rezolvare problema „Sume si secvente” in C++, clasa a V-a
- Sebastian Chetroni la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei toma la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei nicolescu la Am fost in tabara educationala de vara Atlantykron. Voi mai merge
Eroare in linia 4
import RPi.GPIO as GPIO
ModuleNotFoundError: No module named ‘RPi’
Salut George,
Programul este facut sa functioneze pe un Raspberry Pi cu sistemul lui de operare: Raspbian OS / RaspberryPi OS.
Daca incerci sa il pornesti de pe un calculator/laptop cu Windows nu va functiona.
Libraria GPIO este disponibila doar pe Raspberry Pi, GPIO reprezentand acei 40 de pini la care se pot conecta diverse accesorii/senzori/motorase, etc.
iti las aici documentatia pentru GPIO: https://www.raspberrypi.org/documentation/usage/gpio/
Daca totusi pornesti programul de pe un Raspberry Pi si nu iti functineaza, te rog sa-mi spui si cautam variante pentru a-l face sa functioneze.
Succes!