Hal lain yang harus Anda pertimbangkan adalah apakah Anda benar-benar membutuhkan pengalihan level sama sekali. Banyak chip memiliki pin input toleran 5V bahkan ketika berjalan pada tegangan yang lebih rendah seperti 3.3. CPU atmega juga menafsirkan apa pun di atas 0,6 * Vcc atau 3V untuk arduino sebagai logika yang tinggi, sehingga sinyal 3.3V dapat langsung menggerakkan pin arduino tanpa pergeseran level.
Dengan asumsi Anda menggunakan arduino 5V dan perlu berbicara dengan bagian 3.3V, jika bagian tersebut memiliki input toleran 5V (banyak yang melakukannya saat ini), cukup sambungkan mereka dan itu akan berfungsi. Jika garis dua arah Anda adalah desain kolektor terbuka, seperti i2c di mana perangkat hanya menarik garis rendah maka cukup pasang resistor pull up ke 3.3V, bukan 5V dan semuanya akan berfungsi.
Kalau tidak semua yang perlu Anda lakukan adalah memastikan garis tidak pergi di atas 3.3V, Anda dapat melakukannya dengan resistor dan zener, letakkan resistor pada garis arduino kemudian zener untuk menjepit tegangan ke 3.3V. (sumber: repetae.net )
Anda mungkin tergoda untuk hidup dalam bahaya dan hanya menggunakan resistor 10k dan tidak ada yang lain. Alasan ini (kadang-kadang!) Berfungsi adalah bahwa ada dioda penjepit di dalam chip penerima yang menipiskan tegangan berlebih ke vcc atau 3.3V. Dioda ini akan terbakar jika Anda mencoba menarik seluruh garis 3.3V hingga 5V melaluinya (selain kerusakan apa pun yang disebabkan oleh menarik garis itu ke 5V), namun dengan resistor tidak banyak arus akan mengalir dan dengan asumsi garis 3.3V Anda memiliki beban non-sepele di atasnya itu tidak akan mengubah tingkat saluran listrik Anda secara substansial tetapi ada banyak peringatan. Jadi, secara umum, jangan lakukan ini kecuali Anda memiliki bus 3.3V lokal yang terisolasi dan benar-benar tidak dapat menyisihkan dua sen tambahan untuk zener. Saya hanya menyebutkannya karena Anda akan melihatnya dalam skema untuk papan pelarian tanah murah yang Anda dapatkan di ebay dan mungkin tergoda untuk menyalinnya, tapi jangan biarkan itu menyelinap melewati papan tempat memotong roti menjadi desain produksi. :)
Sunting baru saja mengetahui bahwa Anda menggunakan arduino 3.3V yang lebih baru, jadi cukup balikkan apa yang saya katakan di atas, trik zener resistor masih akan berfungsi meskipun tampaknya beberapa garis i / o pada waktunya mungkin toleran 5v, sepertinya ada beberapa ketidaksepakatan di forum. The amat kecil 3.1 juga merupakan papan ARM kecil yang bagus yang memiliki semua pin 5V toleran dan kurang dari setengah biaya karena dan dirancang lebih baik IMHO http://www.pjrc.com/store/teensy31.html