74HC595 和 74HC165 一起使用当然,将所有这些 LED 和开关连接起来而不采取额外的步骤将它们连接在一起将是一种浪费!所以让我们这样做 。
74HC595 和 74HC165 连接如果您像我一样在自己的无焊面包板上构建每个演示,那么将它们连接在一起非常简单 。
在其中一个演示中将 Arduino 与其面包板断开连接,哪个并不重要 。将连接留在面包板上,以便您可以将它们重新连接到另一个 Arduino 。您可以将 5 伏和接地连接连接到其他面包板电源轨 。
完成后尝试在 Arduino 上运行之前的代码,一切都应该仍然有效 。如果某些东西不起作用,请检查您的接线,当您加入项目时,某些东西可能已断开连接 - 这里有很多电线!
测试完所有内容后,就可以查看代码以同时使用 74HC165 和 74HC595 。
74HC595 和 74HC165 代码 1由于我们的演示本质上是将两个演示融合在一起,因此我们的代码完全相同 。你会看到这个代码和之前的代码有很多相似之处,这并非偶然——其中一些是字面上的剪切和粘贴!
代码的目的是简单地使用 LED 来显示按钮的状态 。作为演示,它运行良好 。我保证在这之后我们会继续做一些更令人兴奋的事情!
/* 74HC595 & 74HC165 Shift Register Demonstration 74hc595-to-74ch165.ino Input for 8 pushbuttons using 74HC165 Output to 0 LEDs using 74HC595 DroneBot Workshop 2020 https://dronebotworkshop.com*/ // Define Connections to 74HC165 // PL pin 1int load = 7;// CE pin 15int clockEnablePin = 4;// Q7 pin 7int dataIn = 5;// CP pin 2int clockIn = 6; // Define Connections to 74HC595 // ST_CP pin 12const int latchPin = 10;// SH_CP pin 11const int clockPin = 11;// DS pin 14const int dataPin = 12; void setup () { // Setup Serial Monitor Serial.begin(9600); // 74HC165 pins pinMode(load, OUTPUT); pinMode(clockEnablePin, OUTPUT); pinMode(clockIn, OUTPUT); pinMode(dataIn, INPUT); // 74HC595 pins pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); } void loop() { // Read Switches // Write pulse to load pin digitalWrite(load, LOW); delayMicroseconds(5); digitalWrite(load, HIGH); delayMicroseconds(5); // Get data from 74HC165 digitalWrite(clockIn, HIGH); digitalWrite(clockEnablePin, LOW); byte incoming = shiftIn(dataIn, clockIn, LSBFIRST); digitalWrite(clockEnablePin, HIGH); // Print to serial monitor Serial.print(Pin States:rn); Serial.println(incoming, BIN); // Write to LEDs // ST_CP LOW to keep LEDs from changing while reading serial data digitalWrite(latchPin, LOW); // Shift out the bits shiftOut(dataPin, clockPin, LSBFIRST, ~incoming); // ST_CP HIGH change LEDs digitalWrite(latchPin, HIGH); delay(500); }
推荐阅读
- 避孕套戴上就能用? 戴避孕套
- 身份证过期多久不能用微信支付
- word有哪些视图方式各有什么用途
- iphone手表有什么功能怎么用
- 为什么眼线液用什么都洗不掉
- 韩国g2面霜和G2精华使用方法
- 40岁以上用雅诗兰黛哪个眼霜
- 芦荟胶怎么用了要洗吗
- 7z文件用什么打开
- airpods用什么充电头