Mündəricat:

Raspberry Pi GPIO sxemləri: ADC olmadan bir LDR analoq sensoru istifadə etmək (rəqəmsal çeviriciyə bənzər): 4 addım
Raspberry Pi GPIO sxemləri: ADC olmadan bir LDR analoq sensoru istifadə etmək (rəqəmsal çeviriciyə bənzər): 4 addım

Video: Raspberry Pi GPIO sxemləri: ADC olmadan bir LDR analoq sensoru istifadə etmək (rəqəmsal çeviriciyə bənzər): 4 addım

Video: Raspberry Pi GPIO sxemləri: ADC olmadan bir LDR analoq sensoru istifadə etmək (rəqəmsal çeviriciyə bənzər): 4 addım
Video: Atom Hydrogen - универсальный контроллер умного дома, обзор, возможности, ESP Home, Home Assistant 2024, Noyabr
Anonim
Raspberry Pi GPIO sxemləri: ADC olmadan bir LDR analoq sensoru istifadə etmək (rəqəmsal çeviricinin analoqu)
Raspberry Pi GPIO sxemləri: ADC olmadan bir LDR analoq sensoru istifadə etmək (rəqəmsal çeviricinin analoqu)

Əvvəlki Təlimatlarda Raspberry Pi -nin GPIO pinlərini LED və açarlara necə bağlaya biləcəyinizi və GPIO sancaqlarının Yüksək və Aşağı olacağını göstərdik. Bəs Raspberry Pi -ni analoq sensoru ilə istifadə etmək istəyirsinizsə nə etməli?

Raspberry Pi ilə analoq sensorlardan istifadə etmək istəyirsinizsə, sensorun müqavimətini ölçə bilməliyik. Arduinodan fərqli olaraq, Raspberry Pi -nin GPIO pinləri müqaviməti ölçə bilmir və yalnız onlara verilən gərginlik müəyyən bir gərginlikdən (təxminən 2 volt) yuxarı olduqda hiss edə bilər. Bu problemi həll etmək üçün bir rəqəmsal çeviriciyə (ADC) və ya nisbətən ucuz bir kondansatördən istifadə edə bilərsiniz.

Bu Təlimat sizə bunun necə edilə biləcəyini göstərəcək.

Addım 1: Nə lazımdır

Ehtiyacınız olacaq
Ehtiyacınız olacaq
Ehtiyacınız olacaq
Ehtiyacınız olacaq
Ehtiyacınız olacaq
Ehtiyacınız olacaq
Ehtiyacınız olacaq
Ehtiyacınız olacaq

- Artıq Raspbian quraşdırılmış RaspberryPi. Bir Monitör, Siçan və Klaviatura istifadə edərək və ya Uzaq Masaüstü vasitəsilə Pi -yə daxil ola bilməlisiniz. İstənilən Raspberry Pi modelindən istifadə edə bilərsiniz. Pi Zero modellərindən biriniz varsa, bəzi başlıq pinlərini GPIO portuna lehimləmək istəyə bilərsiniz.

- İşıqdan asılı bir rezistor (LDR və ya Fotoresistor kimi də tanınır)

- 1 uF Seramik Kondansatör

- Lehimsiz Prototipləşdirmə Breadboard

- Bəzi kişilərdən qadınlara keçid telləri

Addım 2: Dövrənizi qurun

Dövrənizi qurun
Dövrənizi qurun
Dövrənizi qurun
Dövrənizi qurun

Çörək lövhənizdə yuxarıdakı dövrə qurun, aparıcı komponentlərin heç birinə toxunmadığından əmin olun. İşığa Bağlı Rezistor və Seramik Kondansatörün heç bir qütblüyü yoxdur, bu da mənfi və müsbət cərəyanın hər iki qurğuşa qoşula biləcəyi deməkdir. Bu səbəbdən, bu komponentlərin dövrənizdə hansı şəkildə bağlandığından narahat olmağınıza ehtiyac yoxdur.

Dövrünüzü yoxladıqdan sonra, yuxarıdakı sxemə uyğun olaraq tullanan kabelləri Raspberry Pi -nin GPIO pinlərinə bağlayın.

Addım 3: İşığa Bağlı Rezistoru oxumaq üçün Python Script yaradın

İşığa Bağlı Rezistoru oxumaq üçün Python Script yaradın
İşığa Bağlı Rezistoru oxumaq üçün Python Script yaradın

İndi Python istifadə edərək LDR -nin müqavimətini oxuyacaq və göstərəcək qısa bir skript yazacağıq.

Raspberry Pi -də IDLE -ni açın (Menyu> Proqramlaşdırma> Python 2 (IDLE)). Yeni bir layihə açın, Fayl> Yeni Fayl bölməsinə keçin. Sonra aşağıdakı kodu yazın (və ya kopyalayıb yapışdırın):

GPIOimport timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0 olaraq RPi. GPIO idxal edin: True: GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, False) GPIO.output (tpin, False) time.sleep (0.2) GPIO.setup (mpin, GPIO. IN) time.sleep (0.2) GPIO.output (tpin, True)) starttime = time.time () endtime = time.time () while (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () ölçmə müqaviməti = endtime-starttime res = (ölçü ölçüləri/müqavimət)* adj i = i+1 t = t+res i == 10 olarsa: t = t/i çap (t) i = 0 t = 0

Layihənizi Sənədlər qovluğunuzda lightsensor.py (Fayl> Farklı Saxla) olaraq qeyd edin.

İndi Terminalı açın (Menyu> Aksesuarlar> Terminal) və aşağıdakı əmri yazın:

python lightsensor.py

Raspberry Pi fotorezistorun müqavimətini dəfələrlə göstərəcək. Barmağınızı fotorezistorun üzərinə qoysanız, müqavimət artacaq. Fotorezistora parlaq bir işıq yatsanız, müqavimət azalacaq. CTRL+Z düymələrini basaraq bu proqramın işləməsini dayandıra bilərsiniz.

Addım 4: Necə Çalışır

Kondansatör tədricən yükləndikcə dövrədən GPIO pininə keçən gərginlik yüksəlir. Kondansatör müəyyən bir nöqtəyə doldurulduqda, gərginlik 2 voltdan yuxarı qalxır və Raspberry Pi GPIO pin 13 -ün YÜKSEK olduğunu hiss edəcək.

Sensorun müqaviməti artarsa, kondansatör daha yavaş dolacaq və dövrənin 2 volta çatması daha çox vaxt aparacaq.

Yuxarıdakı skript, pin 13 -ün Yüksək dönməsinin nə qədər vaxt çəkdiyini və sonra Fotoresistorun müqavimətini hesablamaq üçün bu ölçüdən istifadə edir.

Tövsiyə: