Mundarija:
Video: Arduino I2C Sniffer: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
I2C - bu mikrokontrollerni bir xil elektronga ulangan tashqi periferiya qurilmalari bilan bog'lash uchun ishlatiladigan ketma -ket protokol. Har bir periferik qurilmaning o'ziga xos identifikatsiya raqami bo'lishi kerak, u ma'lum bir xabarni qabul qiluvchi sifatida aniqlash uchun ishlatiladi. Bu manzillar qurilma ishlab chiqaruvchisi tomonidan belgilanadi va ko'p hollarda ularni o'zgartirib bo'lmaydi. Sniffer ulangan qurilmalarni qidirayotgan barcha mumkin bo'lgan manzillarni ko'zdan kechiradi va topganlari haqida xabar beradi. Bu belgilanmagan chiplarni aniqlashga yordam beradi, chunki chip haqida qo'shimcha ma'lumot olish uchun uning manzilini bilish mumkin.
Bu qurilma Arduino UNO -da Raspberry Pi i2cdetect skriptining xatti -harakatlarini taqlid qiladi, ulangan qurilmalarni qidirayotgan barcha mumkin bo'lgan i2c manzillarini hidlaydi va natijalarini 16x02 LCD displeyda yaxshi chop etadi.
Ekrandagi hamma narsani joylashtirish uchun manzilning yuqori va pastki qismlari natijalar ustida bosilgan, yuqori qismi qalin shriftda. Ikkita tugma bir vaqtning o'zida 16 ta manzilni ko'rsatib, manzillar o'rtasida harakatlanish imkonini beradi. Agar qurilma aniqlansa, uni yozish manzili sifatida ko'rsatish uchun W bosiladi va o'qish manzili bo'lsa, R ko'rsatiladi. Agar bu manzilda hech narsa aniqlanmasa, ekranda defis (-) ko'rsatiladi.
1 -qadam: materiallar
Variant 1
1 x Arduino UNO
1 x 16x02 o'lchamli LCD displey
1x 10K potansiyometr
1x330 ohmli qarshilik
3x tugmachalari
Jumper kabellari
1x I2C darajali o'zgartirgich (materiallar rasmida emas)
2 -variant
1 x Arduino UNO
LCD klaviatura qalqoni (qalqondagi tugmalar ishlatilmaydi)
3x tugmachalari
Jumper kabellari
1x I2C darajali o'zgartirgich (materiallar rasmida emas)
2 -variant - quriladigan variant, chunki hozir menda shunday bo'lgan. Darajani o'zgartirgich sxemaning muhim qismidir, chunki bugungi kunda ko'pchilik qurilmalar 3.3V mantiqdan foydalanadi va Arduino -dan 5V ularga zarar etkazadi.
(Rasmlarda chizilgan material talab qilinmaydi.)
2 -qadam: O'chirish
LCD, Arduino misollari uchun standart pinout, I2C uchun standart pim va tugmachalar uchun 3 zaxira pin yordamida sxemasi juda to'g'ri.
Agar siz LCD klaviatura qalqonidan foydalansangiz, LCD displeyi o'zgaradi, lekin bu kodda allaqachon ko'rib chiqilgan. LCD klaviatura qalqoni tugmalari ishlatilmaydi, chunki ular ikkita mumkin bo'lgan sxemalar (Shield va yakka o'zi LCD) o'rtasidagi moslikni buzadigan analog so'rov usulini talab qiladi.
3 -qadam: kod
Agar LCD klaviatura qalqoni ishlatilsa, eskiz boshida #define LCD_SHIELD izohsiz qoldirilishi kerak. Aks holda, birinchi diagrammadan foydalanish uchun uni izohlang.
4 -qadam: Xulosa
Kod va sxemani sinab ko'rish uchun BQ32000 RTC chipi va MMA8452Q akselerometri ishlatilgan. Rasmlarda ko'rinib turibdiki, qurilma 4 ta manzilni aniqlaydi: 0x3A va 0xD0 yozish manzili sifatida, 0x3B va 0xD1 o'qilgan manzil sifatida. Bu manzillar sinov qurilmalariga mos keladi, shuning uchun kod ishlaydi.
Men qisqa vaqt ichida ushbu loyihani sinab ko'rish uchun kerakli materiallarni olishga yordam bergan Pekin Makerspace -dagi mehribon qizlarga, Fu Yao va Liu Xinga minnatdorchilik bildirmoqchiman.
Tavsiya:
Arduino UNO Logic Sniffer: 8 qadam (rasmlar bilan)
Arduino UNO Logic Sniffer: Bu loyiha oddiy tajriba sifatida boshlandi. Boshqa loyiha uchun ATMEGA328P ma'lumotlar varaqasi ustida olib borgan tadqiqotlarim davomida men qiziqroq narsani topdim. Taymer1 kirishni yozish birligi. Bu bizning Arduino UNO mikrokontrolleriga signalni aniqlashga imkon beradi
Zarrachalar sniffer: 6 qadam (rasmlar bilan)
Zarrachalar sniffer: PM2.5ni baholash bo'yicha oldingi loyihalar bilan ishlayotganda, men zarrachalarning ifloslanishining manbalarini topa olmaslikning kamchiliklarini payqadim. Munitsipalitetlar va sun'iy yo'ldoshlardan olingan namunalarning aksariyati keng bo'lmagan manbalarni to'playdi
I2C / IIC LCD displeyi - Arduino bilan SPI -IIC moduli yordamida I2C LCD displeyiga SPI LCD -dan foydalaning: 5 qadam
I2C / IIC LCD displeyi | IUC LCD displeyiga SPI LCD displeyidan Arduino yordamida IIC modulidan IIC modulidan foydalaning: Salom bolalar, chunki oddiy SPI LCD 1602 -da ulanish uchun simlar juda ko'p, shuning uchun uni arduino bilan ulash juda qiyin, lekin bozorda bitta modul mavjud. SPI displeyini IIC displeyiga aylantiring, shunda siz faqat 4 ta simni ulashingiz kerak
I2C / IIC LCD displeyi - LCD displeyini I2C LCD displeyiga aylantirish: 5 qadam
I2C / IIC LCD displeyi | SPI LCD displeyini I2C LCD displeyiga aylantiring: spi -lcd displeyni ishlatish uchun juda ko'p ulanish kerak, buni amalga oshirish juda qiyin, shuning uchun men i2c lcd -ni spi -lcd -ga aylantira oladigan modul topdim
Snorkel Sniffer: 4 qadam
Snorkel Sniffer: Parvoz paytida eshiklar yopiq edi va boshqa shunga o'xshash parvozlar singari, sizni ham uyquchanlik bosib ketadi. Biz soliq to'layotganimizda, men uyg'onib ketdim, oldimizda bir ayol qichqirdi: "Unga yordam ber!" " unga yordam ber !!!! " "