Saturday 28 October 2017

Binarie Options Arduino Shift Out-


Navigazione Versione corrente 1.1.0 2011-03-02: il supporto IDE 1.0. e testato su 0021 e 0022 1.0.0 2012-01-13: il primo rilascio. 1.1.0 2012-03-02: seconda release. Descrizione shiftOutX è una libreria per controllare registri a scorrimento. L'ho usato su quattro registri a scorrimento 74HC595 daisy chain, ma può controllare fino a otto registri. non usa SPI in modo che non funziona per PWM, ma se gli interruttori ON OFF sono tutto ciò che è necessario per guidare i LED Relè eo (probabilmente transistor per pilotare i relè che in realtà è quello che stavo usando per) allora questo funzionerà. è proprio come le uscite digitali sul Arduino. si compone di funzioni SHIFTOUT modificati da wiringshift. c. si spera servirà qualcuno. nella versione 1.1.0 SPI è stato aggiunto e puntatori ad array di byte vengono utilizzati al posto di interi lungo lungo, è più veloce e PWM funziona (software implementato). Scaricare, installare e importazione e mettere la directory shiftOutX in DocumentsArduinolibraries (Mac) o My documentsArduinolibraries (Windows) di Arduino IDE. È possibile vedere un esempio schizzo da file - gt Sketchbook - gt Esempio - gt shiftOutX - gt shiftFourRegisters. Per creare un nuovo schizzo, selezionare dalla barra dei menu Sketch-gtImport Biblioteca-gtshiftOutX. Una volta che la libreria è importata, un include apparirà linea ltshiftOutX. hgt nella parte superiore del vostro Sketch. e anche, un comprendono ltshiftPinNo. hgt È necessario creare un'istanza della classe SHIFTOUT in questo modo: shiftOutX (byte latchPin, dataPin byte, byte clockPin, byte bitOrder, NofRegisters byte) shiftOutX regGroupOne 40 8. 11. 12. MSBFIRST. 4 41 Sì, è possibile collegare più daisy chain registri basta usare un spettacolo diverso latchPin numero di modo da poter effettivamente aggiungere altri quattro registri e solo prendere un altro passaggio di Arduino solo dichiarare un'altra istanza per esempio regGroupTwo e utilizzare lo stesso dataPin e clockPin. È possibile utilizzare due gruppi di otto per un totale di 128 uscite Le informazioni su questa paginaIl 74HC164 Shift Register e il vostro Arduino ampquotsome altri modelli sono in parallelo a seriale out, fanno la stessa cosa, ma come input per il arduinoampquot. Quali numeri parte sono questi, come ho can39t a trovare un registro a scorrimento PISO 8 bit sulle 74xx parti elencare più serie 74 di logica I. C. hanno una parte complementare che sono 1 o 2 cifre diverse, date un'occhiata alla 165 e 166. Coloro don39t faccio quello che voglio, ma non importa come I39ve risolto il problema. Ho bisogno di informazioni in ingresso dagli 15 diversi passa alla arduino, ma mi hanno don39t che molti perni di ricambio ltemgt (alcuni sono in uso come uscite) ltemgt. I39ve usato 4 ltstronggt73LS30ltstronggt (8 porte di ingresso NAND) per dare un binario di uscita a 4 bit, in modo da useranno solo 4 pin sul Arduino. Non come 1 pin (di serie), ma meglio di 15 pin tutorial molto cool. ltbrgtI ha avuto un problema capire dove collegare l'orologio (8) ltbrgtand pin 9 (V) sul 74HC164. Alla fine ho preso e messo a terra 9.ltbrgtI perno chiedevo perché quando ho toccato il perno 9, i led accendevano up. ltbrgtThen realizzato mi stavo comportando come una sorta di terra poi mi ha colpito. LOLltbrgtMy prossimo tutorial sarà il 7 segmento display. ltbrgtltbrgtAlso Mi chiedevo come posso avere il flash matrice 4x4 letters. ltbrgtCould mi dai qualche informazione su questo Come posso aprire il file TMP in IDE Arduino. a quanto pare non funziona. ltbrgtthank si :) clic sui link qui sopra si aprirà nel tuo browser, basta copiare e incollare, o rinominare il file tmp di PDE (non avere idea del perché il suo fare che) Okay. i39ll provare. Grazie Questo è un ottimo instructible Questo è di gran lunga il miglior guida per principianti registri a scorrimento i39ve incontrerete. Grazie mille per aver messo questo là fuori. Spero che ancora rispondere a domande di questo instructable. Ho finito di costruire la matrice 4x4. cuciture che tutto funzioni bene, ma sto avendo difficoltà illuminando il LEDs. ltbrgtltbrgtI può facilmente indirizzare un singolo LED per illuminare, ma quando lo faccio ottengo dintorni LED per accendere così (molto dimmer poi il LED indirizzata) ltbrgtltbrgtI hanno attaccato una foto per mostrare ciò che sta succedendo. Sto cercando di appena accende e il LED che è in posizione (1,1), ma come LED stesso tempo (4,4) è lit. ltbrgtltbrgthere vagamente è il pezzo di codice che sto usando. ltbrgtshiftOut (dati, orologio, MSBFIRST, B10000001) ltbrgt ritardo (1) ltbrgtltbrgtAny indovinare il motivo per cui Ciao volevo dire grazie per un grande tutorial, sto per finire di costruire la matrice 4x4 e ti consente di sapere come va. ltbrgt Grandi tutorial. ampnbsp Grazie per averlo reso, it39s reale helpfulltbrgt Questa è una guida fantastica ltbrgt ltbrgt I39ve stato alla ricerca di qualcosa di scritto in questo modo per un po '. ltbrgtI ora hanno un 4x4 completamente di funzionamento del LED a matrice, che I39ve me costruita, e avuto modo di mostrare i modelli che voglio. ltbrgt ltbrgtThis è tutto grazie a voi. ltbrgt ltbrgt ltbrgt Cheers, ltbrgt ltbrgt Mikey C Super rad esercitazione doodbitshift sinistra (LTLT), a destra Bitshift (gtgt) Descrizione dal Bitmath Tutorial nel parco giochi ci sono due operatori di scorrimento di bit in C: la sinistra LTLT operatore di spostamento e l'operatore spostamento a destra gtgt. Questi operatori causano i bit nel operando a sinistra da spostare a destra oa sinistra per il numero di posizioni specificate dal operando di destra. Altro su bit a bit matematica può essere trovato qui. numberofbits LTLT variabili numberofbits gtgt variabili parametri variabili - (byte, int, long) numberofbits intero lt 32 Quando si passa un valore x da bit y (x LTLT Y), la più a sinistra bit y in x si perdono, letteralmente spostato di esistere: Se si è certi che nessuno di quelli di un valore vengono spostato nel dimenticatoio, un modo semplice per pensare dell'operatore di sinistra-shift è che moltiplica l'operando a sinistra per 2 elevato alla potenza operando a destra. Ad esempio, per generare potenze di 2, le seguenti espressioni possono essere impiegati: Quando si sposta x destra del bit y (x gtgt y), e il bit più alto in x è un 1, il comportamento dipende dal tipo di dati esatto di x . Se x è di tipo int, il bit più alto è il bit di segno, determinare se x è negativo o no, come abbiamo discusso sopra. In tal caso, il bit di segno viene copiato nel bit inferiori, per ragioni storiche esoterici: Questo comportamento, chiamati estensione del segno, spesso non è il comportamento desiderato. Invece, si potrebbe desiderare zeri essere fatte scorrere da sinistra. Si scopre che le regole di spostamento a destra sono diverse per le espressioni unsigned int, in modo da poter utilizzare un typecast per sopprimere quelli copiati da sinistra: se si sta attenti ad evitare estensione del segno, è possibile utilizzare l'operatore gtgt destra-shift come modo per dividere per potenze di 2. ad esempio: Correzioni, suggerimenti, e nuova documentazione dovrebbe essere pubblicato nel forum. Il testo di riferimento Arduino è sotto una licenza 3.0 Licenza Creative Commons Attribution-ShareAlike. esempi di codice di riferimento vengono rilasciati nel pubblico domain. Serial Parallelo Shifting-out con un 74HC595 Shifting Out amp chip 595 Al momento o un altro si può esaurire perni sul tuo scheda Arduino e la necessità di estenderla con registri a scorrimento. Questo esempio è basato sul 74HC595. La scheda si riferisce al 74HC595 come un registro a scorrimento seriale in, seriale o parallela-out a 8 bit con i fermi di uscita 3-state. In altre parole, è possibile utilizzarlo per controllare 8 uscite alla volta, mentre solo prendendo un paio di pin sul microcontroller. È possibile collegare più registri insieme per estendere la vostra uscita ancora di più. (Gli utenti possono anche voler cercare altri chip driver con 595 o 596 nei loro numeri di parte, ci sono molti. Il STP16C596 per esempio guiderà 16 LED ed elimina le resistenze della serie con built-in generatori di corrente costante.) Come funziona tutto questo è attraverso una cosa chiamata comunicazione seriale sincrona, cioè si può pulsare un perno su e giù per la comunicazione in tal modo un byte di dati al bit registro per bit. Il suo facendo pulsare secondo perno, il perno di orologio, che delineate tra i bit. Questo è in contrasto con la comunicazione seriale asincrona della funzione Serial. begin (), che si basa sul mittente e il destinatario vengano impostata indipendentemente per un concordato velocità dati specificata. Una volta che l'intero byte è trasmesso al registro i messaggi ad alta o bassa detenute in ogni bit ottenere parcellizzate a ciascuno dei singoli pin di uscita. Questa è la parte uscita parallela, avendo tutti i perni fare quello che vuoi che facciano tutto in una volta. La parte uscita seriale di questa componente deriva dal suo perno aggiuntivo che può passare le informazioni seriale ricevuto dal microcontrollore di nuovo invariato. Questo significa che è possibile trasmettere 16 bit di fila (2 byte) e il primo 8 fluirà attraverso il primo registro nel secondo registro ed esprimersi lì. Si può imparare a farlo dal secondo esempio. 3 stati si riferisce al fatto che è possibile impostare i pin di uscita sia come alta, bassa o alta impedenza. A differenza degli stati alto e basso, non puoi impostare i pin per il loro stato di alta impedenza individualmente. È possibile impostare solo il chip tutto insieme. Questa è una cosa abbastanza specializzato per fare - pensare di una serie di LED che potrebbe aver bisogno di essere controllato da completamente differenti microcontrollori a seconda un'impostazione specifica modalità integrata nel progetto. Né esempio sfrutta questa caratteristica e voi non solito bisogno di preoccuparsi di ottenere un chip che ha. Ecco una tabella che spiega i pin-out adattati dalla scheda Phillips. Il primo passo è quello di estendere il vostro Arduino con un registro a scorrimento. Il Circuito 1. Attivazione sul effettuare i seguenti collegamenti: GND (pin 8) a terra, Vcc (pin 16) a 5V OE (pin 13) a terra MR (pin 10) a 5V Questa impostazione rende tutti i pin di uscita attiva e indirizzabile tutto il tempo. L'unico difetto di questo set up è che si finisce con le luci di accendere il loro ultimo stato o qualcosa di arbitrario ogni volta che prima accensione del circuito prima che il programma inizia a correre. È possibile aggirare il problema controllando i perni MR e OE della tua scheda Arduino troppo, ma in questo modo funzionerà e vi lascio con perni più aperti. 2. Collegare Arduino DS (pin 14) per Ardunio DigitalPin 11 (filo blu) SHCP (pin 11) per per Ardunio DigitalPin 12 (filo giallo) STCP (pin 12) per Ardunio DigitalPin 8 (filo verde) D'ora in poi chi sarà essere riferito come il dataPin, la clockPin e la latchPin rispettivamente. Si noti il ​​condensatore 0.1f sul latchPin, se avete qualche sfarfallio quando gli impulsi perno chiusura a scatto è possibile utilizzare un condensatore anche fuori. 3. Aggiungere 8 LED. In questo caso è necessario collegare il catodo (pin breve) di LED ad un terreno comune ciascuno, e l'anodo (lunga pin) del LED al suo pin di uscita registro rispettivo turno di ciascuno. Utilizzando il registro a scorrimento per la fornitura di energia in questo modo si chiama corrente di sourcing. Alcuni registri a scorrimento corrente fonte sopraelevazione, possono solo fare quello che viene chiamato corrente che affonda. Se si dispone di uno di quelli che significa che si dovrà per invertire la direzione dei LED. mettendo gli anodi direttamente al potere e catodi (pin di terra) alle uscite del registro di scorrimento. Si dovrebbe controllare la vostra scheda specifica se di non usare un chip della serie 595. Non dimenticate di aggiungere una resistenza da 220 ohm in serie per proteggere i LED da sovraccarico. Schema Ecco tre esempi di codice. Il primo è solo un codice ciao mondo che emette semplicemente un valore di byte da 0 a 255. La seconda luci programma un LED alla volta. Il terzo cicli attraverso un array. Il codice si basa su due pezzi di informazioni nel foglio di dati: diagramma dei tempi e la tabella logica. La tabella logica è quello che si dice che in fondo tutte le cose importanti che accade su un beat. Quando il clockPin passa da basso ad alto, il registro a scorrimento legge lo stato del perno dati. Poiché i dati viene spostato in esso viene salvato in un registro di memoria interna. Quando il latchPin va dal basso verso l'alto i dati inviati viene spostato da registri a scorrimento registro di memoria di cui sopra nei perni di uscita, illuminazione dei LED. In questo esempio youll aggiungere un secondo registro a scorrimento, raddoppiando il numero di pin di uscita si hanno pur utilizzando lo stesso numero di pin dal Arduino. Il Circuito 1. Aggiungere un secondo registro a scorrimento. Partendo dall'esempio precedente, si dovrebbe mettere un secondo registro a scorrimento sul bordo. Esso dovrebbe avere le stesse conduce ad alimentazione e massa. 2. Collegare i 2 registri. Due di questi collegamenti si limita ad estendere lo stesso clock e bloccare il segnale da Arduino al secondo registro a scorrimento (giallo e fili verdi). Il filo blu va dal pin SERIAL OUT (pin 9) del primo registro a spostamento all'ingresso dati seriale (pin 14) del secondo registro. 3. Aggiungere una seconda serie di LED. In questo caso ho aggiunto quelli verdi in modo che quando la lettura del codice è chiaro che byte sta per quale serie di LED Schema Anche in questo caso sono tre esempi di codice. Se siete curiosi, si potrebbe desiderare di provare i campioni dal primo esempio di questo circuito istituito solo per vedere cosa succede. Codice di esempio 2.1 doppio binario Contatori C'è una sola riga di codice in più rispetto al campione primo codice dell'esempio 1. Si invia un secondo byte. Questo costringe primo registro di scorrimento, quello direttamente collegato al Arduino, per passare il primo byte inviati attraverso al secondo registro, accendendo i LED verdi. Il secondo byte verrà poi visualizzato sui LED rossi. Codice di esempio 2.2 2 Byte One By One Confrontando questo codice al codice simile da Esempio 1 si vede che un po 'di più ha dovuto cambiare. La funzione blinkAll () è stato modificato per le blinkAll2Bytes () per riflettere il fatto che ora ci sono 16 LED per il controllo. Inoltre, nella versione 1 le pulsazioni dei latchPin erano situati all'interno delle sottofunzioni lightShiftPinA e lightShiftPinB (). Qui hanno bisogno di essere spostato di nuovo nel ciclo principale per accogliere il bisogno di eseguire ogni sottofunzione due volte di fila, una volta per i LED verdi e una volta per i rossi. Codice di esempio 2.3 - Doppio definiti Array Come campione 2.2, campione 2.3 sfrutta anche le nuove blinkAll2bytes funzione (). 2.3s grande differenza dal campione 1.3 è solo che invece di una sola variabile chiamata dati e un singolo array chiamato dataArray devi avere un dataRED, un dataGREEN, dataArrayRED, dataArrayGREEN definito in anticipo. Ciò significa che la linea dataRED dataArrayREDj dataGREEN dataArrayGREENj SHIFTOUT (dataPin, clockPin, dati) SHIFTOUT (dataPin, clockPin, dataGREEN) SHIFTOUT (dataPin, clockPin, dataRED) Iniziato da Carlyn Maw e Tom Igoe nov 06

No comments:

Post a Comment