TXB0104 Bi-Directional Level Shifter.
Eftersom Arduino (och Basic Stamp) är 5V-enheter, och de flesta moderna sensorer, skärmar, flash-kort och lägen endast är 3,3V, tycker många tillverkare att de behöver utföra nivåväxling/konvertering för att skydda 3,3V-enheten från 5V.
Även om man kan använda motstånd för att göra en avdelare, för höghastighetsöverföringar, kan motstånden lägga till mycket sväng och orsaka förödelse som är svår att felsöka. Av den anledningen gillar vi att använda 4050/74LVX245-serien och liknande logik för att utföra korrekt nivåväxling. Det enda problemet är att de bara är bra i en riktning, vilket kan vara ett problem för vissa dubbelriktade specialgränssnitt och även gör kablarna lite håriga.
Det är där detta underbara chip, TXB0104 dubbelriktad nivåomvandlare kommer in! Detta chip utför dubbelriktad nivåväxling från i stort sett vilken spänning som helst till vilken spänning som helst automatiskt upptäcka riktningen. Det enda som inte fungerar bra med detta chip är i2c (eftersom det använder starka pullups som förvirrar autoriktningssensorn) eller styrledningar med mycket kapacitans på dem. Om du behöver använda pullups, kan du men de bör vara minst 50K ohm - de interna i AVRs/Arduino är cirka 100K ohm så de är OK! Den är lite lyxigare än en 74LVX245 men om du bara inte vill oroa dig för riktningsstift är detta en livräddare!
Eftersom detta chip är en speciell dubbelriktad nivåväxling har den inte starka utgångsstift som kan driva lysdioder eller långa kablar, det är tänkt att sitta på en bryggbräda mellan två logiska chip! Om du inte behöver omedelbart dubbelriktat stöd, föreslår vi 74LVX245 enligt nedan som har starkare utgångsenhet.
Denna utbrytning sparar dig från att behöva löda de mycket fina pitch-paketen som detta chip kommer med. Vi lägger också till 0,1uF lock på båda sidor och ett 10K pull-up motstånd på utgångsaktiveringsstiftet så att du kan använda det direkt ur lådan!