Mündəricat:
- Addım 1: I2c necə işləyir
- Addım 2:
- Addım 3: İstifadə
- Addım 4: Dəyəri oxuyun
- Addım 5: Kanaldan Vale oxuyun
- Addım 6: Dəyər Yazın
- Addım 7: Əlavə Xüsusiyyətlər
- Addım 8: Bağlantı Şemasının nümunələri
- Addım 9: Təşəkkürlər
Video: PCF8591 (i2c Analog I/O Genişləndiricisi) Sürətli Asan İstifadə: 9 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Arduino və esp8266 ilə i2c pcf8591 IC istifadə etmək üçün kitabxana.
Bu IC, (4 -ə qədər) analoq girişi və/və ya 1 analoq çıxışı ölçə bilər, termistor dəyərini oxuya bilər və ya bir led sönür.
Yalnız 2 tel ilə analoq dəyər oxuya və analoq dəyər yaza bilər (ESP-01 üçün idealdır).
Minimum əməliyyat dəsti ilə bu IC -nin istifadəsini asanlaşdırmağa çalışıram.
Yenilənmiş versiyanı https://www.mischianti.org/2019/01/03/pcf8591-i2c-analog-i-o-expander/ saytımda tapa bilərsiniz.
Addım 1: I2c necə işləyir
I2C iki tel ilə işləyir: SDA (məlumat xətti) və SCL (saat xətti).
Bu xətlərin hər ikisi açıq drenajdır, lakin rezistorlar ilə çəkilir.
Adətən xətdə bir usta və bir və ya birdən çox qul var, baxmayaraq ki, birdən çox usta ola bilər, amma bu barədə sonra danışacağıq.
Həm ustalar, həm də qullar məlumatları ötürə və ya ala bilərlər, buna görə də bir cihaz bu dörd vəziyyətdən birində ola bilər: usta ötürmə, usta qəbulu, kölə ötürmə, kölə qəbulu.
Addım 2:
Kitabxanamı burada tapa bilərsiniz.
Yükləmək üçün.
Sağ üst köşedeki YÜKLƏMƏ düyməsini basın, sıxılmamış qovluğun adını PCF8591 adlandırın.
PCF8591 qovluğunda PCF8591.cpp və PCF8591.h olduğunu yoxlayın.
PCF8591 kitabxana qovluğunu / libraries / qovluğunuza yerləşdirin.
İlk kitabxananız varsa, kitabxanalar alt qovluğunu yaratmağınız lazım ola bilər.
IDE -ni yenidən başladın.
Addım 3: İstifadə
Konstruktor: i2c ünvanını yazmalısınız (ünvanı yoxlamaq üçün bu təlimatdan istifadə edin I2cScanner)
PCF8591 (uint8_t ünvanı);
esp8266 üçün SDA və SCL pinini təyin etmək istəyirsinizsə bunu istifadə edin:
PCF8591 (uint8_t ünvanı, uint8_t sda, uint8_t scl);
Addım 4: Dəyəri oxuyun
Şəkildə gördüyünüz kimi IC 4 analog giriş və 1 analoq çıxışı var.
Beləliklə, bütün analoq girişləri bir trasmisyonda oxumaq üçün edə bilərsiniz (dəyər 0 ilə 255 arasındadır):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
Serial.print (ai.ain0); Serial.print (" -"); Serial.print (ai.ain1); Serial.print (" -"); Serial. çap (ai.ain2); Serial.print (" -"); Serial.println (ai.ain3);
bir analoq girişi və ya kanalı oxumaq istəyirsinizsə:
int ana = pcf8591.analogRead (AIN0); // analoq 0 oxuyun
Addım 5: Kanaldan Vale oxuyun
Bu IC -nin birdən çox oxunuş növü var və siz analoq girişi və ya analoq kanaldan istifadə edə bilərsiniz (bir dəfə oxuduğunuzda analog giriş və kanal şəkillərdədir).
Məsələn, 0 kanalının dəyərini iki diferensial girişdə oxumaq üçün etməlisiniz:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // analoq 0 oxuyun
Addım 6: Dəyər Yazın
Bir analoq dəyər yazmaq istəyirsinizsə etməlisiniz (dəyər 0 -dan 255 -ə qədərdir):
pcf8591.analogWrite (128);
Addım 7: Əlavə Xüsusiyyətlər
Əlavə xüsusiyyət yazma gərginliyini oxumaqdır: Gərginliyin hesablanması üçün bəzi parametrlərdən keçməlisiniz:
- microcontrollerReferenceVoltage: mikro nəzarətçi gərginliyindən gərginlik əldə edin (yalnız esp 3.3v üçün AVR yox esp8266)
- referenceVoltage: əgər microcontrollerReferenceVoltage false bu dəyəri götürsün Komanda:
void gərginlikWrite (float dəyəri, bool microcontrollerReferenceVoltage = doğru, float referenceVoltage = 5.0);
float gərginliyiRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
Bir nümunə budur:
pcf8591.voltageWrite (2.7); // 2.7 Volt çıxış
gecikmə (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Analog 0 -dan gərginliyi oxuyun
Serial.println (ana0V);
Addım 8: Bağlantı Şemasının nümunələri
Addım 9: Təşəkkürlər
i2c layihə seriyası (Kolleksiya):
- Rütubət sensoru
- Analog genişləndirici
- Rəqəmsal genişləndirici
- LCD Ekran
Tövsiyə:
Kilid Ekranınızı 6 sadə addımda dəyişdirməyin sürətli və asan yolu (Windows 8-10): 7 addım
Kilid Ekranınızı 6 sadə addımda dəyişdirməyin sürətli və asan yolu (Windows 8-10): Dizüstü kompüterinizdə və ya kompüterinizdə hər şeyi dəyişdirmək istəyirsiniz? Atmosferinizdə bir dəyişiklik istəyirsiniz? Kompüterinizin kilid ekranını uğurla fərdiləşdirmək üçün bu sürətli və asan addımları izləyin
MİNECRAFT SUNUCUNU YARADIN! Super Asan, Sürətli və Pulsuz! (TIKLAYINIZ): 11 addım (şəkillərlə)
MİNECRAFT SUNUCUNU YARADIN! Super Asan, Sürətli və Pulsuz! (TIKLAMA BAĞI YOXDUR): Minecraft, istədiyiniz hər şeyi edə biləcəyiniz son dərəcə zövqlü bir oyundur! Ancaq İnternetdə dostlarla oynamaq bəzən ağrılı ola bilər. Təəssüf ki, çox oyunçu serverləri ya trollarla doludur, nə də oyun təcrübəsi
Xüsusi Animasiya AIM Buddy Icon = Sürətli və Asan: 10 Addım
Xüsusi Animasiya AIM Buddy İkonu = Tez və Asan!: Qeyd: Bu təlimat üçün Adobe Photoshop -un olması tələb olunur. Bunun cizgi simvolu olmasını istəyirsinizsə, Adobe görüntü hazırlamasına da ehtiyacınız olacaq, ancaq statik bir ikon edə bilərsiniz. Ehtiyacınız olan digər şeylər: Kompüterinizdə görəcəyiniz bir görüntü
YENİLƏNİB !!!! Kağızlardan daha yaxşı və daha sürətli ucuz və asan WIFI Anten Siqnal Gücləndiricisi !!!: 9 addım
YENİLƏNİB !!!! Kağızlardan daha yaxşı və daha sürətli olan ucuz və asan WIFI Anten Siqnal Gücləndiricisi!: WIFI siqnalınızı yaxşılaşdırmaq üçün köhnə bir fikir üzərində yeni bir yelləncək
Pulsuz, sürətli, asan və səmərəli bir pervane (Una H é bitlər Pulsuz, R á pida ): 6 addım
Pulsuz, Sürətli, Asan və Effektiv bir Pervane (Una H é bitlər Gratis, R á pida …): Banyoda kiçik bir hava çıxarıcı yerləşdirməliydim. İki və ya üç az güclü mühərrikim var idi, amma pervanenin birinə bağlanması yaxşı deyildi. Digərlərinin gücü çox aşağıdır. (Yo necesitaba colocar un peque ñ o extractor de aire en