İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
İhtiyacımız olacak şeyler:
- Raspbian ile Raspberry Pi
- Adafruit'ten Dokunmatik Sensör
- Güç Kaynağı (Pil/DC)
- Raspberry Pi için Ethernet veya WiFi
- başka bir bilgisayar
Adım 1: Raspberry Pi Donanımımızı Kurma
Öncelikle dokunmatik sensörümüzü Raspberry Pi'mizdeki GPIO pinlerine bağlayın. Bazı esnek kablolar kullanın
Sensörümüzdeki 3 pini tanımlayın:
- GND - topraklama pimine bağlayın
- VCC - 5V pin ile bağlantı
- SIG - bir sinyal pinine bağlanın
Bu örnekte ahududu pi'mizde 5V, toprak ve GPIO 18 kullanacağız.
2. Adım: Raspberry Pi'de Ortamımızı Kurmak
Raspberry Pi'mizin IP adresini alın.
Ardından ssh kullanarak ahududu pi'mize bağlanın:
ssh kullanıcıadı@ipadresi
sonra şifremizi yazın.
İçeri girdikten sonra, şunu yazarak apache2'yi web sunucumuz olarak kurun:
sudo apt-get install apache2
Adım 3: Sensörümüzden Girdiyi Okumak için Bir Python Kodu Parçası Tasarlayın
Tasarım
Örnek kodumuzda birkaç farklı komut kullanıyoruz.
Mutlu olduğumuzu belirtmek için 2 uzun basarız
Üzgün olduğumuzu belirtmek için kısa bir dokunuş ve bir uzun basarız
Kafamızın karıştığını belirtmek için kısa bir vuruş yaparız, bir vuruş bekleriz, ardından 2 kısa vuruş yaparız. Mutlu olduğumuzu belirtmek için bir kısa dokunuş, bir kısa boşluk ve bir uzun basış yaparız
Sıkıldığımızı belirtmek için 3 kısa dokunuş yapıyoruz
Bunları dize komutlarına çevirmek:(t kısa dokunuş için, T uzun basış için, g kısa boşluk için, G uzun boşluk için)
mutlu: TgT
üzgün: tgT
kafası karışmış: tGtgt
sıkıldım: tgtgt
Ardından, kodumuzun mevcut ruh halimizi, sunum için tarayıcı dostu bir html dosyasına çıkarmasını sağlayacağız.
kod
RPi. GPIO'yu GPIOimport zamanı olarak içe aktar
GPIO.cleanup()
GPIO.setmode(GPIO. BCM) GPIO.setup(18, GPIO. IN)
touch_count = 0
touch_state = 0 touch_duration = 0 gap_duration = 0 current_cmd = ""
tanım cmd():
global current_cmd ise current_cmd[-3:] == "TgT": current_cmd = "" mood("Üzgün") eğer current_cmd[-3:] == "tgT": current_cmd = "" mood("Mutlu") eğer current_cmd [-5:] == "tGtgt": current_cmd = "" mood("Confused") if current_cmd[-5:] == "tgtgt": current_cmd = "" mood("Sıkılmış")
def ruh hali(ruh hali):
dosya = open("index.html", "w") html = """
Taşınabilir Mood Muhabiri
Hey, en son ruh halim
{}
"""
file.write(html.format(ruh hali))
süre(1):
time.sleep(0.001) if(GPIO.input(18)): eğer touch_state==0 ise: gap_duration > 2000 ise: gap_duration = 0 eğer gap_duration > 200 ise: current_cmd = current_cmd + "G" başka: current_cmd = current_cmd + "g " gap_duration = 0 touch_state = 1 touch_count = touch_count + touch_state==1: touch_duration = touch_duration + 1 ise: gap_duration 200 ise: current_cmd = current_cmd + "T" başka: current_cmd = current_cmd + "t" touch_duration = 0 cmd()
GPIO.cleanup()
Web sunucumuzla çalışmak için kurulum
yukarıdaki python dosyasını web sunucusu konumumuza yazın veya yükleyin, varsayılan olarak /var/www/html olarak ayarlanmıştır
cd /var/www/html
sudo nano touch.py
Ardından yukarıdaki kodu yazın
Adım 4: Eylemde Görmek için Sunucumuzu Başlatın
cd /var/www/html
sudo python touch.py
Ardından Raspberry Pi'mizin IP adresini yazın, ardından ruh hali muhabirimizin çalıştığını görmeliyiz!
Farklı türde dokunma komutları deneyin ve sayfa bunu yansıtacak şekilde otomatik olarak yenilenmelidir!