Voinko käyttää projektissani Arduinon analogisia nastoja digitaalisena?

Olen uusi Arduinon käyttäjä ja minulla on Arduino Uno. Olen tehnyt projekteissani vain digitaalisia nastoja.

Rakennan pienen ajoneuvon, joka käyttää askelmoottoreita. Minusta on loppunut nastat ohjaamaan tämän ajoneuvon moottoreita. Mille analogiset nastat ovat? Voinko käyttää analogisia nastoja muiden Arduinoon kytkettyjen askelmoottoreiden ohjaamiseen vai onko minun ostettava isompi Arduino kuin Arduino Uno tämän muokkauksen hallitsemiseksi?

Vastaa

Kyllä, Arduinon analogisia nastoja voidaan käyttää digitaalilähtöinä.

Tämä on dokumentoitu Arduino-syötetappien dokumentaatiossa Pin-lisäys-osiossa:

Nastojen kartoitus
Analogisia nastoja voidaan käyttää identtisesti digitaalisten nastojen kanssa käyttämällä aliaksia A0 (analogiatulolle 0), A1 jne. Koodi näyttää esimerkiksi tältä aseta analoginen nasta 0 lähtöön ja aseta se HIGH:
pinMode (A0, OUTPUT);
digitalWrite (A0, HIGH);

Kommentit

  • Joo … anteeksi. Muistan, että oli myöhäistä, kun lähetin sen ja olin uninen ja menetti keskittymisesi. Poistin kommentin.

Vastaa

Voit aina käyttää analogisia nastoja digitaaliseen kirjoittamiseen.

  • digitalRead() toimii kaikilla nastoilla. Se vain pyöristää vastaanotetun analogisen arvon ja esittää sen sinulle. Jos analogRead(A0) on suurempi tai yhtä suuri kuin 512, digitalRead(A0) on 1, muuten 0.
  • digitalWrite() toimii kaikilla nastoilla sallitulla parametrilla 0 tai 1. digitalWrite(A0,0) on sama kuin analogWrite(A0,0), ja digitalWrite(A0,1) on sama kuin analogWrite(A0,255)
  • analogRead() toimii vain analogisilla nastoilla. Se voi viedä minkä tahansa arvon välillä 0 ja 1023.
  • analogWrite() toimii kaikilla analogisilla nastoilla ja kaikilla digitaalisilla PWM nastat. Voit antaa sille minkä tahansa arvon välillä 0–255.

Analogisten nastojen avulla voit lukea / kirjoittaa analogisia arvoja – periaatteessa sen sijaan, että annettaisiin jännite 0 tai 5 (kuten digitaalisella) , ne voivat antaa jännitealueen välillä 0 – 5 (sekä tulona että ulostulona). Huomaa, että analogisen lähdön jännite on vain yleismittarilla havaittu jännite. Todellisuudessa analogiset nastat lähettävät 0V- ja 5V-signaalipulsseja saadakseen analogiseksi näyttävän lähdön (tämä on PWM).

Mitä tulee nastojen lukumäärään: pidä mielessä, että PWM-nastat voivat olla käytetään analogiseen lähtöön. Jos nastat loppuvat, voit tehdä enemmän käyttämällä -multipleksointia . Toista Arduinoa ei tarvitse hankkia.

Kommentit

  • AnalogWrite () ei lähetä jännitteitä välillä 0-5 (lukuun ottamatta eräpäivää)! AnalogWrite () muuttaa vain signaalin pulssinleveyden modulointia. Lähtöjännite on edelleen 5 volttia (tai mikä tahansa VCC on). Nastat, jotka on merkitty ” analoginen ”, tuottavat vain 0 V tai 5 V. Ne eivät ole vaihtelevia ja ovat huomautuksia
  • @ JamesC4S: Hyvä asia, muokattu. Kiitos 🙂
  • Paljon parempi! 🙂
  • Ovatko analogisten nastojen digitalRead () ja digitalWrite () hitaampia? Jos digitalRead () pyöristää arvon, voin kuvitella sen olevan hitaampaa kuin digitalRead () digitaalisella tapilla?
  • Tämä on erittäin tiivis ja informatiivinen, kiitos, mutta uskon, että siinä on yksi pieni virhe. mukaan hieno asiakirja : the Arduino (ATmega) will report HIGH if: a voltage greater than 3.0V is present at the pin (5V boards), joka on ristiriidassa tämän viestin lausunnon kanssa If analogRead(A0) is greater than or equal to 512, digitalRead(A0) will be 1, else 0.

vastaus

Arduinon analogisia nastoja voidaan käyttää digitaalisina nastoina, kuten huomautti Anindo Ghosh.

Vaikka tapit loppuisivat askelmoottoreiden hallitsemiseksi, sinun ei todellakaan tarvitse ostaa toista levyä. Voit käyttää yksinkertaisesti välikomponenttia, kuten rekisteriä tai multiplekseria, sopivan askelmoottorin ohjaamiseen.

Vastaa

Jos sinulla on siihen varaa ja haluat todella tehdä askeleen kanssa työskentelemisen erittäin helppoa tutustu Easy Stepperiin . Olin hyvin tyytyväinen.

esimerkkikoodisivulta

http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414-080645.jpg

 Example 1: Basic Arduino setup This is the most basic example you can have with an Arduino, an Easy Driver, and a stepper motor. Connect the motor"s four wires to the Easy Driver (note the proper coil connections), connect a power supply of 12V is to the Power In pins, and connect the Arduino"s GND, pin 8 and pin 9 to the Easy Driver. Then load this sketch and run it on your Arduino or chipKIT: void setup() { pinMode(8, OUTPUT); pinMode(9, OUTPUT); digitalWrite(8, LOW); digitalWrite(9, LOW); } void loop() { digitalWrite(9, HIGH); delay(1); digitalWrite(9, LOW); delay(1); } 

Myös samalla sivulla on tässä esimerkkikoodi kahden moottorin käyttämiseksi kahdella easystepper-levyt, kiihdytyksellä / hidastuksella: http://www.sc-fa.com/blog/wp-content/uploads/2013/04/20130414-081018.jpg

 #include <AccelStepper.h> // Define two steppers and the pins they will use AccelStepper stepper1(1, 9, 8); AccelStepper stepper2(1, 7, 6); int pos1 = 3600; int pos2 = 5678; void setup() { stepper1.setMaxSpeed(3000); stepper1.setAcceleration(1000); stepper2.setMaxSpeed(2000); stepper2.setAcceleration(800); } void loop() { if (stepper1.distanceToGo() == 0) { delay(500); pos1 = -pos1; stepper1.moveTo(pos1); } if (stepper2.distanceToGo() == 0) { delay(500); pos2 = -pos2; stepper2.moveTo(pos2); } stepper1.run(); stepper2.run(); } 

kommentit

  • Tämä ei todellakaan ’ vastaa kysymykseen; se olisi parempi kommenttina. Voisiko lihoitatko sen niin, että se vastaa kysymykseen?
  • @AnnonomusPerson: EasyDriver-askelmoottorin ohjain näyttää aktiiviselle tuotteelle, varastossa ja kaikessa.

vastaus

Lisätään vastauksena, koska ei voi kommentoida.

Jos haluat vastata lyhyesti, kyllä, voit. Ole hyvä ja katso Anindo Ghoshin vastauksiin siitä, miten se tehdään.

Huomaa kuitenkin, että Arduino Nano : n nastat A6 ja A7 ovat vain analogisia eikä sitä voida käyttää digitaalisessa tilassa.

Kommentit

  • Huomaa, että tämä vastaus sisältää melkein vain linkin. Linkit / verkkosivustot voivat vanhentua, mikä tekee vastauksesta turhan. Säilytä linkki, mutta tiivistä tai lainaa verkkosivuston asiaankuuluvia osia.
  • @Huisman Ollaksemme oikeudenmukaisia, linkit muihin EE.SE-sivustoon liittyviin kysymyksiin eivät todennäköisesti ole vanhentuneita tai niistä ei pääse käsiksi; mutta lyhyt yhteenveto parantaisi varmasti vastausta.
  • @JYelton en seurannut linkkiä, mutta ’ oikeassa.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *