สารบัญ:
- ขั้นตอนที่ 1: การเชื่อมต่อกับบัสเครือข่าย I2C
- ขั้นตอนที่ 2: เพิ่มตัวต้านทานแบบดึงขึ้น
- ขั้นตอนที่ 3: ตั้งโปรแกรม Slave
- ขั้นตอนที่ 4: โปรแกรม Master
วีดีโอ: เชื่อมต่อ OOBoards สองตัวเข้าด้วยกันโดยใช้ I2C: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:08
คำแนะนำนี้ครอบคลุมถึงวิธีเชื่อมต่อ OOBoard สองตัวโดยใช้ I2C
ขั้นตอนที่ 1: การเชื่อมต่อกับบัสเครือข่าย I2C
มีบัส I2C สองบัสบน OOBoards บัสท้องถิ่น และบัสเครือข่าย
รหัส 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 เป็นใหม่ oDDELinkDim LED เป็นใหม่ oDIO1Sub Main() &กำหนดที่อยู่ I2C ของเราเป็น 2 (โปรดทราบว่าสิ่งนี้ต้องตรงกับรีโมตและที่อยู่ที่เราตั้งไว้ในมาสเตอร์โค้ด) ooPIC. Node = 2 &apossetup LED LED. IOLine = 5 LED. Direction = cvOutput &aposnow เชื่อมโยงเอาต์พุตของอ็อบเจ็กต์ DDELink ของเรากับ &หลัง LED และเปิดมัน…ตอนนี้โดยอัตโนมัติ LED จะกะพริบ SLAVE. Output. Link(LED) SLAVE. Operate = cvTrueEnd Sub
ขั้นตอนที่ 4: โปรแกรม Master
สุดท้าย ตั้งโปรแกรมไมโครคอนโทรลเลอร์หลัก ให้ความสนใจกับบรรทัดที่กำหนดคุณสมบัติ. Location ของ DDELink: เว้นแต่จะตั้งค่าไว้อย่างถูกต้อง สิ่งนี้จะไม่ทำงาน!
Dim Master ใหม่ oDDELinkDim wire เหมือนใหม่ oWireDim hz1 ใหม่ oBitSub Main() &aposlink ตัวจับเวลา 1 วินาทีเป็นบิตที่เราสามารถเข้าถึงได้ &aposthis บิตตอนนี้จะสลับหนึ่งครั้งต่อวินาที wire. Input. Link (ooPIC. Hz1) wire. Output ลิงก์ (hz1) wire. Operate = cvTrue &aposthis ตั้งค่าที่อยู่ I2C ของไมโครคอนโทรลเลอร์ในพื้นที่ของเรา & หลังจากอินเทอร์เฟซ I2C ไม่ทำงานจนกว่าจะตั้งค่าที่อยู่เป็น ooPIC. Node = 1 และตอนนี้เราตั้งค่าวัตถุ DDELink อินพุตของเราคือบิต hz1 & aposnote ที่ วัตถุยังมีคุณสมบัติ. Output ที่ใช้ &aposเมื่อเราอยู่ในโหมดรับ Master. Input. Link(hz1) &aposthis คือที่อยู่ I2C ของไมโครคอนโทรลเลอร์ระยะไกล โปรดทราบว่า &aposin รหัสทาส เราบอกให้มันมีที่อยู่เป็น 2 Master. Node = 2 &aposugh…นี่คือส่วนเส็งเคร็ง นี่คือ "ที่อยู่" ของ DDELink &aposobject ในพื้นที่หน่วยความจำของทาส&aposs เพื่อที่จะหาตัวเลขนี้ &apos เราจำเป็นต้องเปิดและคอมไพล์โค้ดสเลฟ จากนั้นไปที่ View->Compiled Code &aposมองหาบางอย่างเช่น: &aposL*. Construct. Begin;Dim as new oDDELink &aposwhere * เป็นตัวเลขใดๆ และเป็นชื่อของวัตถุ DDELink ของคุณ &aposin รหัสทาสของคุณ บรรทัดด้านล่างควรอ่านดังนี้: &aposC0020:041;This.. Address &aposthe number to the right of the &apos:&apos คือที่อยู่ของวัตถุ DDELink Master. Location = 41 &aposthis บอกวัตถุที่เราจะส่ง ข้อมูล (เช่น คัดลอกข้อมูลจากคุณสมบัติ. Input ของเรา &หลังคุณสมบัติทาส.output (โปรดทราบว่า หากคุณตั้งค่านี้เพื่อรับ มันจะเป็นตรงกันข้าม) Master. Direction = cvSend &เปิดใหม่ แต่ยังไม่มีอะไรเกิดขึ้น… Master. Operate = cvTrue ทำ &aposcheck เพื่อดูว่าเรากำลังส่งข้อมูลอยู่หรือไม่ ถ้า Master. Transmitting = cvFalse จากนั้น &การส่งต่อค่านี้เป็น 1 จะทำให้มาสเตอร์ส่งค่าไปยังทาส &aposnote สิ่งนี้จะถูกรีเซ็ตโดยอัตโนมัติเป็น 0 เมื่อเสร็จสิ้นการส่ง Master. Sync = 1 สิ้นสุดถ้า LoopEnd Sub
แนะนำ:
เชื่อมต่อ Magicbit ของคุณกับ Thingsboard: 3 ขั้นตอน
เชื่อมต่อ Magicbit ของคุณกับ Thingsboard: ในโครงการนี้ เราจะส่งข้อมูลจากเซ็นเซอร์ที่เชื่อมต่อกับ magicbit ซึ่งเราสามารถแสดงเป็นภาพบนกระดาน
เชื่อมต่อ Arduino Uno กับ ESP8266: 9 ขั้นตอน
เชื่อมต่อ Arduino Uno กับ ESP8266: ยินดีต้อนรับ! คุณกำลังจะอ่านคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการเชื่อมต่อ Arduino Uno ของคุณกับอินเทอร์เน็ตด้วย ESP8266 (ESP-01) ได้สำเร็จ นอกจากนี้ยังเป็นคำสั่งสอนครั้งแรกของฉันด้วยดังนั้นโปรดบอกฉันด้วย! ให้ฉันเริ่มต้นด้วยการบอกว่า ESP8266 คือ
เริ่มต้นใช้งานอินเทอร์เฟซเซ็นเซอร์ I2C ?? - เชื่อมต่อ MMA8451 ของคุณโดยใช้ ESP32s: 8 ขั้นตอน
เริ่มต้นใช้งานอินเทอร์เฟซเซ็นเซอร์ I2C ?? - เชื่อมต่อ MMA8451 ของคุณโดยใช้ ESP32s: ในบทช่วยสอนนี้ คุณจะได้เรียนรู้เกี่ยวกับวิธีเริ่มต้น เชื่อมต่อ และรับอุปกรณ์ I2C (มาตรความเร่ง) ที่ทำงานร่วมกับคอนโทรลเลอร์ (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
เชื่อมต่อ RevPi Core ของคุณ + RevPi DIO กับ Ubidots: 8 ขั้นตอน
เชื่อมต่อ RevPi Core + RevPi DIO ของคุณกับ Ubidots: Revolution Pi เป็นพีซีอุตสาหกรรมแบบเปิด แบบแยกส่วน และทนทาน โดยใช้ Raspberry Pi ที่เป็นที่ยอมรับ โดยเป็นไปตามมาตรฐาน EN61131-2 เมื่อติดตั้ง Raspberry Pi Compute Module แล้ว ฐาน RevPi Core สามารถขยายได้อย่างลงตัวโดยใช้
เชื่อมต่อ Sensirion, SPS-30, เซ็นเซอร์อนุภาคกับ Arduino Duemilanove โดยใช้โหมด I2C: 5 ขั้นตอน
การเชื่อมต่อ Sensirion, SPS-30, เซ็นเซอร์อนุภาคกับ Arduino Duemilanove โดยใช้โหมด I2C: เมื่อฉันกำลังดูการเชื่อมต่อเซ็นเซอร์ SPS30 ฉันรู้ว่าแหล่งที่มาส่วนใหญ่มีไว้สำหรับ Raspberry Pi แต่มีไม่มากสำหรับ Arduino ฉันใช้เวลาเล็กน้อยเพื่อทำให้เซ็นเซอร์ทำงานกับ Arduino และตัดสินใจโพสต์ประสบการณ์ของฉันที่นี่เพื่อที่มันจะ