and I should also mention that I want to use only 3 pins on esp8266 to receive data (if it is really possible).
Output (While pressing one of those buttons)
I found a tutorial in which a guy used 4 pins on Arduino, that worked for me also, however it stopped working when I switched pins from Arduino Uno to esp8266(
Do not look at the top part of the breadboard. (There are only some rgb leds and HC595). The HC165N receives either LOW or HIGH values after clicking the button. I mean there is not any floating value.
As far as I understand CMOS chip - contains a semiconductor element that makes chip itself more reliable and efficient
And how you understand that my shift register contains CMOS chip? Sorry if my questions feels dumb🫠 and what should I use instead?
Pins 3, 4, 5 and 6 on the 74HC165 IC are not connected to anything.
Therefore pins 3, 4, 5 and 6 are floating.
CMOS inputs should never be left floating. Doing so invites all manner of problems. As mentioned in the datasheet for the IC:
(1) All unused inputs of the device must be held at VCC or GND to ensure proper device operation. Refer to the TI application report, Implications of Slow or Floating CMOS Inputs, literature number SCBA004.
And with that I will wish you good luck with your project and say good-bye.
The first thing I noted is that you power the chip from 5volt.
The ESP is a 3.3volt-logic processor, so power the chip and pull up resistors from the 3.3volt pin of the ESP. @LarryD already noted that.
Leo..
Everything is working right now! @Wawa , @van_der_decken and @LarryDThank you so much. For those who have faced the same problem (Connecting SN74HC165N with Esp8266):
I cleared my breadboard from unnecessary components.
Measured the resistance of each resistor, it should be 10k oms (everything was fine in my case).
Reconnect shift register pins with microcontroller. Here is the schematics