Arduino-ya Keçid Qeydini Necə Bağlamaq Olar

Mündəricat:

Arduino-ya Keçid Qeydini Necə Bağlamaq Olar
Arduino-ya Keçid Qeydini Necə Bağlamaq Olar

Video: Arduino-ya Keçid Qeydini Necə Bağlamaq Olar

Video: Arduino-ya Keçid Qeydini Necə Bağlamaq Olar
Video: Display input voltage as bargraph on LCD using Arduino and potentiometer 2024, Bilər
Anonim

Əvvəlki məqalələrdən birində, keçid qeydinin istifadəsinə, xüsusən 74HC595-ə qısa bir müddətdə toxunduq. Bu mikro dövrə ilə işləmə imkanlarını və prosedurunu daha ətraflı nəzərdən keçirək.

Shift Qeydiyyatı 74HC595
Shift Qeydiyyatı 74HC595

Zəruri

  • - Arduino;
  • - növbə qeydiyyatı 74HC595;
  • - birləşdirici tellər.

Təlimat

Addım 1

Shift registri 74HC595 və buna bənzərlər serial məlumatların paralelə çevrilməsi üçün cihazlar kimi istifadə olunur və ötürülən vəziyyəti saxlayan məlumatlar üçün "mandal" kimi də istifadə edilə bilər.

Pinout (pinout) soldakı şəkildə göstərilir. Onların məqsədi aşağıdakı kimidir.

Q0… Q7 - paralel məlumat çıxışları;

GND - torpaq (0 V);

Q7 '- serial məlumat çıxışı;

^ MR - yenidən qurma master (aktiv aşağı);

SHcp - shift registri saat girişi;

STcp - "mandalı" saat nəbzi girişi;

^ OE - çıxış imkan verir (aktiv aşağı);

Ds - serial məlumatların daxil edilməsi;

Vcc - enerji təchizatı +5 V.

Struktur olaraq, mikro dövrə bir neçə növdə hazırlanır; Sağdakı şəkildə göstəriləni - çıxışı istifadə edəcəyəm, çünki bir çörək taxtası ilə istifadə etmək daha asandır.

Shift qeyd görünüşü və pinout
Shift qeyd görünüşü və pinout

Addım 2

Məlumatların növbə reyestrinə ötürülməsi üçün istifadə edəcəyimiz SPI serial interfeysini qısaca xatırlayım.

SPI, bir usta və köləin iştirak etdiyi dörd telli iki yönlü bir serial interfeysdir. Bizim vəziyyətimizdəki usta Arduino olacaq, kölə 74HC595 qeydiyyatdan keçəcəkdir.

Arduino üçün inkişaf mühiti, SPI interfeysi üzərində işləmək üçün quraşdırılmış kitabxanaya malikdir. Tətbiq edərkən şəkildə qeyd olunan nəticələr istifadə olunur:

SCLK - SPI saat çıxışı;

MOSI - ağadan qula verilən məlumatlar;

MISO - kölədən ustaya məlumat;

SS - kölə seçimi.

Arduino lövhəsi standart SPI sancaqları
Arduino lövhəsi standart SPI sancaqları

Addım 3

Şəkildə olduğu kimi dövrəni bir yerə yığaq.

Həm də bir məntiq analizatorunu shift registri mikrosxeminin bütün sancaqlarına bağlayacağam. Bunun köməyi ilə fiziki səviyyədə nə baş verdiyini, hansı siqnalların hara getdiyini görəcəyik və bunun nə demək olduğunu başa düşəcəyik. Fotoya bənzər bir şey görünməlidir.

Arduinoya 74HC595 növbə qeydiyyatı üçün keçid diaqramı
Arduinoya 74HC595 növbə qeydiyyatı üçün keçid diaqramı

Addım 4

Belə bir eskiz yazaq və Arduino yaddaşına yükləyək.

Dəyişən PIN_SPI_SS, burada istifadə etdiyimiz SPI interfeysinin ustası kimi istifadə edildikdə Arduinonun "10" pininə uyğun gələn daxili standart sabitdir. Prinsipcə, Arduinodakı hər hansı digər rəqəmsal pindən istifadə edə bilərik; onda elan etməli və iş rejimini təyin etməliyik.

Bu sancağı DÜŞÜK qidalandırmaqla ötürmə / qəbul üçün növbə qeydiyyatımızı aktivləşdiririk. Şanzımandan sonra gərginliyi yenidən YÜKSƏK səviyyəsinə qaldırırıq və mübadilə başa çatır.

Vites reyestrinin işini göstərmək üçün bir eskiz
Vites reyestrinin işini göstərmək üçün bir eskiz

Addım 5

Devrimizi işə çevirək və məntiq analizatorunun bizə nə göstərdiyini görək. Vaxt diaqramının ümumi görünüşü şəkildə göstərilmişdir.

Mavi kəsikli xətt 4 SPI xəttini, qırmızı kəsikli xətt isə keçid reyestrinin 8 paralel məlumat kanalını göstərir.

Vaxt miqyasındakı A nöqtəsi "210" rəqəminin keçid reyestrinə köçürülmə anı, B "0" rəqəminin yazıldığı an, C əvvəldən təkrarlanan dövrdür.

Gördüyünüz kimi, demək olar ki, eskizdə soruşduğumuz A - B - 10.03 milisaniyə, B - C - 90.12 millisaniyə. 0, 03 və 0, 12 ms-də kiçik bir əlavə, Arduinodan serial məlumatların ötürülməsinin vaxtıdır, buna görə burada tam olaraq 10 və 90 ms yoxdur.

Arduino mübadiləsi və növbə qeydiyyatının 74HC595 vaxt diaqramı
Arduino mübadiləsi və növbə qeydiyyatının 74HC595 vaxt diaqramı

Addım 6

A hissəsini daha yaxından nəzərdən keçirək.

Ən üst hissədə Arduinonun SPI-ENABLE xətti ilə qul seçimi ilə başladığı uzun bir nəbz var. Bu zaman, SPI-SAAT saat nəbzləri yaranmağa başlayır (yuxarıdan ikinci sətir), 8 ədəd (1 bayt ötürülməsi üçün).

Yuxarıdakı növbəti sətir SPI-MOSI - Arduinodan keçid reyestrinə ötürdüyümüz məlumatlar. Bu, ikili olaraq "210" nömrəmizdir - "11010010".

Köçürmə tamamlandıqdan sonra, SPI-ENABLE nəbzinin sonunda, növbə qeydinin 8 ayağında eyni dəyəri təyin etdiyini görürük. Bunu mavi nöqtəli bir xəttlə vurğuladım və aydınlıq üçün dəyərləri etiketlədim.

SPI vasitəsilə paralel bir avtobusda 210 sayının qurulması
SPI vasitəsilə paralel bir avtobusda 210 sayının qurulması

Addım 7

İndi diqqətimizi B hissəsinə verək.

Yenə də hər şey bir kölə seçmək və 8 saat nəbzini yaratmaqla başlayır.

SPI-MOSI xəttindəki məlumatlar indi "0" -dır. Yəni bu anda reyestrə "0" rəqəmini yazırıq.

Ancaq köçürmə tamamlanana qədər qeyd "11010010" dəyərini saxlayır. Paralel sancaqlar Q0.. Q7-yə çıxarılır və Q7 'paralel çıxışdan SPI-MISO xəttinə qədər burada gördüyümüz xəttdə saat impulsları olduqda çıxır.

SPI vasitəsi ilə paralel bir avtobusda 0 rəqəminin qurulması
SPI vasitəsi ilə paralel bir avtobusda 0 rəqəminin qurulması

Addım 8

Beləliklə, Arduino olan ana cihaz ilə 74HC595 növbə qeydiyyatı arasında məlumat mübadiləsi məsələsini ətraflı araşdırdıq. Bir növbə qeydini necə bağlayacağınızı, ona məlumat yazmağı və ondan məlumat oxumağı öyrəndik.

Tövsiyə: