Toprak olarak dijital I / O pimi


9

Bir I / O pininin toprak fonksiyonuna benzer şekilde bir devrede akım vermesini istiyorum.

Bunlardan hangisi ihtiyacım olanı elde edecek?

pinMode(pinnumber, OUTPUT)
digitalWrite(pinnumber, LOW)

veya

pinMode(pinnumber, input)

ikinci seçeneğiniz pinMode(pinnumber,input), pimi, "yüksek engelleme" olarak da adlandırılan pimin "üçüncü durumuna" yerleştirmektir. Temel olarak, pim bir ohmmetre gibi devreye bağlı değilse.
14'te zmo

"digitWrite"? Şunu mu demek istediniz: " digitalWrite "?
Peter Mortensen

Yanıtlar:


9

İlk snippet'iniz doğru çözümdür.

pinMode(pinnumber,OUTPUT)
digitalWrite(pinnumber,LOW)

Bununla birlikte, pim başına sadece 6mA veya 9mA'ya kadar batırabilirsiniz ( [Giriş ve Çıkış ” dokümantasyonuna göre , daha fazla denemedim). Daha fazla akıma ihtiyacınız varsa, bir transistör kullanın ( bu iyi bir örnek gibi görünüyor, sadece çıkış pimini ters çevirmeniz gerekiyor HIGH).

Pim giriş olarak yapılandırıldığında, istediğiniz gibi değil, yüksek empedans olması gerekir.


Teşekkürler, akım ayrıca Arduino'nun IO pinlerinden geliyor. Bu nedenle, 40mA sınırının bir sorun olacağını düşünmüyorum.
Rajat

@rajat Bir çeşit LED matrisi mi yapıyorsunuz? Dikkat edin, örneğin iki pim arasına (en azından uygun bir akım sınırlama direnci olmadan) yüksek bir akım LED'i taktığınızı varsayarak, yine de çipe zarar verebilirsiniz. Kısa devre oluşturduğunuz durumdan bahsetmiyorum bile.
FredP

Bir basınç sensörü matrisidir, 10 16: 1 çoklayıcıya sahiptir. Akım sadece Arduino USB kablosundan geliyor ve harici güç kaynağı yok.Bu nedenle, yüksek akımın bir sorun olacağını düşünmüyorum. Kısa devreye neden olabilecek şeye biraz ışık tutabilir misiniz?
rajat

@ rajat "1" ve "2" pinleri bağlıysa kısa bir şey yaratacaktır: pinMode(pinnumber1,OUTPUT); pinMode(pinnumber2,OUTPUT); digitalWrite(pinnumber1,LOW); digitalWrite(pinnumber2,HIGH); PS: bunu evde denemeyin, masum arduini'ye zarar vermeyin, bana dava
açmayın

2
6 / 9mA numarası ile biraz şaşırdım. Arduino Due için doğru olduğunuz ortaya çıkıyor, ancak hala büyük çoğunlukta olduğundan şüphelendiğim AVR tabanlı Arduinos (Uno, vb.) İçin bu sayı 40mA'ya benziyor.
microtherion
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.