Saya baru menggunakan Arduino, dan saya memiliki Arduino Uno. Untuk proyek yang saya lakukan, saya hanya menggunakan pin digital.
Saya sedang membangun kendaraan kecil yang menggunakan motor stepper. Saya sudah kehabisan pin untuk mengendalikan motor untuk kendaraan ini. Untuk apa pin analog itu? Apakah mungkin bagi saya untuk menggunakan pin analog untuk mengendalikan sisa motor langkah yang saya sambungkan ke Arduino, atau apakah saya harus membeli Arduino yang lebih besar daripada Arduino Uno untuk mengendalikan alat ini?
Anda selalu dapat menggunakan pin analog untuk penulisan digital.
digitalRead()
bekerja pada semua pin. Itu hanya akan membulatkan nilai analog yang diterima dan menyajikannya kepada Anda. JikaanalogRead(A0)
lebih besar dari atau sama dengan 512,digitalRead(A0)
akan menjadi 1, atau 0.digitalWrite()
bekerja pada semua pin, dengan parameter yang diizinkan 0 atau 1.digitalWrite(A0,0)
sama dengananalogWrite(A0,0)
, dandigitalWrite(A0,1)
sama dengananalogWrite(A0,255)
analogRead()
hanya bekerja pada pin analog. Ini dapat mengambil nilai apa pun antara 0 dan 1023.analogWrite()
bekerja pada semua pin analog dan semua pin PWM digital . Anda dapat memberikan nilai apa pun antara 0 dan 255.Pin analog memungkinkan Anda membaca / menulis nilai analog - pada dasarnya, alih-alih memberikan tegangan 0 atau 5 (seperti dengan digital), pin analog dapat memberikan kisaran tegangan antara 0 dan 5 (baik sebagai input dan output). Perhatikan bahwa tegangan selama output analog hanya tegangan yang diamati dengan multimeter. Pada kenyataannya, pin analog mengirim pulsa sinyal 0V dan 5V untuk mendapatkan output yang "terlihat" analog (ini adalah PWM).
Mengenai jumlah pin: perlu diingat bahwa pin PWM dapat digunakan untuk output analog. Jika Anda kehabisan pin, Anda bisa menggunakan multiplexing untuk menghasilkan lebih banyak. Tidak perlu untuk mendapatkan Arduino lain.
sumber
the Arduino (ATmega) will report HIGH if: a voltage greater than 3.0V is present at the pin (5V boards)
yang bertentangan dengan pernyataan dalam posting iniIf analogRead(A0) is greater than or equal to 512, digitalRead(A0) will be 1, else 0
.Pin analog pada Arduino dapat digunakan sebagai pin digital, seperti yang ditunjukkan oleh Anindo Ghosh.
Namun, bahkan jika Anda kehabisan pin untuk mengendalikan motor stepper Anda, Anda tidak perlu membeli papan lain. Anda cukup menggunakan komponen perantara seperti register atau multiplexer untuk mengendalikan motor stepper yang sesuai.
sumber
Jika Anda mampu membelinya, dan Anda benar-benar ingin bekerja dengan stepper super mudah, periksa Easy Stepper . Saya sangat senang.
Dari halaman contoh kode
http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414-080645.jpg
Juga dari halaman yang sama, inilah beberapa contoh kode untuk menjalankan dua motor dengan dua papan easystepper, dengan akselerasi / perlambatan: http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414- 081018.jpg
sumber