Съдържание:
- Стъпка 1: Свързване към I2C мрежова шина
- Стъпка 2: Добавете издърпващите резистори
- Стъпка 3: Програмирайте Slave
- Стъпка 4: Програмирайте Master
Видео: Свързване на две OOBoards заедно чрез I2C: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:55
Тази инструкция обхваща как да свържете две OOBoards, използвайки I2C.
Стъпка 1: Свързване към I2C мрежова шина
На OOBoards има два I2C автобуса, локална шина и мрежова шина.
OOPIC кодът по същество е интерпретиран език, т.е. "кодът" се съхранява в EEPROM и се чете/интерпретира от микропроцесора в реално време. EEPROM използва LOCAL I2C шина за комуникация с микроконтролера. Ако погледнете този местен автобус на осцилоскопа, ще видите постоянно бърборене. На дъските OOBoards локалната шина е това, което е свързано към I2C конектора, това не е непременно това, което искаме. Шината NETWORK обикновено е шината, която се използва за комуникация с други устройства/oopics, на OOBoards тази шина няма конектор. За да получите достъп до тази шина, трябва да запоите проводници към пинове 42 и 37 на микроконтролера (маркирани съответно N_SDA, N_SCL на схемата).
Стъпка 2: Добавете издърпващите резистори
След като SDA и SCL връзки са направени на всеки процесор, двете платки могат
да бъдат свързани заедно чрез свързване на SDA към SDA, SCL към SCL и свързване на общ заземен проводник между дъските. Ще ви трябва и издърпващ резистор на всяка линия (използвах 12k, но точно това имах наоколо). Имайте предвид, че имате нужда само от един издърпващ резистор на линия за общо два резистора (не 4).
Стъпка 3: Програмирайте Slave
Сега, когато физическите връзки са налице, ще трябва да програмирате подчинения микроконтролер. Добавих по -долу код, който трябва да ви помогне да започнете.
Dim SLAVE As New oDDELinkDim LED As New oDIO1Sub Main () & постави нашия I2C адрес на 2 (имайте предвид, че това трябва да съвпада с дистанционния & aposaddress, който сме задали в главния код) ooPIC. Node = 2 & apossetup a LED LED. IOLine = 5 LED. Direction = cvOutput & aposnow, свържете изхода на нашия обект DDELink към & aposthe LED и го включете … сега автоматично LED ще мига SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
Стъпка 4: Програмирайте Master
И накрая, програмирайте главния микроконтролер. Обърнете специално внимание на редовете, които задават свойството. Location на DDELink: Освен ако това не е настроено правилно, това НЕ работи!
Dim Master As New oDDELinkDim проводник като нов oWireDim hz1 As New oBitSub Main () & aposlink 1 секунден таймер към бита, до който можем да получим достъп & aposthis бита ще превключва веднъж в секунда проводник. Link (hz1) wire. Operate = cvTrue & aposthis задава I2C адреса на локалния ни микроконтролер & aposthe I2C интерфейсът не е активен, докато не бъде зададен адрес ooPIC. Node = 1 & aposnow ние настройваме нашия обект DDELink, нашият вход е битът hz1 & aposnote, че обектът също има свойство. Output, което се използва & apos, когато сме в режим получаване Master. Input. Link (hz1) & aposthis е I2C адресът на отдалечения микроконтролер, имайте предвид, че & aposin подчинения код, ние му казваме да има адрес от 2 Master. Node = 2 & aposugh … това е глупавата част, това е "адресът" на DDELink & aposobject в паметта на slave & aposs. За да разберете този номер, & aposwe трябва да отворите и компилирате подчинения код, след това да отидете на View-> Compiled Code. & aposlook за нещо като: & aposL *. Construct. Begin; Dim as new oDDELink & aposwhere * е произволно число и е името на вашия обект DDELink & aposin вашия подчинен код. Редът непосредствено под него трябва да чете нещо като: & aposC0020: 041; Това..адрес & апостолен номер вдясно от & apos: & apos е адресът на подчинения обект DDELink Master. Location = 41 & aposthis казва на обекта, който ще изпращаме данни (т.е. копиране на данни от нашето. Input свойство и апосто на подчинените.output свойство (забележете, ако сте настроили това да получава, това е обратното) Master. Direction = cvSend & aposturn it on, but nothing is still yet… Master. Operate = cvTrue Направете & aposcheck, за да видите дали в момента предаваме данни. = 1 Край Ако LoopEnd Sub
Препоръчано:
Контролиране на Led чрез приложението Blynk чрез Nodemcu през интернет: 5 стъпки
Управление на Led чрез приложението Blynk с помощта на Nodemcu през интернет: Здравейте на всички днес Ще ви покажем как можете да контролирате светодиод с помощта на смартфон по интернет
Ръководство за свързване на PLSD: Свързване към телевизори на Apple чрез AirPlay [неофициално]: 10 стъпки
Ръководство за свързване на PLSD: Свързване към Apple TV чрез AirPlay [Неофициално]: Следното ръководство е предоставено, за да илюстрира процеса на свързване към Apple TV към конферентна зала чрез AirPlay. Този неофициален ресурс е предоставен с любезното съдействие на администрацията, персонала и упълномощените гости на местния училищен район Perkins
Проект за измерване на мощността чрез DIY чрез Arduino Pro Mini: 5 стъпки
Проект за измерване на мощността чрез DIY чрез Arduino Pro Mini: Въведение Здравейте, общност на електрониката! Днес ще ви представя проект, който ви позволява да измервате напрежението и тока на уред и да го показвате заедно със стойностите на мощността и енергията. Измерване на ток/напрежение Ако искате да измервате
Правилно свързване на светодиоди от серия срещу паралелно свързване: 6 стъпки
Правилно свързване на светодиоди от серия срещу паралелна връзка: В тази инструкция говорим за светодиоди - светодиоди и как можем да ги свържем, ако имаме няколко блока. Това е един урок, който бих искал да знам от самото начало, защото когато започнах да се занимавам с електронни схеми, изградих няколко
Говорете заедно с Alexa и Google Assistant заедно в Raspberry Pi: 4 стъпки
Говорете заедно с Alexa и Google Assistant заедно в Raspberry Pi: Стартирайте Amazon Alexa и Google Assistant едновременно в Raspberry Pi. Извикайте някое от имената им, те включват собствените си светодиоди и звънят за отговор. След това задавате някаква молба и те съответно ви отговарят. Можете да знаете техния характер