როგორ დავაკავშიროთ ცვლის რეგისტრი Arduino- ს

Სარჩევი:

როგორ დავაკავშიროთ ცვლის რეგისტრი Arduino- ს
როგორ დავაკავშიროთ ცვლის რეგისტრი Arduino- ს

ვიდეო: როგორ დავაკავშიროთ ცვლის რეგისტრი Arduino- ს

ვიდეო: როგორ დავაკავშიროთ ცვლის რეგისტრი Arduino- ს
ვიდეო: Winson WCS1800 WCS2750 WCS1500 Hall Effect Current Sensor with Robojax Arduino Library 2024, ნოემბერი
Anonim

ერთ-ერთ წინა სტატიაში ჩვენ უკვე მოკლედ შევეხეთ ცვლადი რეესტრის გამოყენებას, კერძოდ, 74HC595. მოდით, უფრო დეტალურად გავეცნოთ ამ მიკროსქემასთან მუშაობის შესაძლებლობებს და პროცედურას.

ცვლის რეგისტრაცია 74HC595
ცვლის რეგისტრაცია 74HC595

აუცილებელია

  • - არდუინო;
  • - ცვლის რეესტრი 74HC595;
  • - სადენების დამაკავშირებელი.

ინსტრუქციები

Ნაბიჯი 1

Shift რეგისტრი 74HC595 და სხვა მსგავსი გამოიყენება მოწყობილობებად სერიული მონაცემების პარალელურად გადასაყვანად და ასევე შეიძლება გამოყენებულ იქნას როგორც "ჩამკეტი" მონაცემთა გადასაცემად.

Pinout (pinout) ნაჩვენებია მარცხენა ფიგურაზე. მათი მიზანი შემდეგია.

Q0… Q7 - მონაცემთა პარალელური შედეგები;

GND - ადგილზე (0 V);

Q7 '- სერიული მონაცემების გამომავალი;

^ MR - გადატვირთვის საძიებო სისტემა (აქტიური დაბალია);

SHcp - ცვლის რეესტრის საათის შეყვანა;

STcp - საათის პულსის "ჩამკეტი" შეყვანა;

^ OE - გამომავალი ჩართვა (აქტიური დაბალია);

Ds - სერიული მონაცემების შეყვანა;

Vcc - ელექტრომომარაგება +5 ვ.

სტრუქტურულად მიკროციკლი მზადდება რამდენიმე ტიპის შემთხვევაში; მე გამოვიყენებ სურათზე ნაჩვენებ სურათს - გამომავალს - იმიტომ უფრო ადვილია პურის დაფის გამოყენება.

Shift რეგისტრის გამოჩენა და pinout
Shift რეგისტრის გამოჩენა და pinout

ნაბიჯი 2

მოკლედ გავიხსენო SPI სერიული ინტერფეისი, რომელსაც გამოვიყენებთ მონაცემების ცვლის რეესტრში გადასაცემად.

SPI არის ოთხი მავთულის ორმხრივი სერიული ინტერფეისი, რომელშიც ბატონი და მონა მონაწილეობენ. ჩვენს შემთხვევაში ბატონი იქნება Arduino, მონა იქნება რეგისტრირებული 74HC595.

Arduino– ს განვითარების გარემოს აქვს ინტეგრირებული ბიბლიოთეკა SPI ინტერფეისზე მუშაობისთვის. მისი გამოყენებისას გამოიყენება დასკვნები, რომლებიც აღნიშნულია ნახატზე:

SCLK - SPI საათის გამომავალი;

MOSI - მონაცემები სამაგისტროდან მონაზე;

MISO - მონაცემები მონადან სამაგისტროდან;

SS - მონათა შერჩევა.

Arduino დაფის სტანდარტული SPI ქინძისთავები
Arduino დაფის სტანდარტული SPI ქინძისთავები

ნაბიჯი 3

მოდით ერთად მოვათავსოთ წრე, როგორც სურათზე.

მე ასევე დავაკავშირებ ლოგიკის ანალიზატორს ცვლის რეესტრის მიკროსქემის ყველა ქინძისთავთან. მისი დახმარებით ვნახავთ, რა ხდება ფიზიკურ დონეზე, რა სიგნალები მიდის სად, და გავარკვევთ, რას ნიშნავს ისინი. ეს უნდა გამოიყურებოდეს ფოტოს მსგავსი.

გაყვანილი დიაგრამა 74HC595 ცვლის Arduino– სთვის
გაყვანილი დიაგრამა 74HC595 ცვლის Arduino– სთვის

ნაბიჯი 4

მოდით დავწეროთ ესკიზი ასე და ჩავტვირთოთ Arduino მეხსიერებაში.

ცვლადი PIN_SPI_SS არის შიდა სტანდარტული მუდმივა, რომელიც შეესაბამება Arduino- ს პინს "10", როდესაც ის გამოიყენება SPI ინტერფეისის სამაგისტროდ, რომელსაც აქ ვიყენებთ. პრინციპში, ჩვენ შეგვიძლია ისევე ვიყენოთ ნებისმიერი სხვა ციფრული პინი Arduino- ზე; მაშინ ჩვენ უნდა გამოვაცხადოთ იგი და დავაყენოთ მისი მუშაობის რეჟიმი.

ამ ქინძისთავის დაბლა შეკვრით, ჩვენ ვააქტიურებთ ჩვენი ცვლის რეესტრს გადაცემის / მიღებისთვის. გადაცემის შემდეგ, ჩვენ კვლავ ვმატებთ ძაბვას HIGH- ზე და გაცვლა მთავრდება.

ესკიზი ცვლის რეესტრის მუშაობის საჩვენებლად
ესკიზი ცვლის რეესტრის მუშაობის საჩვენებლად

ნაბიჯი 5

მოდით, ჩვენი წრე სამუშაოდ გადავაქციოთ და ვნახოთ, რას გვიჩვენებს ლოგიკის ანალიზატორი. დროის დიაგრამის ზოგადი ხედი ნაჩვენებია ნახატზე.

ლურჯი დატეხილი ხაზი აჩვენებს 4 SPI ხაზს, წითელ წრფივ ხაზს აჩვენებს ცვლადი რეესტრის პარალელური მონაცემების 8 არხს.

დროის სკალაზე A არის ის მომენტი, როდესაც რიცხვი "210" გადადის ცვლის რეესტრში, B არის მომენტი, როდესაც იწერება რიცხვი "0", C არის ციკლი თავიდანვე გამეორებული.

როგორც ხედავთ, A- დან B- მდე - 10,03 მილიწამი და B- დან C - 90,12 მილიწამი, თითქმის როგორც ესკიზში ვკითხეთ. 0, 03 და 0, 12 ms– ში მცირე დამატება არის Arduino– სგან სერიული მონაცემების გადატანის დრო, ამიტომ აქ ზუსტად 10 და 90 ms არ გვაქვს.

Arduino გაცვლის დროული დიაგრამა და ცვლადი რეესტრის 74HC595
Arduino გაცვლის დროული დიაგრამა და ცვლადი რეესტრის 74HC595

ნაბიჯი 6

მოდი უფრო ახლოს გავეცნოთ A განყოფილებას.

ზედა ნაწილში გრძელი პულსია, რომლითაც Arduino იწყებს გადაცემას SPI-ENABLE ხაზით - მონათა შერჩევა. ამ დროს იწყება SPI-CLOCK საათის იმპულსების წარმოქმნა (ზემოდან მეორე ხაზი), 8 ცალი (1 ბაიტის გადასაცემად).

ზემოდან შემდეგი ხაზია SPI-MOSI - მონაცემები, რომელსაც Arduino- დან ცვლის რეესტრში გადავცემთ. ეს არის ჩვენი რიცხვი "210" ორობით - "11010010".

გადაცემის დასრულების შემდეგ, SPI-ENABLE პულსის ბოლოს, ვხედავთ, რომ ცვლის რეგისტრმა იგივე მნიშვნელობა დააყენა 8 ფეხზე. მე ეს გამოვნიშნე ლურჯი წერტილოვანი ხაზით და შევაფასე სიწმინდის მნიშვნელობები.

210-ის დაყენება პარალელურ ავტობუსზე SPI- ს საშუალებით
210-ის დაყენება პარალელურ ავტობუსზე SPI- ს საშუალებით

ნაბიჯი 7

ახლა ყურადღება გავამახვილოთ B განყოფილებაზე.

ისევ ყველაფერი იწყება მონას არჩევით და 8 საათის იმპულსის წარმოქმნით.

SPI-MOSI ხაზის მონაცემები ახლა არის "0".ანუ, ამ მომენტში რეესტრში ვწერთ რიცხვს "0".

სანამ გადაცემა არ დასრულდება, რეგისტრი ინახავს მნიშვნელობას "11010010". ის გამოდის Q0.. Q7 პარალელურ ქინძისთავებამდე და გამოდის, როდესაც ხაზში არის პარალელური გამომავალი Q7 '- დან SPI-MISO ხაზამდე საათის პულსი, რომელსაც აქ ვხედავთ.

0-ის დაყენება პარალელურ ავტობუსზე SPI- ს საშუალებით
0-ის დაყენება პარალელურ ავტობუსზე SPI- ს საშუალებით

ნაბიჯი 8

ამრიგად, ჩვენ დეტალურად შევისწავლეთ ინფორმაციის გაცვლის საკითხი საძიებო მოწყობილობას, რომელიც იყო Arduino და 74HC595 ცვლის რეესტრს შორის. ჩვენ ვისწავლეთ როგორ უნდა დავაკავშიროთ ცვლადი რეესტრი, დავწეროთ მონაცემები და წავიკითხოთ მონაცემები მისგან.

გირჩევთ: