Სარჩევი:

მსოფლიოს ყველაზე იაფი I2C (I-Squared-C) ადაპტერი: 5 ნაბიჯი (სურათებით)
მსოფლიოს ყველაზე იაფი I2C (I-Squared-C) ადაპტერი: 5 ნაბიჯი (სურათებით)

ვიდეო: მსოფლიოს ყველაზე იაფი I2C (I-Squared-C) ადაპტერი: 5 ნაბიჯი (სურათებით)

ვიდეო: მსოფლიოს ყველაზე იაფი I2C (I-Squared-C) ადაპტერი: 5 ნაბიჯი (სურათებით)
ვიდეო: Melexis MLX90614 ინფრაწითელი თერმომეტრის გამოყენებით Arduino 2024, ივლისი
Anonim
მსოფლიოში ყველაზე იაფი I2C (I-Squared-C) ადაპტერი
მსოფლიოში ყველაზე იაფი I2C (I-Squared-C) ადაპტერი

გააკეთეთ სენსორული ინტერფეისი თქვენი კომპიუტერისთვის! განახლება 6/9/08: რამდენიმე გზების შესწავლის შემდეგ მე დავასკვენი, რომ Microsoft Windows– ში ამ ტექნიკის დანერგვის პრაქტიკული მეთოდი არ არსებობს. ეს არ არის წვრილმანი OS bashing, მე ნამდვილად busted თხილის ცდილობს! Ბოდიში! Windows მომხმარებლებს, რომლებსაც სჭირდებათ I2C შესაძლებლობები, საუკეთესოდ ემსახურება USB- ზე დაფუძნებულ გადაწყვეტილებებს. განახლება 5/24/08: დაემატა Linux მხარდაჭერა, ასევე ნიმუში კოდი Nintendo Wii Nunchuk კონტროლერისთვის და BlinkM "ჭკვიანი LED". იხილეთ README.txt ფაილი, რომელიც შეიცავს წყაროს კოდს Linux– ზე შედგენისა და დაყენების მიმართულებებისათვის. I2C (შემოკლებით ინტეგრირებული წრე) არის ორი მავთულის სერიული ავტობუსი, რომელიც ჩვეულებრივ გამოიყენება კომპიუტერებში შიდა კომპონენტებს შორის დაბალი დონის კომუნიკაციისათვის. I2C ასევე პოპულარულია რობოტიკაში. ყველა სახის სენსორი და აქტივატორი ხელმისაწვდომია I2C- თან თავსებადი ფორმით: ულტრაბგერითი დიაპაზონი, აჩქარების, დახრის, ტემპერატურისა და წნევის სენსორები, სერვო კონტროლერები და ავტობუსის გამაძლიერებლები, რომლებიც უზრუნველყოფენ დამატებით ზოგად დანიშნულების (GPIO) ხაზებს. ყველაზე თანამედროვე მიკროკონტროლერები (ატმელი, Microchip PIC და ა.შ.) აქვს I2C– ის მხარდაჭერა. მაგრამ მიკროკონტროლერებზე დამუშავების ძალა შეზღუდულია და პროგრამული უზრუნველყოფის შემუშავება - სპეციალიზებული ჯვარედინი შემდგენლებითა და პროგრამირების გარემოთი - ზოგჯერ შეიძლება იყოს სამუშაო. როდესაც ლეპტოპები და ერთჯერადი კომპიუტერები სულ უფრო პატარა და ხელმისაწვდომი ხდება, სულ უფრო ხშირად გვხვდება ეს სისტემები, რომლებიც გამოიყენება უშუალოდ რობოტიკისა და ელექტრონიკის პროექტებში. ეს იძლევა საკმარის ძალას ახალი შესაძლებლობებისთვის, როგორიცაა ხედვის დამუშავება და უფრო დახვეწილი AI და მნიშვნელოვნად აფართოებს განვითარების ინსტრუმენტების და ენების სფეროს … სამომხმარებლო დონის პორტები, როგორიცაა USB; არ არსებობს გარედან ხელმისაწვდომი "I2C პორტი", რომლითაც ჩვენ შეგვიძლია უბრალოდ შევეხოთ ჩვენი სენსორების გამოსაყენებლად … ან არის იქ?

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

არსებული პარამეტრები
არსებული პარამეტრები
არსებული პარამეტრები
არსებული პარამეტრები

I2C მოწყობილობების ჩვეულებრივი დესკტოპის ან ლეპტოპის კომპიუტერთან დაკავშირების ერთ-ერთი გზაა USB-to-I2C ადაპტერი. არსებობს სულ მცირე ათეული ასეთი ვარიანტი, დაწყებული საკუთარი ხელით ნაკრებით ღია კოდის პროგრამული უზრუნველყოფით, დახვეწილი კომერციული ერთეულებით ყველა ზარისა და სასტვენის საშუალებით.

USB-to-I2C მიდგომის ერთი მინუსი არის ღირებულება. სრულფასოვანი კომერციული მოდელი შეიძლება დაჯდეს $ 250 ან მეტი. საშინაო მოხმარების ალტერნატივებიც კი ითვალისწინებს ნაწილების შეგროვებას და წინასწარი ინვესტიციას მიკროკონტროლერის პროგრამისტში და მის გამოყენებასთან დაკავშირებულ ცოდნას. კიდევ ერთი მინუსი არის მძღოლების მხარდაჭერის შედარებით სიმცირე პოპულარული Windows– ის გარეთ. ამ მოწყობილობებიდან რამდენიმე მუშაობს მშობლიურ ენაზე Macintosh ან Linux კომპიუტერებზე.

ნაბიჯი 2: DDC არის I2C

DDC არის I2C
DDC არის I2C
DDC არის I2C
DDC არის I2C
DDC არის I2C
DDC არის I2C

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

თანამედროვე გრაფიკული ბარათებისა და მონიტორების უმეტესობას აქვს მხარდაჭერა რაიმე სახელწოდებით Display Data Channel (DDC), საკომუნიკაციო ბმული ვიდეო კაბელში, რომელიც კომპიუტერს და ეკრანს საშუალებას აძლევს მოლაპარაკება განახორციელოს ერთმანეთთან თავსებადი რეზოლუციებით და დაუშვას მონიტორის ფუნქციების პროგრამული უზრუნველყოფის კონტროლი, რომლებიც ჩვეულებრივ წვდება ფიზიკურ ღილაკებს. ჩვენება. DDC, ფაქტობრივად, უბრალოდ I2C ავტობუსის განხორციელებაა რამდენიმე დადგენილი წესით. კომპიუტერსა და მონიტორს შორის ამ კავშირზე დაჭერით (ან DDC ხაზების გამოყენებით სათადარიგო გამოუყენებელ ვიდეო პორტზე, როგორიცაა გარე მონიტორის კავშირი ლეპტოპზე), შეგიძლიათ დაუკავშირდეთ ზოგიერთ I2C მოწყობილობას პრაქტიკულად ხარჯების გარეშე, გვერდის ავლით ჩვეულებრივი საჭიროება მთლიანად ადაპტერის მოწყობილობაზე. ყველაფერი რაც ჩვენ გვჭირდება ფიზიკურად ამ I2C ავტობუსისთვის არის გატეხილი ვიდეო კაბელი…

ნაბიჯი 3: კაბელის გაყოფა

კაბელის გაკვეთა
კაბელის გაკვეთა
კაბელის გაკვეთა
კაბელის გაკვეთა

ოთხი მავთული საჭიროა ჩვენი I2C ინტერფეისისთვის: +5V სიმძლავრე, მიწა, სერიული მონაცემები და სერიული საათი. სხვადასხვა სახის ვიდეო პორტების Pinouts შეგიძლიათ იხილოთ Wikipedia– ზე ან Pinouts.ru– ზე. დაიმახსოვრეთ, თუ იყენებთ VGA კაბელს, რომ იპოვოთ ის ქინძისთავების სრული კომპლექტით; ზოგიერთი მოიცავს მხოლოდ ქვეჯგუფს. საკაბელო გარედან იზოლაციის მოშორება და დაცვა, თქვენ სავარაუდოდ იპოვით მავთულის ორ ჯგუფს შიგნით. სქელი მავთულები, ან მავთულის ჩალიჩები გახვეული დამატებით დამცავებში, ჩვეულებრივ ატარებენ ვიდეო სიგნალს. ჩვენ ეს არ გვაინტერესებს და მათი შემცირება შესაძლებელია. თხელი, დაუცველი მავთულები ჩვეულებრივ ატარებენ DDC (I2C) სიგნალებს სხვათა შორის. მულტიმეტრი ან უწყვეტობის შემმოწმებელი დაგეხმარებათ თქვენი კაბელის სწორი ოთხი მავთულის პოვნაში. შიშველი კონექტორის გამოყენება აქ შეიძლება იყოს მომგებიანი, რადგან თქვენ უბრალოდ უნდა შეაერთოთ ოთხი მავთული ინტერესის ქინძისთავებზე. შენიშვნა +5V სიმძლავრის შესახებ: არსებული დენი ძალიან შეზღუდულია; დაახლოებით 50 mA DDC სპეციფიკაციის მიხედვით. I2C მოწყობილობების უმეტესობა მხოლოდ მცირე რაოდენობის დენს სვამს, ასე რომ შესაძლებელი უნდა იყოს ერთდროულად რამოდენიმე … მაგრამ თუ ერთ ან ორ LED- ზე მეტს (ან სხვა შედარებით მაღალ დენის მოწყობილობას) იყენებთ, გარე ენერგია უნდა იყოს უზრუნველყოფილი.

ნაბიჯი 4: დასრულებული ადაპტერი

დასრულებული ადაპტერი
დასრულებული ადაპტერი

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

ნაბიჯი 5: პროგრამული უზრუნველყოფა და პროექტები

პროგრამული უზრუნველყოფა და პროექტები
პროგრამული უზრუნველყოფა და პროექტები
პროგრამული უზრუნველყოფა და პროექტები
პროგრამული უზრუნველყოფა და პროექტები

Mac OS X და Linux ადაპტერთან მუშაობის კოდის გადმოწერა შესაძლებელია ჩემი ვებ გვერდიდან (გადმოსაწერი ბმული არის გვერდის ბოლოში). ის დაწერილია C და თქვენ უნდა გქონდეთ gcc დაინსტალირებული (Linux ჩვეულებრივ შეიცავს ამას ნაგულისხმევად, ხოლო Mac მომხმარებლებს დასჭირდებათ დეველოპერის ინსტრუმენტების დაყენება, რომლებიც არჩევითი ინსტალერია თქვენს თავდაპირველ OS დისკზე, ან გადმოწერილია Apple– ისგან უფასოდ). მაგალითი კოდი შედის ტემპერატურის სენსორის წასაკითხად, მოციმციმე BlinkM "ჭკვიანი LED", სერიული EEPROM წერისა და გადამოწმებისათვის, Nintento Wii Nunchuk კონტროლერის წაკითხვისათვის (მხოლოდ Linux- ისთვის) და servo კონტროლერის დაფასთან კომუნიკაციისათვის. სამწუხაროდ ეს ადაპტერის სქემა არ არის თავსებადია ყველა სისტემასთან. DDC– ის მხარდაჭერა არ არის დავალებული, ამიტომ ყველა ვიდეო ბარათი არ უჭერს მხარს ამ შესაძლებლობას. მე ჯერჯერობით წარმატებული ვარ Mac სისტემებში, რომლებსაც აქვთ ATI ან Intel გრაფიკული ჩიპები, მაგრამ NVIDIA– ზე დაფუძნებულ სისტემებს არ გაუმართლა. Linux– ის მხრივ მე მხოლოდ წარმატებით გამოვცადე IBM ThinkPad A31p (ATI გრაფიკა), მაგრამ ის არ იმუშავებს Asus EeePC– სთან (Intel). აქ სურათები აჩვენებს საცდელ აპარატს, რომელიც აჩვენებს სხვადასხვა I2C მოწყობილობებს მოქმედებაში. კომპიუტერი მუდმივად კითხულობს გარემოს ტემპერატურას I2C ტემპერატურის სენსორიდან, პერიოდულად აფიქსირებს ამ მონაცემებს I2C სერიულ EEPROM ჩიპზე (დიახ, მას შეეძლო უბრალოდ დაბეჭდვა ფაილში, მაგრამ ეს იყო შემდგომი I2C პროგრამების დემონსტრირება), შემდეგ კი სერვო (მეშვეობით I2C კონტროლერი) ემსახურება როგორც დროებითი ინდიკატორის ციფერბლატს. ამ მოწყობილობების ბიბლიოთეკითა და კოდის ნიმუშით, მხოლოდ რამდენიმე წუთი დასჭირდა ამ დემონის შედგენას (და უმეტესობა იყო ინდიკატორის აკრიფის გაკეთება).

გირჩევთ: