Open Cv Python Arduino Led (Parmaklarımıza göre led yakma)

  Рет қаралды 513

MuBa

MuBa

Күн бұрын

Open Cv Python Arduino Led (Parmaklarımıza göre led yakma)
Open Cv görüntü işleme kullanılarak arduinodaki ledleri yakmayı denedim. Kullandığım programları ve kütüphaneleri göstermeye çalıştım. Python kullanmıyorsanız terminal bazı eksik kütüphane uyarısı verebilir, gerekli kütüphaneyi yüklerseniz çalışacaktır.
Yüklenecek programlar:
Download VScode
Download python 3.9.6 (64-bit)
Download arduino ide 1.8.19
Kütüphaneler:
pip install pyFirmata
pip install opencv-python
pip install HandTrackingModule
pip install HandDetector-cc
Programların son versiyonları uyumluluk problemi çıkarabilir. Bilginiz olsun. Controller deki port ile arduinoyu bağladığınız port aynı olmasına dikkat edin. Değilse controller deki kodda bağladığınız portu yazın. Arduinodaki ledleri 8,9,10,11,12 ye bağladım. Arduinoya videodaki gösterdiğim örnek kodu seçerek yükleyin. Open cv kodları aşağıda yer almaktadır.
main kodları:
import cv2
import controller as cnt
from cvzone.HandTrackingModule import HandDetector
detector=HandDetector(detectionCon=0.8,maxHands=1)
video=cv2.VideoCapture(0)
while True:
ret,frame=video.read()
frame=cv2.flip(frame,1)
hands,img=detector.findHands(frame)
if hands:
lmList=hands[0]
fingerUp=detector.fingersUp(lmList)
print(fingerUp)
cnt.led(fingerUp)
if fingerUp==[0,0,0,0,0]:
cv2.putText(frame,'Finger count:0',(20,460),cv2.FONT_HERSHEY_COMPLEX,1,(255,255,255),1,cv2.LINE_AA)
elif fingerUp==[0,1,0,0,0]:
cv2.putText(frame,'Finger count:1',(20,460),cv2.FONT_HERSHEY_COMPLEX,1,(255,255,255),1,cv2.LINE_AA)
elif fingerUp==[0,1,1,0,0]:
cv2.putText(frame,'Finger count:2',(20,460),cv2.FONT_HERSHEY_COMPLEX,1,(255,255,255),1,cv2.LINE_AA)
elif fingerUp==[0,1,1,1,0]:
cv2.putText(frame,'Finger count:3',(20,460),cv2.FONT_HERSHEY_COMPLEX,1,(255,255,255),1,cv2.LINE_AA)
elif fingerUp==[0,1,1,1,1]:
cv2.putText(frame,'Finger count:4',(20,460),cv2.FONT_HERSHEY_COMPLEX,1,(255,255,255),1,cv2.LINE_AA)
elif fingerUp==[1,1,1,1,1]:
cv2.putText(frame,'Finger count:5',(20,460),cv2.FONT_HERSHEY_COMPLEX,1,(255,255,255),1,cv2.LINE_AA)
cv2.imshow("frame",frame)
k=cv2.waitKey(1)
if k==ord("k"):
break
video.release()
cv2.destroyAllWindows()
controller kodları:
import pyfirmata
comport='COM5'
board=pyfirmata.Arduino(comport)
led_1=board.get_pin('d:8:o')
led_2=board.get_pin('d:9:o')
led_3=board.get_pin('d:10:o')
led_4=board.get_pin('d:11:o')
led_5=board.get_pin('d:12:o')
def led(fingerUp):
if fingerUp==[0,0,0,0,0]:
led_1.write(0)
led_2.write(0)
led_3.write(0)
led_4.write(0)
led_5.write(0)
elif fingerUp==[0,1,0,0,0]:
led_1.write(1)
led_2.write(0)
led_3.write(0)
led_4.write(0)
led_5.write(0)
elif fingerUp==[0,1,1,0,0]:
led_1.write(1)
led_2.write(1)
led_3.write(0)
led_4.write(0)
led_5.write(0)
elif fingerUp==[0,1,1,1,0]:
led_1.write(1)
led_2.write(1)
led_3.write(1)
led_4.write(0)
led_5.write(0)
elif fingerUp==[0,1,1,1,1]:
led_1.write(1)
led_2.write(1)
led_3.write(1)
led_4.write(1)
led_5.write(0)
elif fingerUp==[1,1,1,1,1]:
led_1.write(1)
led_2.write(1)
led_3.write(1)
led_4.write(1)
led_5.write(1)

Пікірлер: 7
@beyzagedik024
@beyzagedik024 5 ай бұрын
hocam 1. ve 2.led yanmıyor ama 3 4 5 gösterince diğerleri full yanıyor led değişimi kablo değişimi yaptım neden anlamadım
@MuBa
@MuBa 5 ай бұрын
Parmakların algılanmasında sıkıntı yoksa controller deki kodu kontrol edin.
@nevzatyagmur1597
@nevzatyagmur1597 3 ай бұрын
hocam merhaba arduino veya esp32cam veya sizin tavsiye edeceğiniz farklı bir kart ile ile görüntü işleme yapmak istiyorum (örneğin bir kuş, kedi köpek tanımlayacağım o kuşu kediyi, vss. görünce alarm verecek) yardımcı olursanız sevinirim
@Rukiaaaaakuchiki
@Rukiaaaaakuchiki 4 ай бұрын
Hocam bu uygulamayı mblock üzerinden nasıl yapabiliriz
@MuBa
@MuBa 4 ай бұрын
Mblock da bu kütüphane yer almıyor diye biliyorum.
@dii9025
@dii9025 Жыл бұрын
*Promo sm*
@MuBa
@MuBa Жыл бұрын
Yes, you are right
Python ile El hareketlerini tanımak
33:29
MertStack
Рет қаралды 13 М.
I Spent 100 Hours Inside The Pyramids!
21:43
MrBeast
Рет қаралды 29 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
NVIDIA RTX 5090, 5080, 5070 İçin Bilmemiz Gereken 5 KRİTİK DETAY
11:49
Mediapipe ve Opencv ile kameradan el izleme ve elle komut verme
13:31
Учим Python за 1 час! #От Профессионала
59:01
Хауди Хо™ - Просто о мире IT!
Рет қаралды 10 МЛН
TEMU'dan Çok UCUZA RC Arabalar ALDIM !
20:59
Yaspe
Рет қаралды 170 М.
Packaging Data Using Structs in Python
18:41
NeuralNine
Рет қаралды 22 М.
Trump'tan Şok Sözler! NATO Ülkesini Hedefe Koydu
25:53
Haber Global
Рет қаралды 126 М.
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН