Obsah:
- Krok 1: Připojení k síťové sběrnici I2C
- Krok 2: Přidejte vytahovací rezistory
- Krok 3: Naprogramujte Slave
- Krok 4: Naprogramujte Master
Video: Spojení dvou karet OOB dohromady pomocí I2C: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
Tento návod popisuje, jak propojit dvě OOBardy pomocí I2C.
Krok 1: Připojení k síťové sběrnici I2C
Na OOBoards jsou dvě sběrnice I2C, místní sběrnice a síťová sběrnice.
OOPIC kód je v zásadě interpretovaný jazyk, tj. „Kód“je uložen v EEPROM a mikroprocesorem jej čte/interpretuje v reálném čase. EEPROM používá ke komunikaci s mikrokontrolérem sběrnici LOCAL I2C. Pokud byste se na tento místní autobus podívali na osciloskopu, viděli byste neustálé klábosení. Na deskách OOBoards je místní sběrnice připojena ke konektoru I2C, to není nutně to, co chceme. Síťová sběrnice je obvykle sběrnice, která slouží ke komunikaci s jinými zařízeními/oopics, na OOBoards tato sběrnice nemá konektor. Abyste se dostali na tuto sběrnici, musíte pájet vodiče na piny 42 a 37 mikrokontroléru (na schématu označené N_SDA, N_SCL).
Krok 2: Přidejte vytahovací rezistory
Jakmile jsou na každém procesoru vytvořena připojení SDA a SCL, mohou dvě desky
propojit propojením SDA na SDA, SCL na SCL a propojením společného zemnicího vodiče mezi deskami. Budete také potřebovat pull-up odpor na každém řádku (použil jsem 12k, ale to je přesně to, co jsem ležel kolem). Všimněte si toho, že na celkem dva odpory (ne 4) potřebujete pouze jeden pullup rezistor na řádek.
Krok 3: Naprogramujte Slave
Nyní, když jsou k dispozici fyzická připojení, budete muset naprogramovat podřízený mikrokontrolér. Níže jsem přidal nějaký kód, který by vám měl začít.
Dim SLAVE As New oDDELinkDim LED as New oDIO1Sub Main () & aposset our I2C address to 2 (note, this must match the remote & aposaddress we set in the master code) ooPIC. Node = 2 & apossetup an LED LED. IOLine = 5 LED. Direction = cvOutput & aposnow, propojte výstup našeho objektu DDELink s & aposthe LED a zapněte … nyní automaticky, LED bude blikat SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
Krok 4: Naprogramujte Master
Nakonec naprogramujte hlavní mikrokontrolér. Věnujte velkou pozornost řádkům, které nastavují vlastnost DDELink. Location: Pokud to není správně nastaveno, NEBUDE to fungovat!
Dim Master jako nový oDDELinkDim drát jako nový oWireDim hz1 jako nový oBitSub Main () & aposlink 1sekundový časovač na bit, ke kterému máme přístup & aposthis bit se nyní bude přepínat drát za sekundu Input. Link (ooPIC. Hz1). Link (hz1) wire. Operate = cvTrue & aposthis nastavuje adresu I2C našeho místního mikrokontroléru & aposthe rozhraní I2C není aktivní, dokud není nastavena adresa ooPIC. Node = 1 & aposnow nastavíme náš objekt DDELink, náš vstup je bit hz1 & aposnote že objekt má také vlastnost. Output, která se používá & když jsme v režimu přijímání Master. Input. Link (hz1) & aposthis je adresa I2C vzdáleného mikrokontroléru, všimněte si, že & aposin slave code, we tell it to have an address of 2 Master. Node = 2 & aposugh… toto je mizerná část, toto je „adresa“DDELink & aposobject v paměťovém prostoru slave & aposs. Abychom zjistili toto číslo, & aposwe musíme otevřít a zkompilovat podřízený kód, poté přejít na View-> Compiled Code. & aposlook něco jako: & aposL *. Construct. Begin; Dim as new oDDELink & aposwhere * je libovolné číslo a je to název vašeho objektu DDELink & aposin your slave code. Řádek bezprostředně pod ním by měl znít takto: & aposC0020: 041; This.. Address & aposthe number to the right of the & apos: & apos is the address of the slave DDELink object Master. Location = 41 & aposthis says the object that we will be sending data (tj. zkopírujte data z naší vlastnosti. Input & aposto the slave.output (všimněte si, pokud toto nastavíte na příjem, je to naopak) Master. Direction = cvSend & aposturn it on, but nothing happening yet… Master. Operate = cvTrue Proveďte & aposcheckujte, zda aktuálně přenášíme data If Master. Transmitting = cvFalse Potom & aposetting této hodnoty na 1 způsobí, že master pošle hodnotu slave & aposnote, toto se automaticky resetuje na 0 po dokončení přenosu Master. Sync = 1 End If LoopEnd Sub
Doporučuje:
Monitorování dvou garážových vrat: 4 kroky
Monitorování dvou garážových vrat: V roce 2016 jsme se přestěhovali do nového domu, kde jsou garážová vrata umístěna tak, že je nevidíte z hlavního vchodu do domu. Nemůžete si tedy být jisti, zda jsou dveře zavřené nebo otevřené. Pouze pro monitorování, bývalí majitelé nainstalovali tiskový přepínač
Vytvořte pár Darlington pomocí dvou Npn BJT: 9 kroků
Vytvořte pár Darlington pomocí dvou Npn BJT: Tento návod bude o Darlington Pair a jeho aplikacích. Budu procházet podrobně, pokud jde o konstrukci založenou na typu NPN i PNP (již brzy! - zůstaňte naladěni). Začněme tedy
RF sériové datové spojení {přes USB}: 3 kroky
RF sériové datové spojení {přes USB}: TECGRAF DOC Jak přenášet data pomocí levného RF modulu přes USB. Obvod přijímá energii z USB portu (může poskytovat 100mA a s některými programováním můžete dosáhnout 500mA) Seznam materiálů: 1 - Jeden pár RF modulu (jako Laipac RLP/TL
Spojení s vnitřním čipem: 7 kroků
Spojení s vnitřním čipem: Pokud to čtete na webových stránkách s pokyny, téměř jistě k tomu používáte počítač. A jak většina z vás ví, počítače používají mikročipy ke zpracování všech informací, se kterými pracují, a ukládají je. Možná jste dokonce viděli IC čipy
Ovládání RC servomotoru pomocí Arduina a dvou momentálních spínačů: 4 kroky
Ovládání RC servomotoru pomocí Arduina a dvou momentálních spínačů: Název mluví za vše. Ovládání servomotoru RC auta pomocí Arduina a některých odporů, propojovacích vodičů a dvou hmatových spínačů. Udělal jsem to druhý den, kdy jsem dostal Arduino, takže jsem na sebe docela hrdý