Seguindo banco de estudo de baixo nível HD44780tendo conquistado o primeiro prêmio em uma das competições, o autor de Instructables, com o apelido indoorgeek, decidiu fazer outra posição semelhante. Desta vez, o usuário que quer se sentir no lugar de "viver Arduino”, É possível controlar o registro de turno - um componente importante dos displays de matriz LED e não apenas.
O dispositivo usa o registro de deslocamento 74HC595, que é mais frequentemente encontrado na prática do arduino, e você também pode usar o КР1564ИР52 compatível. Usando três desses microcircuitos, por exemplo, você pode transformar cinco saídas de um microcontrolador em vinte e quatro! E o proposto caseiro Isso mostrará claramente quais processos estão ocorrendo.
Indoorgeek montou esse suporte em duas versões: em uma tábua de pão comum e em uma tábua de pão, assim:
Você pode fazer o que quiser, ou até aplicar uma instalação volumétrica ou fazer uma placa de circuito impresso. É muito mais importante não cometer erros durante a montagem do que discutir sobre seus métodos.
Os componentes do projeto são os seguintes: um registro de turno do tipo indicado acima, um soquete para um microcircuito de 16 pinos (você pode fazer sem ele), oito LEDs, o mesmo número de resistores de ohm único, três resistores de dez ohms, três botões e uma placa adaptadora com um soquete Micro USB Se você tem braços muito retos, basta levar o conector Micro USB e soldar dois fios nele. E se você não gosta de ser original, basta usar um cabo com um conector USB comum. Somente a polaridade em todos os casos, não confunda, bem, não organize um curto-circuito.
Nosso registro de deslocamento é cientificamente chamado de registro de deslocamento de oito bits com três estados. O primeiro significa que possui oito células de memória de um bit e o mesmo número de saídas, e o segundo - que cada um dos bits binários pode assumir um dos três estados: zero, um e alta impedância. Isso não é uma maldição, mas uma imitação de um penhasco, como se não estivesse conectado. Uma saída em um estado agudo, como se costuma dizer, não interfere: você pode puxá-la com um resistor para pelo menos zero, até para a unidade, e ele obedientemente "concorda". Mas se ele entrar em um estado de zero ou um, receberá prioridade, uma vez que a baixa impedância de saída do microcircuito sobrecarregará seu resistor.
O microcircuito possui cinco entradas.Como o leitor provavelmente já adivinhou que, com um número tão pequeno de entradas para obter tantas saídas, você precisa receber informações em série e produzi-las em paralelo. Você digita da mesma maneira no teclado ou escreve no papel, letra por letra, e depois vê todo o texto de uma só vez. Se você conectar vários registradores de turnos em série, poderá aumentar o número de saídas pelo número correspondente de vezes, mas na mesma velocidade de transferência de dados, a longa cadeia de registradores ficará mais longa. Analogia: leva mais tempo para escrever várias folhas de papel do que para preencher apenas uma na mesma velocidade.
Mas o registro de turnos é diferente do papel, pois os dados são automaticamente alterados, daí o nome. Você escreve a próxima parte e todas as anteriores são movidas para o registro ou suas cadeias, a mesma que estava no final antes de desaparecer. Imagine um tubo cheio de bolas, algumas comuns, outras luminosas. Coloque a próxima bola nela - normal ou luminosa, e outra bola voará do lado oposto.
Vamos nos familiarizar com o objetivo das entradas do chip. Por alguma razão, indoorgeek decidiu listá-los em ordem inversa, como antes de lançar uma espaçonave. O 14º pino é necessário para inserir dados seriais. É como uma bandeja na qual você coloca uma bola regular ou luminosa antes de empurrá-la para dentro do tubo. 13ª conclusão - a inclusão de produtos. Se zero for aplicado lá, as saídas serão ativadas como se o aparelho tivesse se tornado transparente. Nós damos um - e o tubo ficou opaco, que bolas e em que ordem o tubo é preenchido, não é visível. Ou seja, todas as saídas do registrador de deslocamento entraram em um estado de alta impedância. Na construção em consideração, essa conclusão é sempre puxada para zero, o que equivale a sempre um tubo transparente. A 12ª conclusão é um tipo de obturador da câmera. Quando existe zero, a imagem que o espectador vê através do tubo não reflete o estado real das bolas nele, mas a que foi observada quando a unidade foi vista pela última vez nesta conclusão. Se houver, o movimento das bolas no tubo pode ser observado em tempo real. Para que tudo isso funcione como descrito, no microcircuito, além do registro de turno, há um registro de armazenamento. A 11ª conclusão está marcando o tempo, ou seja, empurrando a bola da bandeja para dentro do tubo. Damos uma unidade lá no momento em que o valor que precisamos está na 14ª saída e, sem removê-la, removemos a unidade da 11ª saída. A décima conclusão é uma redefinição. Se zero for aplicado lá, isso será equivalente à perda de propriedades luminosas por todas as esferas no tubo. Ao enviar uma unidade para a entrada de redefinição, você pode começar a encher o tubo novamente com bolas comuns e luminosas em qualquer ordem, conforme descrito acima. No estande em consideração, há sempre uma unidade. A conclusão 15, bem como as conclusões 1 a 7, são as saídas do registro de turno. A energia é fornecida como na maioria dos circuitos digitais de dezesseis pinos: 8 - fio comum, 16 - mais cinco volts. Por fim, o pino 9 é a saída para o próximo registro de turno, que pode ser conectado em série a várias peças, como se você tivesse feito um tubo longo a partir de vários tubos curtos. Em geral, conectamos o pino 9 do registro anterior ao pino 14 do próximo e nos alegramos. Você pode melhorar o produto caseiro proposto.
Como este é o segundo suporte para indoorgeek, a fobia na frente dos resistores pull-up, descrita em um artigo anterior, está desaparecendo lentamente dele. Aqui já existem três deles, o que nos permitiu usar botões normalmente abertos em vez dos botões de alternância. Resistores de 10 quilos-ohm foram usados como pull-ups e resistores de 1-quilo-ohm para LEDs. Como no projeto anterior, paralelo ao botão do relógio (11ª saída), é bom conectar um capacitor de 100 microfarads e pelo menos 6,3 V mais ao plus da fonte de alimentação e menos ao microcircuito e resistor. Ele será o supressor de rejeição de contato mais simples.
Repita após indoorgeek:
Então você também conseguiu:
Agora, como usar tudo. Para colocar uma bola luminosa no tubo, pressione o botão conectado ao terminal 14; depois, enquanto o segura, pressione o botão conectado ao terminal 11 e solte-o. Em seguida, solte o botão conectado ao pino 14.Para fazer o mesmo com uma bola não luminosa, com um botão conectado ao terminal 14, não fazemos nada e pressione e solte o botão conectado ao terminal 11. Então você pode escrever no registrador de deslocamento e em alguns bits. Nos dois casos, quando o botão é liberado, conectado ao terminal 12, o estado dos LEDs não muda e, quando pressionado, reflete o estado do registro de mudança em tempo real. Se você decidir não manter esse botão pressionado durante a gravação, pressione-o agora e o registro de armazenamento tirará uma foto do estado atual do registro de turno.
Como o tubo e as bolas são virtuais, e o microcircuito e os LEDs são reais, para o espectador, cada bola que cai do lado oposto do tubo desaparece. Haveria outro registro, ele se mudaria para lá. Você pode melhorar esse design adicionando esse registro e até vários deles e mais oito LEDs com resistores para cada um deles. Conforme indicado acima, o pino 9 de cada registro anterior deve ser conectado ao pino 14 do próximo. E a potência e as entradas 10, 11, 12 e 13 de todos os registros são paralelizadas.
Então você tem uma idéia de quais operações o Arduino realiza controlando os registros de turnos.