İçindekiler:
- Adım 1: I2C Ağ Veri Yoluna Bağlanma
- Adım 2: Pullup Dirençlerini Ekleyin
- Adım 3: Köleyi Programlayın
- Adım 4: Master'ı Programlayın
Video: I2C Kullanarak İki OOBoard'u Birbirine Bağlama: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Bu talimat, I2C kullanarak iki OOBoard'un nasıl bağlanacağını kapsar.
Adım 1: I2C Ağ Veri Yoluna Bağlanma
OOBoard'larda iki I2C veri yolu, bir yerel veri yolu ve bir ağ veri yolu vardır.
OOPIC kodu esasen yorumlanmış bir dildir, yani "kod" EEPROM'da saklanır ve mikroişlemci tarafından gerçek zamanlı olarak okunur/yorumlanır. EEPROM, mikrodenetleyici ile iletişim kurmak için YEREL I2C veri yolunu kullanır. Osiloskopta bu yerel veriyoluna bakacak olsaydınız, sürekli gevezelik görürdünüz. OOBoards kartlarında, I2C konektörüne bağlı olan yerel veriyoludur, bu bizim istediğimiz şey değildir. AĞ veriyolu genellikle diğer cihazlar/oopics ile iletişim kurmak için kullanılan veriyoludur, OOBoard'larda bu veri yolunun bir konektörü yoktur. Bu veri yoluna erişmek için, kabloları mikrodenetleyicinin 42 ve 37 numaralı pinlerine lehimlemelisiniz (şematikte sırasıyla N_SDA, N_SCL olarak işaretlenmiştir).
Adım 2: Pullup Dirençlerini Ekleyin
Her işlemcide SDA ve SCL bağlantıları yapıldıktan sonra, iki kart
SDA'yı SDA'ya, SCL'yi SCL'ye bağlayarak ve kartlar arasında ortak bir topraklama kablosu bağlayarak birbirine bağlanabilir. Ayrıca her hatta bir pull-up direncine ihtiyacınız olacak (12k kullandım, ama bu sadece etrafta yattığım şeydi). Toplam iki direnç (4 değil) için hat başına yalnızca bir çekme direncine ihtiyacınız olduğunu unutmayın.
Adım 3: Köleyi Programlayın
Artık fiziksel bağlantılar orada olduğuna göre, bağımlı mikro denetleyiciyi programlamanız gerekecek. Başlamanız için aşağıya bazı kodlar ekledim.
SLAVE Yeni ODDELinkDim LED Yeni Olarak oDIO1Sub Main() &imzalı I2C adresimiz (bunun ana kodda belirlediğimiz uzak &aposaddress ile eşleşmesi gerekir) ooPIC. Node = 2 &bir LED LED'i ayarlayın. IOLine = 5 LED. Yön = cvOutput &aposnow, DDELink nesnemizin çıkışını &aposthe LED'e bağlayın ve açın…şimdi otomatik olarak LED yanıp sönecektir SLAVE. Output. Link(LED) SLAVE. Operate = cvTrueEnd Sub
Adım 4: Master'ı Programlayın
Son olarak, ana mikrodenetleyiciyi programlayın. DDELink'in. Location özelliğini ayarlayan satırlara çok dikkat edin: Bu doğru ayarlanmadıkça, bu çalışmayacaktır!
Dim Master Yeni Olarak oDDELinkDim kablosu Yeni Olarak oWireDim hz1 Yeni Olarak oBitSub Main() &aposlink 1 saniyelik zamanlayıcıyı erişebildiğimiz bit'e &aposbu bit şimdi her saniyede bir kablo arasında geçiş yapacaktır. Input. Link(ooPIC. Hz1) kablosu. Output. Link(hz1) tel. Operate = cvTrue &aposbu, yerel mikrodenetleyicimizin I2C adresini ayarlar &aposthe I2C arayüzü, bir adres ayarlanana kadar aktif değildir ooPIC. Node = 1 &aposnow DDELink nesnemizi kurduk, girdimiz hz1 bitidir &aposnotun nesne ayrıca bir. Output özelliğine sahiptir ve &apos alma modundayken kullanılır Master. Input. Link(hz1) &aposbu, uzak mikrodenetleyicinin I2C adresidir, unutmayın ' bağımlı kodunda, 2 adresine sahip olmasını söylüyoruz Master. Node = 2 &aposugh…bu boktan kısım, bu DDELink &aposobject'in "slave" hafıza alanındaki "adresi". Bu sayıyı bulmak için, bağımlı kodu açıp derlememiz ve ardından Görünüm->Derlenmiş Kod'a gitmemiz gerekiyor. &aposL*. Construct. Begin;Dim as new oDDELink &aposwhere * herhangi bir sayıdır ve DDELink nesnenizin adıdır ve bağımlı kodunuzdur. Hemen altındaki satırda şöyle bir şey okunmalıdır: 'Bu.. Adres '&apos'un sağındaki sayı:', bağımlı DDELink nesnesinin adresidir Master. Location = 41 &aposbu, nesneye göndereceğimizi söyler data (yani,. Input özelliğimizden veri kopyalayın &slaves.output özelliğinden kopyalayın (not, bunu almak için ayarlarsanız, tersi olur) Master. Direction = cvSend &aposturn, ama henüz hiçbir şey olmuyor… Master. Operate = cvTrue Şu anda veri gönderip göndermediğimizi görmek için &aposkontrol edin Eğer Master. Transmitting = cvFalse Daha sonra bu değeri 1'e &aposte etmek, master'ın değeri slave'e göndermesine neden olur &aposnote, bu, aktarım Master. Sync tamamlandıktan sonra otomatik olarak 0'a sıfırlanır. = 1 End If LoopEnd Sub
Önerilen:
Node.js Kullanarak Raspberry Pi'yi Buluta Bağlama: 7 Adım
Node.js Kullanarak Raspberry Pi'yi Buluta Bağlama: Bu eğitim, bir Raspberry Pi'yi buluta, özellikle de Node.js kullanarak AskSensors IoT platformuna bağlamak isteyen herkes için yararlıdır. Raspberry Pi'niz yok mu? Şu anda bir Raspberry Pi'niz yoksa Raspberry Pi almanızı tavsiye ederim
Arduino WiFi'yi ESP8266 Kullanarak Buluta Bağlama: 7 Adım
Arduino WiFi'yi ESP8266 Kullanarak Buluta Bağlama: Bu dersimizde Arduino'nuzu WiFi üzerinden IoT bulutuna nasıl bağlayacağınızı anlatacağız.Arduino ve ESP8266 WiFi modülünden oluşan bir kurulumu IoT Thing olarak yapılandırıp hazır hale getireceğiz. AskSensors cloud.L ile iletişim kurmak için
IoT Temelleri: Mongoose OS Kullanarak IoT'nizi Buluta Bağlama: 5 Adım
IoT Temelleri: Mongoose OS Kullanarak IoT'nizi Buluta Bağlama: Tamircilik ve elektronikle ilgilenen biriyseniz, genellikle IoT olarak kısaltılan Nesnelerin İnterneti terimiyle karşılaşırsınız ve internete bağlanabilen bir dizi cihazı ifade eder! Böyle bir insan olmak
L293D Kullanarak Motoru Arduino'ya Bağlama: 3 Adım
L293D Kullanarak Motoru Arduino'ya Bağlama: Bir motor, robotiğin temel yapı taşıdır ve Arduino öğreniyorsanız, ona bir motor bağlamayı öğrenmek çok önemlidir. Bugün bunu L293D ic kullanarak yapacağız. Bir L293D motor sürücüsü IC'si gerçekten önemlidir. Aksi takdirde, olacak
UCL - Node-red'i KEPserver Kullanarak Siemens PLC'ye Bağlama: 7 Adım
UCL - KEPserver Kullanarak Node-red'i Siemens PLC'ye Bağlama: RequirementsNode-red: https://nodered.org/docs/getting-started/installationKEPserver: https://www.kepware.com/en-us/kepserverex-6 -6-serbest bırakma