【雕爷学编程】Arduino动手做(107)---PCF8574扩展板模块
在【雕爷学编程】的Arduino实验旅程中,我们深入探索了PCF8574这款神奇的I2C扩展板,它是Arduino世界中不可或缺的168传感器模块之一,凭借其卓越的性能和扩展功能,为我们的项目提供了无尽的可能性。
PCF8574的魅力在于它的8位I/O控制,能在-40°C至+85°C的宽温范围内稳定运行,同时具备低功耗和大电流驱动能力,仅需16针SOIC封装,就能通过I2C与MCU进行高效通信。这款扩展板的I2C接口设计,使得它可以无缝连接LCD1602/LCD2004,节省宝贵的IO口资源。</
在实际应用中,我们首先确保为PCF8574提供稳定的+5V电源,并通过A4 SDA线将其与Arduino的I2C接口相连。实验的核心目标是通过Serial打印,扫描并验证其I2C地址为0x27,这一步是硬件与软件交互的关键环节。
项目四的挑战是通过A4 SDA和A5 SCL线,将LCD1602/LCD2004屏幕点亮,显示"Welcome to Eagler8"的温馨问候。这需要我们熟练运用Wire.h和LiquidCrystal_I2C.h库,将编程技术与硬件操作完美融合。</
实验内容丰富多样,包括:
- 精确扫描并确认PCF8574的I2C地址(0x27)</
- 在LCD上实现动态显示,打造沉浸式用户体验</
- 基础接线艺术:VCC、GND、SDA、SCL的布局与连接</
- 开源代码的精髓:编写与调试程序</
- 直观的接线示意图,让你一目了然</
每一个步骤都旨在提升你的编程技能,让你在实践中深入理解I2C扩展板的工作原理。通过这些实验,你不仅能掌握PCF8574的使用,还将为未来更多的Arduino项目打下坚实的基础。
绛旓細銆愰洉鐖峰缂栫▼銆鍔ㄦ墜鍋Arduino瀹為獙锛161锛夛細16璺疨WM鑸垫満椹卞姩鏉縋CA9685 Arduino涓栫晫涓殑浼犳劅鍣ㄤ笌鎵ц鍣ㄦā鍧椾赴瀵屽鏍凤紝鑰孭CA9685浣滀负涓娆16閫氶亾PWM鑸垫満椹卞姩鏉匡紝鍥犲叾I2C閫氫俊鐨勭壒鎬ц屽鍙楀叧娉ㄣ傚湪瀹炶返涓庡涔犵殑椹卞姩涓嬶紝鎴戝皢杩涜涓绯诲垪鐨勫疄楠岋紝鏃ㄥ湪閫氳繃瀹炶返鍒嗕韩鎴戠殑鎺㈢储杩囩▼锛屾棤璁烘垚鍔熶笌鍚︼紝閮戒細璁板綍涓嬫潵锛屾湡寰呰兘鍚彂...
绛旓細瀹為獙鍖呮嫭浜嗛嗘椂閽堟棆杞竴鍦堬紝椤烘椂閽堟棆杞崐鍦堢殑鎺у埗锛屼互鍙婇氳繃涓插彛鐩戞帶鐢垫満鍔ㄤ綔銆傚紑婧愪唬鐮佸拰浠跨湡缂栫▼璧勬簮濡侻ind+銆丮ixly鍜孡inkboy V4.5銆乂4.52绛夐兘鍙緵瀛︿範鑰呭弬鑰冦傞氳繃杩欎釜瀹為獙锛屼綘涓嶄粎鑳芥帉鎻″浣曚娇鐢║LN2003椹卞姩姝ヨ繘鐢垫満锛岃繕鑳芥彁鍗Arduino缂栫▼鍜岀‖浠舵帶鍒剁殑鑳藉姏锛屽浜庢満鍣ㄤ汉璁捐寮鍙戣呮潵璇达紝鏄繀澶囨妧鑳戒箣涓銆...
绛旓細2. 椹卞姩鑳藉姏 璇ユ墿灞曟澘鏀寔澶氱Arduino鍨嬪彿锛屽UNO鍜孧ega 2560锛岃兘澶熻交鏉鹃┍鍔ㄤ互涓嬬粍鍚堬細- 4璺洿娴佺數鏈 + 2璺埖鏈 - 2璺洿娴佺數鏈 + 1姝ヨ繘鐢垫満 + 2璺埖鏈 - 2姝ヨ繘鐢垫満 + 2璺埖鏈 鍒╃敤L293D楂樼數鍘嬬數鏈洪┍鍔ㄨ姱鐗囷紝瀹冭兘楂樻晥鎺у埗鐢垫劅璐熻浇锛屽鐩存祦鐢垫満銆佹杩涚數鏈哄拰浼烘湇鐢垫満锛岃〃鐜板嚭鍗撹秺鐨勬帶鍒剁簿搴︺3. ...
绛旓細瀹為獙涓鐧句竴鍗佷簩涓紝鎴戜滑灏嗙湅鍒癗RF24L01+鏃犵嚎妯″潡鐨勬帴绾跨ず鎰忓浘锛岄氳繃Arduino杩涜鏁版嵁鏀跺彂銆傚紑婧愪唬鐮佸拰浠跨湡缂栫▼涓哄疄楠屾彁渚涗簡鏈夊姏鏀寔锛屾湡寰呴氳繃瀹為檯鎿嶄綔锛岃繘涓姝ヤ簡瑙e拰鎺屾彙杩欎竴鏃犵嚎閫氫俊妯″潡鐨勪娇鐢ㄥ拰鎬ц兘銆
绛旓細瀹夎鎺屾帶鏉块┍鍔ㄦ槸寮濮嬪伐浣滅殑绗竴姝ワ紝闇浠嶴ilabs瀹樼綉涓嬭浇瀵瑰簲Windows鎴朚acOS鐨凜P210x椹卞姩銆傚畨瑁呭悗锛岄渶鍦Arduino IDE涓纭夋嫨寮鍙戞澘涓篍SP32 Dev Module鍜缂栫▼鍣"AVRISP mkll"銆傚疄楠屽紑濮嬩簬涓涓畝鍗曠殑涓插彛杈撳嚭绋嬪簭锛岄獙璇佺‖浠惰繛鎺ュ拰鍔熻兘銆傝繖涓郴鍒楀疄楠屼笉浠呮彁渚涗簡涓板瘜鐨勮祫鏂欎唬鐮侊紝杩樺寘鎷豢鐪熺紪绋嬪拰鍥惧舰缂栫▼锛屾槸...
绛旓細娆㈣繋鏉ュ埌闆曠埛鐨缂栫▼鎺㈤櫓锛屼粖澶╂垜浠皢娣卞叆鎺㈢储GY-NEO-6MV2 GPS妯″潡锛屼竴娆惧崜瓒婄殑瀹氫綅鍒╁櫒锛屽姪鍔涗綘鐨凙rino椤圭洰瀹炵幇绮惧噯瀵艰埅銆傝繖娆炬ā鍧椾互u-blox 6瀹氫綅寮曟搸涓烘牳蹇冿紝鍏峰楂樻ц兘鍜岃秴浣庡姛鑰楃壒鎬э紝璁╂垜浠竴璧峰紑鍚繖娈电簿褰╂梾绋嬨傛惌杞50閫氶亾鐨凬EO-6M锛屽畠鐨勮拷韪伒鏁忓害杈惧埌浜嗘儕浜虹殑-161dBm锛岄櫠鐡峰ぉ绾跨殑璁捐纭繚浜嗗湪3....
绛旓細鍦銆愰洉鐖峰缂栫▼銆绯诲垪鐨勭141绡囧疄楠屼腑锛屾垜浠皢鎺㈢储AS608鍏夊鎸囩汗璇嗗埆妯″潡锛屽甫浣犳繁鍏ョ悊瑙h繖涓鐢熺墿鐗瑰緛璇嗗埆鎶鏈殑鍘熺悊涓庡簲鐢ㄣ傝繖涓ā鍧椾互鍏跺皬宸х殑浣撶Н鍜屽己澶х殑鍔熻兘锛屼负韬唤楠岃瘉鍜屽畨鍏ㄦ帶鍒舵彁渚涗簡鏂扮殑鍙兘鎬с傞鍏堬紝璁╂垜浠仛鐒︿簬鎸囩汗鐨勭嫭鐗规э紝瀹冩槸浜轰綋韬唤璇佷欢鐨勮薄寰併傛寚绾圭敱閬椾紶鍜岀幆澧冨洜绱犲叡鍚屽閫狅紝甯歌鐨勭被鍨...
绛旓細鏈瘒瀹為獙鏄158娆★紝鑱氱劍浜嶨Y-530鐨刅L53L0X婵鍏夋祴璺濇ā鍧楋紝璇ユā鍧楅噰鐢═oF娴嬭窛鎶鏈紝鍙祴閲忛琛屾椂闂淬傚疄楠屽唴瀹瑰寘鎷煡璇L53L0X涓嶴SD1306 OLED妯″潡鐨処IC鍦板潃锛岄氳繃IIC閫氫俊鍗忚鎿嶄綔妯″潡锛屽疄鐜拌寖鍥存祴閲忓苟鍦∣LED涓婃樉绀鸿窛绂伙紙浠ユ绫充负鍗曚綅锛夈傚疄楠屼粠瀹為檯鎿嶄綔鐨勫紑婧愪唬鐮佸紑濮嬶紝灞曠ず浜哣L53L0X鐨勬祴璺濆姛鑳藉湪Arduino涓殑...
绛旓細浼犳劅鍣ㄦ搷浣滄寚鍗 杩欐浼犳劅鍣ㄦ帴鍏Arduino鐨勬帴鍙e涓嬶細Pin 1: Vled - 杩炴帴鍒5V鐢垫簮锛150娆у鐢甸樆锛塒in 2: LED-GND - LED杩炴帴鍒癉igital pin 2锛孏ND鎺ュ湴Pin 4: S-GND - S杩炴帴鍒癎ND锛孭in 5: Vo - 杩炴帴鍒癆nalog pin 0锛孭in 6: Vcc - 5V渚涚數LED鍛ㄦ湡锛1姣鍦ˋrduino鐨勫垵濮嬪寲璁剧疆涓紝鎴戜滑浣跨敤...
绛旓細杞诲阀鐨勪綋绉拰閲嶉噺锛屼究浜庨泦鎴愬埌鍚勭璁捐涓嫭鐗圭殑闃插弽鎻掓帴鍙o紝瀹夊叏鍙潬鍐呯疆鍙嶆帴淇濇姢锛屼繚闅滅郴缁熷畨鍏Arduino IDE鐨勫叏闈㈡敮鎸侊紝绠鍖缂栫▼杩囩▼鍥惧舰鍖栫紪绋嬪伐鍏凤紝璁╁垱鏂拌Е鎵嬪彲鍙婏紝閫傚悎鎵鏈夊勾榫勬鐨瀛︿範鑰呭湪鎺ョ嚎鏂归潰锛孲G90閲囩敤涓夌嚎杩炴帴鏂瑰紡锛堥粦/绾/钃/妫曠嚎锛夛紝鎿嶄綔绠鍗曪紝杩炴帴鐏垫椿銆傝孲G90鐨勫簲鐢ㄥ満鏅箍娉涗笖澶氭牱锛氶仴鎺т豢鐪...