Სარჩევი:

Arduino I²C ™ EEPROM BYTEBANGER: 5 ნაბიჯი
Arduino I²C ™ EEPROM BYTEBANGER: 5 ნაბიჯი

ვიდეო: Arduino I²C ™ EEPROM BYTEBANGER: 5 ნაბიჯი

ვიდეო: Arduino I²C ™ EEPROM BYTEBANGER: 5 ნაბიჯი
ვიდეო: Почему я продал Мерседес W204? Минусы б/у Mercedes-Benz W204 с пробегом 2024, ივლისი
Anonim
Arduino I²C ™ EEPROM BYTEBANGER
Arduino I²C ™ EEPROM BYTEBANGER

ცოტა ხნის წინ დავინტერესდი I²C EEProms– ით მას შემდეგ, რაც გადავარჩინე ძველი უკანა პროექციის ტელევიზია, რომელსაც ვშლიდი.

მე მოვიძიე ინტერნეტი და ვცდილობდი მეპოვა მათ შესახებ მეტი ინფორმაცია- როგორიცაა მონაცემთა ცხრილი და გაკვეთილები თუ როგორ მუშაობდა ეს და როგორ შეიძლებოდა მათი გამოყენება. გასაკვირია, რომ ინფორმაცია მიმოფანტული და გარკვეულწილად მწირი იყო … მონაცემთა ფურცლები საკმაოდ ადვილად მოიძებნა, და არსებობს რამდენიმე გაკვეთილი (ვიდეოების ჩათვლით), რომლებიც აჩვენებს eeproms- ის ფუნქციონირებაზე წვდომის ძალიან ძირითად გზებს. მე ჯერ კიდევ არ ვიყავი კმაყოფილი იმით, რისი გაკეთებაც მსურდა, ამიტომ გადავწყვიტე დამეყენებინა ჩემი დაფა და დამეწერა ჩემი კოდი, არდუინოს რამდენიმე ბიბლიოთეკასთან ერთად … და I²C ™ EEPROM BYTEBANGER დაიბადა!

გაკვეთილები, რომლებიც აღმოვაჩინე, აკლდა ზოგიერთ რამეს, რისი გაკეთებაც მსურდა, მაგალითად, მონაცემების კითხვა და წერა eeprom– დან და eeprom– ზე მეტი ერთ ბაიტზე ერთდროულად. მე ასევე მინდოდა მქონოდა შესაძლებლობა eeprom მონაცემების SD ბარათზე გადატანა, ასევე SD ბარათიდან CSV ფაილის ჩატვირთვა და eeprom– ის ხელახალი პროგრამირება.

კოდში მონაცემების მანიპულირების ზოგიერთი ფუნქციისა და კონტროლის პარამეტრების დამატება მართლაც დამრგვალებულია, რაც მე მჯერა, არის ძალიან ლამაზი Arduino პროგრამა, რომლითაც ისიამოვნებთ! გასაკვირია, რომ თქვენთვის საჭირო მარაგი ცოტაა … კოდის დაწერა იყო რთული ნაწილი … რაც თქვენთვის კარგი ამბავია, რადგან გადმოწერილია აქ.

მინდოდა დავრწმუნებულიყავი, რომ ამ ყველაფრის გაკეთება Arduino UNO– ს გამოყენებით შევძელი, რადგან ის მაინც ძალიან პოპულარული მიკროკონტროლი ჩანს და ჩემი აზრები იყო „თუ ის მუშაობს UNO– ზე, მაშინ ის უნდა მუშაობდეს ნებისმიერზე“, რაც ალბათ მართალია კოდის ოდნავ შეცვლით თქვენი კონკრეტული მიკროკონტროლერისთვის.

მარაგები

თქვენ დაგჭირდებათ:

Arduino UNO R3 USB კაბელით არანაკლებ 1 (და 8 -მდე) I²C EEPromsan SD Card მოდულის სპიკერი ან პიეზო ზუმერი (სურვილისამებრ) პურის დაფის დამაკავშირებელი მავთული

ნაბიჯი 1: სქემატური

სქემატური
სქემატური
სქემატური
სქემატური

გამოიყენეთ ზემოთ მოყვანილი სქემა და ფოტოები, როგორც სახელმძღვანელო თქვენი eeprom (s), SD მოდულის და სურვილისამებრ სპიკერის დასაკავშირებლად.

აღმოვაჩინე, რომ ჯობია ეევრომებით დავიწყო.

განათავსეთ ისინი პურის დაფაზე, როგორც ნაჩვენებია, ყურადღება მიაქციეთ მანძილს ეპრომებს შორის. შეამოწმეთ მონაცემთა ფურცელი თქვენი კონკრეტული eeprom– ისთვის, მაგრამ მე აღმოვაჩინე, რომ I²C PDIP8 eeproms– ის უმეტესობას აქვს იგივე pinout:

ქინძისთავები 1-3 არის მისამართის პარამეტრები eeprom– ისთვის. Pin 4 დაკავშირებულია მიწასთან. Pin 5 არის SDA (მონაცემები), რომელიც აკავშირებს UNO SDA pin– ს, pin 6 არის SCL (საათი), რომელიც აკავშირებს UNO– ს SCL pin 7 – ს არის WP (ჩაწერეთ დაიცავი), რომელიც დაკავშირებულია მიწასთან PIN 8 არის VCC დაკავშირებული +5 ვ

მე ყველაზე იოლად დავიწყე ყოველი ეპრომზე VCC და მიწის მავთულის დამატებით. (თუ თქვენ იყენებთ მხოლოდ ერთ ეპრომს, ეს ძალიან ადვილია!)

შემდეგი შეაერთეთ SDA ხაზები და SCL ხაზები I²C ავტობუსში.

ვინაიდან ჩვენ შეგვიძლია მივმართოთ 8 -მდე ეპრომს I²C ავტობუსში, ჩვენ SDA– ს ყველა ხაზს დავუკავშირებთ და ასევე SCL ხაზებს. თუ შეამჩნევთ ფოტოზე, მე გამოვიყენე დამატებითი დენის რკინიგზა, როგორც I²C ავტობუსი. თუ თქვენ არ გაქვთ დამატებითი სარკინიგზო მაგისტრალი, შეგიძლიათ უბრალოდ მიჰყევით ფრიცინგის სქემას.

ახლა მიამაგრეთ ყველა WP (pin7) მიწასთან. ჩვენ გვსურს, რომ საბოლოოდ შევძლოთ eeprom– ზე წერა … და არ ინერვიულოთ, კოდში არის SAFEMODE ფუნქცია, რომელიც ჩვენ შეგვიძლია გამოვიყენოთ Write Protect ფუნქციის იმიტირებისთვის.

ახლა ჩვენ დავუკავშირდებით SD მოდულს…

ნაბიჯი 2: SD მოდული

SD მოდული
SD მოდული

თქვენი SD მოდული შეიძლება ოდნავ განსხვავდებოდეს იმისგან, რასაც მე ვიყენებდი, მაგრამ ისინი ყველა ძირითადად ერთნაირია. (თქვენ შეგიძლიათ გამოიყენოთ მიკრო SD ბარათის ადაპტერი თავისთავად … მაგრამ ეს არის მომავალი პროექტი)

SD მოდულის ქინძისთავებს მარცხნიდან მარჯვნივ ესენია:

CS- ჩიპი აირჩიეთ SCK- სერიული საათი MOSI- Master Out/ Slave InMISO- Master In/ Slave OutVCC- +5vGROUND3.3 (არ გამოიყენება)

დააკავშირეთ CS UNO პინ 8 -თან SCK დაუკავშირეთ UNO pin 13 დააკავშირეთ MOSI UNO pin 11 დააკავშირეთ MISO UNO pin 12

ნაბიჯი 3: შეაერთეთ სპიკერი

სპიკერი ან პიეზოს ზარი სრულიად არჩევითია.

შეაერთეთ სპიკერი მიწასთან და გაეროს პინ 7.

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

ნაბიჯი 4: შეაერთეთ UNO Power და ატვირთეთ კოდი

შეაერთეთ UNO Power და ატვირთეთ კოდი
შეაერთეთ UNO Power და ატვირთეთ კოდი
შეაერთეთ UNO Power და ატვირთეთ კოდი
შეაერთეთ UNO Power და ატვირთეთ კოდი

შეაერთეთ მიწა და +5v UNO– დან თქვენი breadboard დენის რელსებზე.

არ დაივიწყოთ თქვენი მთავარი და ქვედა ძალაუფლებისა და საფუძვლიანი რელსების ერთმანეთთან დაკავშირება!

ახლა უბრალოდ შეაერთეთ თქვენი UNO თქვენს კომპიუტერში და ატვირთეთ კოდი!

I²C EEPROM BYTEBANGER კოდი საკმაოდ ვრცელია და მე ვაკეთებ ვიდეო სამეურვეო სერიას ყველა მახასიათებლის შესახებ, მაგრამ ის ასევე საკმაოდ კარგად არის ანოტირებული კომენტარებით.

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

დაიჭირე-ია-მოგვიანებით-ნახვამდის!

MITZ

გირჩევთ: