Mündəricat:

Arduino Az tanınan Xüsusiyyətlər: 9 Addım
Arduino Az tanınan Xüsusiyyətlər: 9 Addım

Video: Arduino Az tanınan Xüsusiyyətlər: 9 Addım

Video: Arduino Az tanınan Xüsusiyyətlər: 9 Addım
Video: CS50 2015 - Week 4 2024, Noyabr
Anonim
Arduino ilə daha az tanınan xüsusiyyətlər
Arduino ilə daha az tanınan xüsusiyyətlər

Bu daha çox adətən istifadə edilməyən Arduino platformalarının (məsələn, Uno, Nano) xüsusiyyətlərinin siyahısıdır. Bu siyahı, bu xüsusiyyətlərə baxmaq və söz yaymaq lazım olduğu zaman bir istinad kimi çıxış etməlidir.

Təlimat verilə bilən bir neçə mina layihəsində istifadə etdiyim bütün xüsusiyyətlərə dair nümunələri görmək üçün koda baxın (məsələn, Arduino 1 telli Ekran (144 Karakter)). Aşağıdakı addımlar hər birinin bir xüsusiyyətini izah edir.

Addım 1: Təchizat gərginliyi

Arduino, öz təchizatı gərginliyini dolayı yolla ölçə bilər. Daxili istinadı təchizat gərginliyi ilə yuxarı sərhəd istinadı olaraq ölçməklə daxili istinad və təchizat gərginliyi arasındakı nisbətləri əldə edə bilərsiniz (təchizat gərginliyi analoq/ADC oxunması üçün yuxarı hədd rolunu oynayır). Daxili gərginlik istinadının dəqiq dəyərini bildiyiniz halda, təchizat gərginliyini hesablaya bilərsiniz.

Nümunə kodu daxil olmaqla bunun necə ediləcəyi ilə bağlı dəqiq məlumatlar üçün baxın:

  • Gizli Arduino Voltmetr-Batareya Gərginliyini Ölçün:
  • Arduino öz Vinini ölçə bilərmi ?:

Addım 2: Daxili temperatur

Bəzi Arduino daxili temperatur sensoru ilə təchiz olunmuşdur və buna görə də daxili (yarımkeçirici) istiliyini ölçə bilir.

Nümunə kodu daxil olmaqla bunun necə ediləcəyi ilə bağlı dəqiq məlumatlar üçün baxın:

Daxili İstilik Sensoru:

Arduino öz Vinini ölçə bilərmi ?:

Addım 3: Analog Müqayisəçi (Kəsmə)

Arduino, A0 və A1 pinləri arasında analog müqayisə qura bilər. Beləliklə, biri gərginlik səviyyəsini verir, digəri isə bu gərginliyin keçməsi üçün yoxlanılır. Keçidin yüksələn və ya düşən bir kənar (və ya hər ikisi) olub -olmamasından asılı olaraq fasilə qaldırılır. Ardıcıllıq proqram tərəfindən tutula və buna uyğun olaraq hərəkət edə bilər.

Nümunə kodu daxil olmaqla bunun necə ediləcəyi ilə bağlı dəqiq məlumatlar üçün baxın:

Analog Müqayisəçi Arası:

Addım 4: Sayğac

Əlbəttə ki, AVR -də bir neçə sayğac var. Adətən onlar müxtəlif tezliklərin taymerini qurmaq və ehtiyac olduqda fasilələri artırmaq üçün istifadə olunur. Başqa bir çox köhnə üsul ola bilər ki, bunları heç bir əlavə sehr olmadan sayğaclar kimi istifadə etmək, ehtiyacınız olduqda dəyəri oxuyun (sorğu). Bunun maraqlı bir istifadəsi düymələri silmək ola bilər, məsələn. Məsələn bu yazını təqdim edin: AVR Nümunəsi T1 sayğacı

Addım 5: Əvvəlcədən təyin edilmiş sabitlər

Layihənizə versiya və tərtib məlumatı əlavə etmək üçün istifadə edilə bilən əvvəlcədən təyin edilmiş dəyişənlər var.

Nümunə kodu daxil olmaqla bunun necə ediləcəyi ilə bağlı dəqiq məlumatlar üçün baxın:

Serial.println (_ DATE_); // tərtib tarixi

Serial.println (_ TIME_); // tərtib vaxtı

String stringOne = String (ARDUINO, DEC);

Serial.println (stringOne); // arduino ide versiyası

Serial.println (_ VERSION_); // gcc versiyası

Serial.println (_ FILE_); // fayl tərtib edildi

bu kod parçaları həmin məlumatları serial konsoluna çıxaracaq.

Addım 6: Sıfırlama vasitəsi ilə dəyişənləri RAM -da saxlayın

Məlumdur ki, Arduino Uno-nun (ATmega328) daxili EEPROMu var ki, bu da söndürmə zamanı dəyərləri və parametrləri saxlamağa və onları növbəti açılışda bərpa etməyə imkan verir. O qədər də məlum olmayan bir fakt ola bilər ki, sıfırlama zamanı hətta RAM -da dəyəri qorumaq mümkündür - lakin dəyərlər güc dövrü ərzində itirilir - sintaksislə:

imzasız uzun dəyişən_that_is_preserved _attribute_ ((bölmə (".noinit"))));

Bu, məsələn, SIFIRLAMA sayını və EEPROM-dan istifadə edərək güc açma sayını saymağa imkan verir.

Nümunə kodu daxil olmaqla bunun necə ediləcəyi ilə bağlı dəqiq məlumatlar üçün baxın:

  • Dəyişənləri Sıfırla Ramda saxlayın:
  • EEPROM Kitabxanası:

Addım 7: Saat Siqnalına daxil olun

Arduinos və digər AVR (ATtiny kimi), xarici bir kristal osilator istifadə etmədən işləməyinizə imkan verən daxili saata malikdir. Bundan əlavə, bu siqnalı bir pin üzərində (məsələn, PB4) qoyaraq kənara bağlaya bilirlər. Buradakı çətin şey, bu xüsusiyyəti təmin etmək üçün çiplərin qoruyucu bitlərini dəyişdirməyinizdir və qoruyucu bitlərin dəyişdirilməsi çipin kərpiclənmə riski daşıyır.

CKOUT qoruyucusunu işə salmalısınız və bunun ən asan yolu, Arduino istifadə edərək AVR Atmega328p - 8bit Mikrokontrolörün Sigorta Bitlərini Necə Dəyişdirməklə bağlı təlimatları izləməkdir.

Nümunə kodu daxil olmaqla bunun necə ediləcəyi ilə bağlı dəqiq məlumatlar üçün baxın:

  • ATtiny daxili osilatörün tənzimlənməsi:
  • Arduino istifadə edərək AVR Atmega328p-8 bitlik Mikrokontrolörün Sigorta Bitlərini necə dəyişdirmək olar:

Addım 8: ATmega328P Limanının Daxili Quruluşu

ATmega328P limanlarının daxili quruluşunu bilmək standart istifadə məhdudiyyətlərini aşmağa imkan verir. Daxili dövrənin sxemini və daha ətraflı məlumat üçün 20 pF aralığında Kapasitans Ölçer haqqında bölməni 1000 nF -ə çatdırın.

Sadə bir nümunə, Daxil çəkmə Serial Nümunəsində göstərildiyi kimi daxili çəkmə müqavimətinin və ya Rezistorsuz Arduino Düyməsinin göstərildiyi kimi heç bir müqavimətə ehtiyac duymayan rəqəmsal portlu düymələrdən istifadə etməkdir.

20 pF -ə qədər olan və heç bir əlavə məftil olmadan ölçülən kapaktorların ölçülməsi üçün qeyd edildiyi kimi, bu biliklərin istifadəsi daha inkişaf etmişdir! Bu performansı əldə etmək üçün nümunə daxili/giriş empedansından, daxili çəkmə müqavimətindən və boş kondansatördən istifadə edir. Bir neçə nF -dən aşağı düşə bilməyən Arduino CapacitanceMeter Tutorial ilə müqayisə edin.

Addım 9: Fotodetektor olaraq Bortda (quraşdırılmış) LED

Bir çox Arduino lövhəsində koddan idarə oluna bilən göyərtədə və ya quraşdırılmış LED-lər var. pin 13 -dəki Uno və ya Nano lövhələri. Bu pindən analoq giriş pininə (məsələn, A0) bir tək tel əlavə etməklə biz də bu LED -dən fotodetektor kimi istifadə edə bilərik. Bu müxtəlif yollarla istifadə edilə bilər; ətraf mühitin işıqlandırılmasını ölçmək üçün istifadə edin, düyməni LED olaraq istifadə edin, bidrectional ünsiyyət üçün LED istifadə edin (PJON AnalogSampling) və s.

Tövsiyə: