Küsimus:
Kuidas ühendada Arduino uno r3-ga rohkem kui 10 andurit
Mr. Robot
2014-06-06 00:06:41 UTC
view on stackexchange narkive permalink

Kuidas ühendada Arduino Uno R3-ga rohkem kui 10 andurit? Arvestasin selle ja saan ühendada vaid 4 tuleleegiandurit (andurit, mis võib leida tuld (näiteks küünal)) ja võib-olla ühe ultrahelianduri. Mul on vaja oma projekti jaoks rohkem. Mul on vaja IR-andurit, mõlemal küljel tuleleegi andurit ja ees ühte ultraheliandurit. Lisaks pean ultrahelianduri jaoks ühendama 2 alalisvoolumootorit, 1 ventilaatori ja 1 servomootori. Kuidas ma saan selle lahendada? Pean ostma Arduino Mega?

Tehke protokolli ja mõne siiniseadmega buss :)
Ja kui te ei soovi bussi teha: lugege kasutatavad tihvtid / protokollid kokku. Tehke sellest kena skeem. Ja hindage teie nõudeid
Tahate teada, kuidas salvestust arvutis lugeda. Olen algaja
kas teate, kuidas lahendada eelmainitud probleem multiplekseri TCA9548A abil?
Neli vastused:
Dariusz
2014-06-08 16:07:37 UTC
view on stackexchange narkive permalink

Laiendaja abil saate hõlpsasti suurendada I / O-tihvtide arvu, nt PCF8574. Laiendit saab ühendada oma SCL / SDA tihvtidega, mis asuvad GND / AREF-tihvtide kõrval. (Siit leiate üksikasjaliku foto: http://forum.arduino.cc/index.php?topic=84190.0) Saate ühendada kuni 8 sellist laiendajat, et laiendada oma digitaalsete tihvtide arvu 64.
Kui olete selle ühendanud, on siin koodilõik selle kasutamiseks:

  #include <PCF8574.h> // teek saadaval aadressil: https://github.com/skywodd/pcf8574_arduino_libraryvoid setup () {PCF8574 andurid; andurid. algus (0x20); // 0x20 tähendab, et ühendasite maandusanduritega PCF8574 tihvtid A0, A1, A2.pinMode (0, INPUT_PULLUP); sensors.pinMode (1, INPUT_PULLUP); /*...*/} void loop () {bait sensorValue = sensors.digitalRead (0); // loeb 1. anduri digitaalset väärtust, mis on ühendatud PCF8574 laiendaja tihvtiga 0 /*...*/}

Lisateavet saate selle õpetuse abil (märkus : nad kasutavad traadiliidest, nii et kood erineb. Valige see, mida eelistate).

ryeager
2014-06-06 03:48:03 UTC
view on stackexchange narkive permalink

Ma ei soovitaks multipleksimist, kuid olen nõus, et üks võimalus on lisada teine ​​MCU.

Teine parem võimalus on kasutada N-bitist nihkeregistrit. Need on väikesed IC-d, mis nimega täpselt seotud on: nihkeregistrid ning neid on palju lihtsam seadistada ja nendega liidestada kui I / O-de või multipleksimise lisamiseks kogu teise mikrokontrolleri raiskamine (mis piirab teie rakendust). Te saate tegelikult sisend- / väljundseadistusi muuta, kui soovite, ja seejärel saate need registrid fikseerida, kui teie registrisse on laaditud õige sisend- ja väljundjärjestus. Teisisõnu, kui ma sooviksin saada 8 uut sisend- / väljundnõela, saaksin oma MCU-ga ühendada 8-bitise nihkeregistri ja kui sooviksin 4 esimest nööpnõela HIGH ja 4 viimast madalat, vahetaksin sisse 00001111b, siis riivige andmed nii, et need ilmuksid väljundile justkui MCU tavalise I / O-tihvtina.

Nende kasutamiseks on vaja ainult mõnda tihvti (seega on see lihtne viis oma süsteemi rohkem andureid lisada. Nagu alati, kontrollige andmelehelt, kas IC vastab teie spetsifikatsioonidele ( voolutugevus, pinge jne).

Selle puuduseks on see, et N-bitise nihkeregistri jaoks põletate andmete laadimiseks N kellatsüklit. Enamiku rakenduste puhul peaks see olema hea, kuid see väärib märkimist. See muudab ka veidi keerukama koodi (kuigi olen kindel, et nende jaoks on seal ka teeke).

Märkus: nägin, et mainisite selliste juhtimisseadmete haldamist nagu alalisvoolumootorid jne. Veenduge, et te ei üritaks neid I / O-tihvtidega otse juhtida, ja kasutate seda tüüpi välisseadmete juhtimiseks lülitit või transistorit.

Anonymous Penguin
2014-06-06 02:50:46 UTC
view on stackexchange narkive permalink

Mega on lihtsaim viis paljude tihvtide hankimiseks, nagu ütlesite, mega. Sellel on palju muid eeliseid, nagu näiteks suurem voolutugevus, rohkem mälu ja rohkem UART-porte. Soovitan soojalt seda marsruuti teha algajale, isegi kui saate ametliku laua asemel klooni. Kui ükski neist ei oleks teile eelis, on paar erinevat asja.

  • Teine MCU. Ühendamiseks saate hankida veel ühe Uno kiibi. Seda nimetatakse ATmega iseseisvaks. Need on üsna odavad. I 2 C on lihtsaim viis nende ühendamiseks, kasutades igast kiibist ainult kahte tihvti. Seadistamine sõltub projektist.
  • Multipleksimine. On võimalus ühendada rohkem asju, kui Arduinol on tihvte. Seda nimetatakse multipleksimiseks . See mõjutab küll jõudlust veidi, kuid mõne rakenduse jaoks on see seda väärt. Märkus: see ei tööta teekide ega SPI / I 2 C korral. 4051 kiip tundub korralik kiip. Arduino mänguväljakul on selle kiibi kohta hea sissejuhatav artikkel..
Zeph
2016-03-15 14:27:59 UTC
view on stackexchange narkive permalink

On mitmeid viise, kuidas saada rohkem sisendeid ja väljundeid, millel on erinevad tagajärjed. Ja see sõltub andurite tüübist ning teekidest või koodijuppidest, mida soovite kasutada.

Esimene asi, mida peate tegema, on loetleda soovitud andurid koos iga kasutatava liidese tüübiga. ; Ma kasutan arvutustabelit.

Näiteks võiks leegiandur kasutada ainult ühte digitaalset väljundit (minnes Arduino digitaalsisendisse), kusjuures lävi on moodulil seatud potiga. Või võib see väljastada analoogsignaali, mis läheb Arduino analoogsisendisse, võimaldades koodil tuvastada intensiivsust või määrata erinevaid künniseid ilma, et oleks vaja potti liigutada. Igal lähenemisel on erinevad tähendused.

Peale nende kahe (lihtne digitaalne ja analoog) on ​​veel muid anduri ja ajami liideseid. Mõned annavad muutuva väärtuse (nagu analoog), kuid põhinevad impulsi ajastamisel digitaalsignaalil; nii töötavad kõige odavamad ultraheli kaugusmõõtjad. Muidugi on ka andureid, mis kasutavad standardseid (I2C või SPI) või patenteeritud (ühe juhtmega protokolli või DHT-xx temp & niiskuse andureid).

Samuti vajavad mõned väljundid PWM-i või muud signaali, kaugemale lihtsast sisse- ja väljalülitamisest.

Eriti lihtsaid digitaalseid sisendeid või väljundeid saab I2C pikendajate või nihkeregistritega üsna lihtsalt kasutada. Näiteks digitaalse väljundanduri kontrollimine või valguse sisselülitamine.

Täiendavaid analoogsisendeid saab teha analoog-multipleksimisega (nagu elektrooniline lüliti) või I2C või SPI abil väliste ADC-moodulite kaudu. / p>

Kui on vaja ajastust, on potentsiaalseid probleeme suurem. Sageli kasutaksite selliste asjadega toimetamiseks raamatukogu.

Raamatukogud. Enamik andurite ja ajamite teeke kirjutatakse Arduino otsese sisendi ja väljundi tihvtide kasutamiseks. Initsialiseerimise ajal võite küll anda PIN-koodi, kuid kui kasutate nihkeregistrit või laiendajat, pole kuidagi võimalik teegile öelda, kuidas kohandatud laiendit kasutada. Sellisel juhul peate meie oma koodi rullima ilma teeki kasutamata või tegema teegi muudetud versiooni, mis teeb teie riistvaralaienduse riistvara kaudu sisse / välja.

Spetsiaalsed tihvtifunktsioonid. Teine probleem on spetsiaalsed tihvtifunktsioonid; kui teek või koodilõik, mida soovite kasutada, loodab kasutada tihvti erifunktsiooni (nt tihvti katkestus või taimeri sisendi hõivamine), mis ei pruugi teie laienduse riistvarast saadaval olla või võib olla lisatöö. Näiteks võivad mõned laiendajad anda märku Arduino katkestusnõelast, kui mõni nende sisend muutub - kuid selle tabamiseks peate kirjutama oma katkestuse käitleja ja asendama otsese tihvti katkestuse funktsionaalsuse. p>

Ajastus. Ja kolmas probleem on see, et mõnikord on kitsast ajastust keeruline hallata laiendusriistvara kaudu.

Enamikku neist saab lahendada asjakohaste jõupingutustega, mõnikord lihtsalt ja vahel ka mitte. Vaadake oma andurite ja ajamite loendit; Selgitage välja, milliseid saab hõlpsamini laiendusriistvara külge kinnitada (näiteks vahetuste register) ja millised tuleks lihtsuse või jõudluse huvides otse Arduino külge kinnitada. Teil võib olla vedanud.

Soovitused

1) Kui saate hakkama kõigi väljamõeldud andurite või otsese tihvtiga täiturmehhanismidega ja katta kõik lihtsad nihkeregistritega või I2C pikenduskiibid, see on otstarbekas variant. Näiteks kui teie kood soovib aeg-ajalt kontrollida, kas leeki on tuvastatud (digitaalne versioon), või soovite mootorit sisse lülitada, pole otsese tihvtijuurdepääsu asemel vahetuste registri läbimine nii keeruline.

2) Kui lähete sellest kaugemale ja otsite tihvtid asjadest, mida on otse ühendades palju lihtsam käsitseda, soovitan minna Megale või Mega2560-le. Sellel on rohkem digitaalseid tihvte ja rohkem analoogsisendeid ning rohkem PWM-i väljundid. Enamik (ka mitte kõik) raamatukogud kohanevad lihtsalt PIN-koodide muutmisega. Väliste digitaalsete ja analoognõelte kasutamist on palju lihtsam kui raamatukogude ümberkirjutamisel.



See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...