Inną rzeczą, którą powinieneś wziąć pod uwagę, jest to, czy w ogóle potrzebujesz zmiany poziomu. Wiele układów ma tolerancyjne styki wejściowe 5 V nawet przy napięciu niższym, takim jak 3,3. Procesor atmega interpretuje również wszystko powyżej 0,6 * Vcc lub 3 V dla arduino jako wysoki poziom logiczny, więc sygnał 3,3 V może bezpośrednio napędzać styk arduino bez zmiany poziomu.
Zakładając, że używasz arduino 5 V i musisz porozmawiać z częścią 3,3 V, jeśli ta część ma tolerancyjne wejścia 5 V (wielu obecnie to robi), po prostu podłącz je i będzie działać. Jeśli twoja linia dwukierunkowa ma konstrukcję otwartego kolektora, taką jak i2c, w której urządzenia tylko obniżają linię, po prostu podłącz rezystory podciągające do 3,3 V zamiast 5 V i wszystko będzie działać.
W przeciwnym razie wszystko, co musisz zrobić, to upewnić się, że linia nie przekracza 3,3 V, możesz to zrobić za pomocą rezystora i zenera, umieścić rezystor na linii arduino, a następnie zenera, aby zacisnąć napięcie do 3,3 V. (źródło: repetae.net )
Możesz mieć ochotę żyć niebezpiecznie i po prostu użyć rezystora 10k i nic więcej. Powodem tego (czasami!) Jest to, że wewnątrz otrzymywanego układu znajduje się dioda zaciskowa, która przesuwa nadmierne napięcie do vcc lub 3,3 V. Ta dioda przepali się, jeśli spróbujesz przeciągnąć przez nią całą linię 3,3 V do 5 V. ma nietrywialne obciążenie, nie zmieni znacząco poziomu twojej linii energetycznej, ale jest wiele ostrzeżeń. Ogólnie rzecz biorąc, nie rób tego, chyba że masz lokalną, izolowaną magistralę 3,3 V i naprawdę nie możesz oszczędzić dodatkowych dwóch centów za zenera. Wspominam o tym tylko dlatego, że zobaczysz go w schematach tanich brudnych płyt Breakout, które dostajesz w serwisie eBay i możesz ulec pokusie, aby je skopiować, po prostu nie pozwól, by przekradła się przez deskę do krojenia do projektu produkcyjnego. :)
Edycja właśnie zauważyła, że używasz nowszego arduino 3.3V, więc po prostu odwróć to, co powiedziałem powyżej, sztuczka z rezystorem zenera nadal będzie działać, chociaż najwyraźniej niektóre linie we / wy mogą być tolerowane na 5 V, wydaje się, że istnieje pewna różnica zdań na forach. Teensy 3.1 jest również ładną małą płytką ARM, która ma wszystkie styki tolerujące 5 V i jest o połowę niższa niż należna i lepiej zaprojektowana IMHO http://www.pjrc.com/store/teensy31.html