Using Shift Registers to Get UNLIMITED GPIOs for our project !!

Поділитися
Вставка
  • Опубліковано 28 гру 2024

КОМЕНТАРІ • 158

  • @techiesms
    @techiesms  2 роки тому +35

    Should we make 5x1 Home Automation using CHOTA vala ESP8266(generic esp8266)???

  • @shashikantsingh6555
    @shashikantsingh6555 2 роки тому +37

    I am happy to see Indian electronics community popping out and making the lives of engineering students easier .. hats off to you sir.. keep it up🔥👏👏

    • @neinnine
      @neinnine 2 роки тому

      I guess youre new to electronics. Im not indian but the electronics online community has always been led by the indian community. From the most basic arduino projects to detailed electrical and electronics lecture theres always a good indian video of it.

  • @nasirshah1983
    @nasirshah1983 2 роки тому +15

    74HC595 is only output shift register and you can only extend output pins so GPIO means input and output. so You can't say 595 is a GPIO extender its only a output pins extender

    • @Tridenux
      @Tridenux 3 місяці тому

      i think if latch gate supports binary data input, then we can use the clock to check the state of that latch and use it as input too, just reverse it.
      imagine you touch a latch gate-oupout with 3v, now the it saves the binary data, now using the system clock to mesure the latch state and use if-else statment or any other function we can use it as input too, but i guess we will need 2 clocks, one for checking latch state and another for retriving data/state of the gate

  • @pauldriscoll6319
    @pauldriscoll6319 2 роки тому +3

    shift registers are fine if its a slow driven output so an alternative is do parellel latching, a chip I have used a lot for large GPIO expansion is 74HC373

    • @WintonMc
      @WintonMc 2 роки тому

      Random ask: You wouldn't like to make a UA-cam video of that would you Mr Driscoll? Everyone with a phart smone has got at least one UA-cam video in them. ;)

    • @pauldriscoll6319
      @pauldriscoll6319 2 роки тому

      @@WintonMc corrected the part number - my head is full of a cold and mixed up my chips lol

    • @pauldriscoll6319
      @pauldriscoll6319 2 роки тому +2

      simply write 8 bits in one go to port D, then toggle pc0 low and back to high to latch the pattern to U2 Q0-Q7 then do another write to Port D and toggle pc1 low and back high to latch that pattern to U3 Q0-Q7 .... you could add a 3rd latch and so on if you need more lines just add its LE to the next PC port (pc2) and so on - each latch uses the same pins PD0-PD7 as the inputs and LE as the latch toggle .. low sets the Q lines to match D lines High keeps them in that state.
      if someone really wants to get this up and running im happy to help just buzz me here

    • @pauldriscoll6319
      @pauldriscoll6319 2 роки тому +2

      @@WintonMc Never done a You-Tube Video .. life keeps me busy as it is... but here is all the details.

  • @NaijaTechBoy
    @NaijaTechBoy 2 роки тому +7

    I was working on shift register today to control 16 LEDs
    Using the adafruit Io platform
    And boom I got your notification on shift register
    Thanks for sharing

  • @GarretsonIndustries
    @GarretsonIndustries Рік тому +1

    I have been trying to find a video all morning which is recent enough and includes all the code. Finally found yours. Thank you so much.

  • @landonbrown5295
    @landonbrown5295 2 роки тому +4

    You should look into the 74322 and compatible replacements. It gives you 8 I/O pins that you can control as a bank. It doesn't quite give you full GPIO, but it's perfect for talking to a wide bus from a limited number of GPIO pins

  • @Calphool222
    @Calphool222 2 роки тому +2

    It might be worth mentioning that there is such a thing as an "analog shift register," which works like a digital shift register, except you can shift in analog *voltage* levels, and that voltage level is retained on an output pin until the next voltage is sent, and then the voltage level shifts to another output pin. Of course that's sort of irrelevant with an Arduino UNO, since they don't have a DAC built in. They can be useful with a DAC shield though.

  • @k.k8221
    @k.k8221 2 роки тому +2

    Use MCP(Ex. MCP23017) only two pin is required for expanding GPIOs, what you think using MCPs....

  • @alanmusicman3385
    @alanmusicman3385 2 роки тому +2

    Using this technique with an absolutely minimal MCU like the ESP-01 is absolutely a great solution where you need intelligent output patterns on a large number of LEDs. Once you get over 16 outputs though a chip like the M5450 or the TL5940 or MAX7209 does a better job and provides brightness control too.

  • @EricStringer
    @EricStringer 2 роки тому +2

    The 74HCT595 or variations thereof is a very good choice for expending many outputs with only three output pins from the processor. Of course there's a parallel in inversion of this which works well since when you load the inputs it captures the data at that moment in time.
    What makes this chip great is that you can shift in the data first in the shift register but will not go to the output until you hit the load line.
    Theoretically you could have unlimited outputs your limit is only how fast you want to refresh an output bit.
    For example I use these to create a 3D LED cube meeting 16 outputs.

  • @khanlalamemes4655
    @khanlalamemes4655 3 місяці тому

    I am using a 74HC595 shift register with the same connections but with manual control at its input (not connected to any controller). However, when I turn off the power supply and then turn it back on, I get random values at the shift register outputs. Is there a solution to avoid these garbage values at power-up?

  • @wali7862
    @wali7862 Рік тому

    will this work for sensor that make use of digital pins as signal

  • @profdc9501
    @profdc9501 2 роки тому +1

    of course, also commonly available are the PCF8574 and MCP23008/MCP23017 that work over i2c

  • @BeroGun
    @BeroGun 6 місяців тому

    Can we use hc165 for inputs and hc595 for outputs so that we can only 7 pins controlling multiple outputs and inputs. Is it work?

  • @ArjunKohli
    @ArjunKohli 2 роки тому +2

    i also worked on shift register , controlled 6 seven segment and make a digital clock

  • @CerebralDad
    @CerebralDad Рік тому

    Are you able to read analog inputs with these shift registers?

  • @vishalnarwal9482
    @vishalnarwal9482 Рік тому

    Is it possible to use the Shift Registers along with Rainmaker App?

  • @mr.satishfy
    @mr.satishfy 2 роки тому

    Using addresable led can be use

  • @sandeepsingh_eagle
    @sandeepsingh_eagle 11 місяців тому

    Really wow
    May I know which tool you use for those electronic animations

  • @Tn-qb9kk
    @Tn-qb9kk 2 роки тому

    Is it the same as SerDes ?

  • @taranagnew436
    @taranagnew436 2 роки тому

    so you put the latch low (prepares it to receive data), send the data, and put the latch high to receive the data??

  • @all-about-automation
    @all-about-automation 2 роки тому +1

    But we cannot use this multiplexer to read sensor data because this module generates some offset value

  • @leonreucher1016
    @leonreucher1016 2 роки тому +1

    Nice video! But I would recommend (when available on the MCU) to use GPIO expanders with an I2C interface. By changing the address of multiple I2C GPIO expanders you could control a massive amount of GPIO (example IC: MCP23017) (Edit: Thus as a addon controlling pins using I2C is very simple, not bitshifting and so on!)

  • @eddiemendoza7353
    @eddiemendoza7353 7 місяців тому

    How can I connect an SD Card Module to this register?

  • @danny117hd
    @danny117hd 2 роки тому

    Great video great sound great font size. Only issue is edge of screen is truncated by my 1080p TV that I watch on so for example it's an or loop and not a for loop while you are showing code.

  • @steelbrotherhoodof2359
    @steelbrotherhoodof2359 2 роки тому

    what will you use as gpio software driver ? on your operating system.

    • @steelbrotherhoodof2359
      @steelbrotherhoodof2359 2 роки тому

      like a the input of the keyboard. requires keyboard.drv pre loaded. along the mouse.drv. on the msdos operating system. so i believe a omni gpio hardware. requires also. gpio.drv preloaded in the memory from boot of. but i dont know. since also the ram space need to be limited to make room for other hardware. and also a irq or a cpu cycle need to be resident reserved for that. hahahaha. i did not even see the whole video. maybe you just explained that the arduino compiler took care of that. while writeing the file away.

  • @kunaviniju
    @kunaviniju 2 роки тому +1

    Dear can you please make a video with WT32-SC01
    how to program it's with your previous home automation project
    Thanks

  • @yuvrajarora9359
    @yuvrajarora9359 2 роки тому

    Will I be able to control relay with it

    • @techiesms
      @techiesms  2 роки тому

      Yes

    • @yuvrajarora9359
      @yuvrajarora9359 2 роки тому

      @@techiesms actually i was asking because you said it will trigring again and again

  • @SerialWombat
    @SerialWombat Рік тому

    You might take a look at my Serial Wombat project. It basically fills the same niche of adding GPIO to Arduino, but it's firmware running on a microcontroller, so it does a bunch of smart stuff (rotary encoders, PWM, Servo, ADC, etc) that a MCP23017 or pca9685 can't over an I2C interface.

  • @Hypoengg
    @Hypoengg Рік тому

    Can someone explain me purpose of siso and pipo shift resistors. I feel like they are useless

  • @pareshmhatre4019
    @pareshmhatre4019 2 роки тому

    Your excitement is huge, that is great 👍

  • @bschwand
    @bschwand 2 роки тому

    you can use a 595 directly on an SPI bus with the proper clocking and phase. most microcontroller have hardware SPI. Often even with DMA. That is the most efficient and fastest way to IO expand with a serial to parallel shift register...

  • @nuurqomar.
    @nuurqomar. 2 роки тому +5

    In Dots matrix or running text led, 7 segment, ic shift register is usefull of that projects, but for projects with need multi input/output, more efficient use ic expander PCF8574 (8bit) or MCP23017 (16bit) with i2c communication (2 wire only)

    • @jnharton
      @jnharton 2 роки тому

      Microchip makes an 8-bit one too, the MCP23008.

    • @CristiNeagu
      @CristiNeagu 2 роки тому

      I don't get why people are so fascinated with shift registers when IO expanders are a thing...

    • @CristiNeagu
      @CristiNeagu 2 роки тому

      @@jnharton MCP23017 can be controlled in both 8 and 16 bit modes.

    • @jnharton
      @jnharton 2 роки тому

      @@CristiNeagu That’s interesting, haven’t read the datasheet in depth. My point was just that there were options.

    • @murugesh9338
      @murugesh9338 6 місяців тому

      @@CristiNeagu BECAUSE I2C is unreliable compared to SPI and Direct accessing Shift Registers. You will get to notice only if u have multi modules in to MC.

  • @rugneshvora209
    @rugneshvora209 2 роки тому +1

    this video was full of knowledge😎❤‍🔥

  • @ProDigit80
    @ProDigit80 2 роки тому

    Before watching, 2^3=8, so use the pin as binary. The con is, that it can work with LEDs, but not very good if the output needs to be precisely timed.

  • @shakerileiwat4341
    @shakerileiwat4341 2 роки тому +1

    Thank you , great video 👍👍👍
    11:44 great idea, do it please.

  • @drelectronics13
    @drelectronics13 2 роки тому

    Is anyone getting device not found error while scanning QR code in esp rainmaker app,??

  • @wayland7150
    @wayland7150 2 роки тому

    I used to use a cheap large 40 pin chip that was a large shift register and 32 outputs that could drive small relays.

  • @rusticagenerica
    @rusticagenerica Рік тому

    Excellent video !! May God bless you !

  • @TheBypasser
    @TheBypasser 2 роки тому +1

    1. This lacks 'I' in 'GPIO' ;)
    2. This is not that 'unlimited', although we used an alike approach in order to get 96 outputs without issues.
    3. Too slow, mostly useful for static LEDs or relay driving or alike, yet that is the limit.

  • @duinoblogtube2070
    @duinoblogtube2070 2 роки тому +1

    I see u used the old V of arduino IDE, btw it work slow on my laptop, hello from Morocco 👋😊

  • @danieldollive4660
    @danieldollive4660 2 роки тому

    Very well and clearly explained.

  • @buddhimaamarasinghe9997
    @buddhimaamarasinghe9997 2 роки тому +1

    Excellent project, Make the project in ESP 01 as well. Do a project with multiple inputs. Thanks.

  • @nagarava
    @nagarava 2 роки тому

    Can I use Esp01 in place of Esp32 with this code?

    • @techiesms
      @techiesms  2 роки тому

      Yes
      Just change the PIN number

  • @codewonderland-gaming
    @codewonderland-gaming 2 роки тому

    I love this tutorial!! All your wiring diagrams are upside down though 🤣

  • @HelderParracho
    @HelderParracho 2 роки тому

    Why don't you use SPI to control the shift registers and get rid of all that show code?

  • @rusticagenerica
    @rusticagenerica Рік тому

    I love how you speak English !!!!

  • @mattbatt1984
    @mattbatt1984 2 роки тому

    Damn, this video is clean and informative.

  • @shobhitkumawat
    @shobhitkumawat 2 роки тому

    Jahanpanah tussi great ho 🙇‍♂️

  • @scienceoftheuniverse9155
    @scienceoftheuniverse9155 2 роки тому +1

    Wow that's awesome. Thanks indeed

  • @SecularMentat
    @SecularMentat 10 місяців тому

    You might be able to get away with controlling multiple things with a MUX if you're using latch gates to hold them 'on' once they're going.
    Still, I've been wondering about the shift register doingthis as well.

  • @FARMAN68
    @FARMAN68 Рік тому

    I want make audio 8 in 8 out matrix. Please make a helpful video about this.

  • @GrandNecro
    @GrandNecro 2 роки тому +1

    I guess the only downside is that you can't use shiftreg to read analog signal like an analog demux can

  • @philipp9651
    @philipp9651 2 роки тому

    good sean it on another vid but can you show how to take inputs from shift reg. so it can scan 8 inputs and show if one has changed? please

    • @duality4y
      @duality4y 2 роки тому

      you need a parallel in serial out type of register.

    • @philipp9651
      @philipp9651 2 роки тому

      @@duality4y thanks had that idea but would need software for reading the inputs then I can send it out to another SIPO reg

  • @carlosbah4623
    @carlosbah4623 2 роки тому

    ¡Guau! Que bien explicado todo. ¡Gracias por compartir su conocimiento!

  • @damnuser7792
    @damnuser7792 2 роки тому

    Not a new idea, but there is a trick: try to order PCA9505, my favorite port expander, then see MOQ and lead time! Americans screw up badly going against Russia and forgot where raw materials are coming from, so "all american-made chips" actually made in Taiwan cannot be produced any more...
    Does not matter if you are after Arduino-grade projects, but even Arduino (Atmega) chips where produced by Microchip and NOT available any more, all what is left is stock in some places. Unless something changes dramatically, we will end up using transistors...
    As for some comments below, India has a lot of very good engineers as well as large hobby community.

  • @ENI232
    @ENI232 2 роки тому

    very clear and concise video!

  • @Shivam-tr8ut
    @Shivam-tr8ut 2 роки тому +1

    Sir please make a project that can control home appliances using NODEMCU ESP8266 with Manual, Blynk App, IR Remote, Alexa voice command, EEPROM. I am waiting for many months for this project. I hope you will upload video soon

  • @mdzubaer8934
    @mdzubaer8934 Місяць тому

    can you do it - esp8266 with mcp23017

  • @varunkoganti9067
    @varunkoganti9067 2 роки тому

    Just use a pca9685 you get 16 pwm capable gpio. Each 9685 has 4 i2c address sel bits so 0000 to 1111. That means 256gpio per i2c in theory.

    • @Ncky
      @Ncky 2 роки тому

      And you can also use i2c mux which gives even more possibilities

  • @jobin6784
    @jobin6784 2 роки тому

    Excellent explanation

    • @techiesms
      @techiesms  2 роки тому

      Glad it was helpful!
      Just Share it with others as well!!

  • @AlexLipkovich
    @AlexLipkovich 2 роки тому

    dont use 595, use serial led driver , it the same logic, but every output have up to 70mA

  • @riseiot
    @riseiot 2 роки тому

    Amazing explanation

  • @64-bit63
    @64-bit63 2 роки тому

    It would be cool if it used i2c protocol, them it has to use only 2 pins for data communication. There is a small delay tho but it doesn't matter really because it is really small

    • @wayland7150
      @wayland7150 2 роки тому

      Yes but it then takes up your I2C pins. It maybe better to bit bang the device and have another line for chip select. That way your clock and data lines can be connected to several devices.

  • @yedukondalumidde1900
    @yedukondalumidde1900 2 роки тому

    Excellent project 👌

  • @VndNvwYvvSvv
    @VndNvwYvvSvv 2 роки тому

    I'm glad you have subtitles because you can't speak English. Thanks for the video. Maybe consider an accent neutralization course so we can understand you better.

  • @AhmetTasdemirDJLuds
    @AhmetTasdemirDJLuds 2 роки тому

    I was made 512 pin harness tester device with mcp23017 with i2c connection with 8ch i2c multiplexer.

  • @aykutulusan6728
    @aykutulusan6728 2 роки тому

    74XX595 is the worst choice, ns-level spike changes all outputs (ns:nanosecond)

  • @82levy5
    @82levy5 2 роки тому

    Great tutorial, only the title is not accurate. The problem is that you can only use shift registers only for outputs. So it's not GPIO.

  • @user-mr3mf8lo7y
    @user-mr3mf8lo7y 2 роки тому +1

    There is no such thing 'unlimited'. a) adress block/range is limited. b) MCU's flow capacity may not be capable of handling all of those requests fast enough.

  • @lolaa2200
    @lolaa2200 2 роки тому +1

    I'm sure this would be very interesting to some but the title is a lye so ...
    What you show is about adding digital output, not GPIO. GPIO does much more than just digital outputs. Title promesse you might present a chip that allows actual gpio extensions, and you don't deliver on that.
    Hint : MCP23s17 ;c)

  • @kkelectronics831
    @kkelectronics831 2 роки тому

    Yes we are waiting..............

  • @LedPixelAnimator
    @LedPixelAnimator 2 роки тому

    Sir esp32 project use for smart home control 10 appliances with physical switch and with & without internet..... Arduino cloud iot.... Because there 10 devices in arduino cloud.... Shit register use 👏

  • @ravindrakulkarni4359
    @ravindrakulkarni4359 2 роки тому

    How to join premium member I don't have credit card

  • @IncendiarySolution
    @IncendiarySolution 2 роки тому

    I've been using the 74HC597 piso for a keyboard input. I've been needing a good explanation for how these work.

  • @RandomTorok
    @RandomTorok Рік тому

    Doesn't work. Might help if a readable copy of the circuit diagram was provided.

  • @isaharoon1000
    @isaharoon1000 2 роки тому

    Good explanation of shift registers, but this aint GPIOs (General Purpose Input Output). There is only output here, no input.

  • @CristiNeagu
    @CristiNeagu 2 роки тому +3

    Shift registers won't get you unlimited GPIO. It will only get you outputs, but no inputs. Why not just use multiple MCP23017 IO expanders? That will give you true unlimited GPIO.

    • @HelderParracho
      @HelderParracho 2 роки тому

      No, that's not true. You can cascade multiple hc165 with hc595 and have all the GPIOs you want, or only inputs or only outputs.

    • @CristiNeagu
      @CristiNeagu 2 роки тому

      @@HelderParracho Ok, fair enough. MCP23017 is still the better choice.

    • @HelderParracho
      @HelderParracho 2 роки тому

      @@CristiNeagu Better or not it really depends on your needs. MCP23017 is more expensive, harder to find in stock, much slower and more difficult to isolate. It might be a more compact solution though.

  • @Tech-farming880
    @Tech-farming880 2 роки тому +1

    Hindi ka ek channel creat karo our same video usme bhi upload krdo.

    • @techiesms
      @techiesms  2 роки тому

      Dekhte h, aisa kuch socha nai h abhi

  • @farmerjoe2103
    @farmerjoe2103 2 роки тому

    A bit like a USB hub accepting eight inputs into one.

  • @windigo000
    @windigo000 4 дні тому

    why are pin labels upside down? is this some kind of neck excercise community service? 🤣

  • @Stillalive008
    @Stillalive008 2 роки тому

    It's okay. Give more videos like this

  • @Midhun938
    @Midhun938 2 роки тому

    🤔🤔🤔🤔 what is the thing bro. I couldn't get the whole point. Can you please make a vedio that uses this shift register setup to control something more simpler & straight forward. Something like iot control

    • @techiesms
      @techiesms  2 роки тому +1

      Sure.
      I'll making a practical working project out of it

  • @lkdhruw
    @lkdhruw 2 роки тому

    Even though I have used these ICs a lot of times but still I got to know some new information 👍

  • @Tridenux
    @Tridenux 3 місяці тому

    amazing

  • @duality4y
    @duality4y 2 роки тому

    what is a GPIO and why is a pin on that register NOT a GPIO

  • @andreadm4578
    @andreadm4578 2 роки тому

    Rapaz não entendi nada do que ele falou mais deu pra entender com a imagens

  • @janklas7079
    @janklas7079 2 роки тому

    it's a bit of nagging, but it's not unlimited. Eventually you'll run out of frequency for your serial coms.

  • @SaverioFerran
    @SaverioFerran 2 роки тому

    Indian videos usually are great. I've solved severa problems with them. But, but... Their pronuctiation is not very well 😅🥺. If only indias could improove their english, their videos would be sooo much better. I understan their mother thounge has different sounds than english. But it is just a friendly advice 😊👏🏻

  • @guliyevshahriyar
    @guliyevshahriyar 2 роки тому

    Thx

  • @steelbrotherhoodof2359
    @steelbrotherhoodof2359 2 роки тому

    another word for simultaniously is on some place "real time".

  • @RaulAyanami
    @RaulAyanami 10 місяців тому

    So.. no pwm

  • @bhupendrasingh9014
    @bhupendrasingh9014 3 місяці тому

    What's your views on MCP23017 ?

  • @indian.techsupport
    @indian.techsupport 2 роки тому

    You just made outputs, not general purpose input and output

  • @cpK054L
    @cpK054L 2 роки тому

    No shit the MUX will only control one-output at a time.
    Just MUX to PsuedoDAC-R2R, problem solved, plebes

  • @ionymous6733
    @ionymous6733 Рік тому

    asking people to pause and comment for something you're about to explain is insulting. As if we don't realize we're watching a pre-recorded video or that comments help your channel. "jump through my hoop!" Just make good content and skip that.

  • @mikejones-vd3fg
    @mikejones-vd3fg 2 роки тому

    kool

  • @MicroVersee
    @MicroVersee 4 місяці тому

    No

  • @vishnubalte1184
    @vishnubalte1184 2 роки тому

    Plz meke video in hindi language bro ,