Antes de tudo, vou usar arduino !

=D

mas preciso de uma ajudinha antes :)

Espero não ser deletado, mas se for deletado, tudo bem.

Bom, quero transformar essa máquina de escrever em algo mais "automático." Já vi pela internet que tem como, no entanto, minha duvida no momento é:

- Devo usar 5V ou menos?

 

Fiz uma postagem em uma página no facebook, mas aquele "treco" é muito ruim como fórum, então resolvi testar este, já que muitas duvidas já me tirou, e muitas alegrias me trouxe! =D

O pessoal de lá, disse que, ao invés de "injetar" a energia do arduino diretamente nas entradas da máquina, seria interesante usar um CI 4066 (analog switch) Pelo que eu entendi, é algo semelhante a um relé, porém em CI.

ALGUMAS ETAPAS.

Algumas coisas eu já fiz e testei, no entanto conforme vamos progredindo novas duvidas vão surgindo.

Passei um bom tempo pensando em como acionar as letras, se seria melhor movendo as "agulhas" ou as teclas, logo, peguei papel e caneta e desenhei "o caminho" da ligação das teclas para acionar, logo isso gera uma matriz que devo "importar" para o arduino.

Como eu posso fazer isso via Serial Monitor?

Quero eu, apertar a letra A do teclado do PC mandar para o arduino e ele acionar a máquina, porém minha dificuldade está sendo em escrever esta matriz com as letras, números e sinais especiais, alguém teria uma idéia para me ajudar?

com constantes? Mas como ficaria a tecla do positivo?

int + 

daria erro :(

como uma matriz, que aciona display de 7 segmentos?

byte seven_seg_digits[16][7] = { 
{ 1,1,1,1,1,1,0 }, // = Digito 0
{ 0,1,1,0,0,0,0 },  // = Digito 1
 { 1,1,0,1,1,0,1 },  // = Digito 2
E por ai vai....


ou através de IF e ELSE ?

Particularmente prefiro a idéia do if/else, mas espero a colaboração do pessoal, para quem sabe

construirmos algo no minimo interessante.

Obrigado pela ajuda.

Ligando e desligando fazendo um "curto" com um fiozinho :P

https://youtu.be/sNRfF6nmB2g?list=UUKrS9S5y6O2I99aY2336EeA

Exibições: 2634

Responder esta

Respostas a este tópico

Oi AO, boa noite.

Vamos fazer como fazia o Jack. vamos por partes.

1o.  Pelo que entendi, você quer usar o teclado do PC para que a sua maq. de escrever (kkkkkk coisa

      de véio gagá),  imprima a letra que digitou.  Ok?

2o.  Você fala em 5V ou menos.  O que é isto?

3o.  Qual é o interface desta maquina com o teclado.  Esquema de pinos de entrada e ligações.

A partir daí, tudo é possível.

Rui

Bom dia Rui.

Obrigado primeiramente. =D

Bom, eu sei que é coisa de véio gagá mesmo, mas eu sempre gostei de máquinas de escrever, e resolvi juntar elas com o aprendizado em Arduino, apesar que quanto mais estudo, mais vejo que quis "dar o passo maior que a perna" já que me falta muito conhecimento pra fazer este projeto, uma coisa é fazer um Ctrl+C Ctrl+V destes projetos da internet, outro é começar algo do zero. Mas enfim, espero que o pessoal aqui me ajude.

Então, adianto um Muito Obrigado a todos desde já.

Vamos as suas perguntas:

1º: Sim, é exatamente isso, claro, que no futuro, a idéia seria colocar um cartão SD com arquivos TXT e tudo mais, mas isto por enquanto está na "fantasia" primeiro pretendo fazer algo mais pela Serial Monitor mesmo, já que acredito, seria mais simples, já que envolveria menos ligações com fios e shields.

2º Estes 5 Volts, creio que foi "redundância" da minha parte. Eu digo 5 Volts a serem "injetados" nos pinos da máquina, mas como de uma maneira ou de outra, vou usar o 4066 ou algum outro, já que surgiram outros tipos de CI nos comentários, acredito que seria a alimentação da própria máquina, o que não iria interferir no quesito "qual tensão alimentar". 

3º Escrever seria chato, então acho... acho... que é isto que você quer saber...

Quanto aos pinos, todo o desenho e trabalho que tive, resultou nisso...

PINO = O QUE FAZ

1 = Tecla sem função;

2 = apaga letra ou palavra, Enter (nova linha), volta uma letra, solta margarida ao chegar na margem final;

3 = on/off, Tabulação, Fixa;

4 = +e% , = e menos, acento circunflexo, acento til, Exclamação, dois pontos;

5 = ), $ , P, o , L, Ç, ponto, virgula.

6 = 8, 9, c, i , u, j, k, m, n;

7 = 6, 7, y, t, g, b, v;

8 = 4 , 5 , r , e , d , c , x ;

9 = 1 , 2 , 3 , q , w , a , s , z;

10 = CODE, MODE (funções especiais da máquina "negrito, centralizado, espaço entre letras e linhas...")

11 = 5 , 7 , 9 , $ , apaga letra ou palavra, Tabulação;

12 = s , f , h , k , ç , exclamação;

13 = ? , Fixa , r , y , i , p , =, solta margarida ao chegar na margem final;

14 = z , c , b , m , ponto,

15 = ? , 2 , 4 , 6 , 8, zero, +e%;

16 = a, espaço, d , g , j , L

17 = on/off, q , e , t , u , o , acento circunflexo, Enter;

18 = 1 , x , v , n , virgula, dois pontos;

19 = LED verde (aviso função ativa);

20 = LED amarelo (aviso função ativa);

21 = comum aos LEDs

22 = Função especial (força entrada papel)

23 = ??? (Não tem função/ sem uso);

24 = CODE

25 = MODE

Olá pessoal,

Está ficando interessante!!!

Agora só falta você desenhar a matriz para se ter uma ideia de como ficará a matriz.

Usando o CI MT8816 teriamos teoricamente o seguinte [pino do seu conector = pino do MT8816]:

COLUNAS: [2=Y0], [3=Y1], [4=Y2], [5=Y3], [6=Y4], [7=Y5], [8=Y6] e [9=Y7]

LINHAS: [11=X0], [12=X1], [13=X2], [14=X3], [15=X4], [16=X5], [17=X6] e [18=X7]

Para os demais pinos (1, 22, 24 e 25) use o 4066.

Utilize 2 opto-acopladores para enviar o estado dos leds para o arduino (pinos 19, 20 e 21).

Para o código do Arduino, crie um array da seguinte forma:

byte mapa_linha_coluna[128][2];

Defina os caracteres de modo que o primeiro elemento do array siga o código ASCII.

O segundo elemento seria LINHA (0) ou COLUNA (1).

Deste modo, por exemplo, desejar imprimir o caractere '1' na sua máquina, a informação de LINHA estará no mapa_linha_coluna[49,0] e coluna no mapa_linha_coluna[49,1].

Ou seja: criando uma função pressionar(int caractere), passando o caractere '1' para ele => pressionar('1')

Sem precisar aninhar IF, basta chamar 2 funções que fazem o seguinte:

setar_pinos_linha(mapa_linha_coluna[caractere,0]);

setar_pinos_coluna(mapa_linha_coluna[caractere,1]);

Seu programa ficará bem simples e rápido.

Valeu?

Boa sorte!!!

  'Eiju

Putz ! Que trabalheira !

Faça uma matriz igual ao do teclado da sua maquina de escrever 

por exemplo - letra A - acione linha X com coluna Y 

Monte uma tabela com o acionamento de COLUNA X LINHA. 

Pode usar as chaves 4066. 

Esse teclado é de um Commodore 64 ( antigão)  matriz com 64 chaves !

Trabalheira mesmo... Não sei se vale pelo resultado, mas será um belo aprendizado.

Para contribuir, a chave 4066 acredito sirva perfeitamente. No entanto existe uma versão alternativa dela, a CD4051, que é uma montagem com 8 chaves ligadas com 1 fio em comum, alem de um decoder de endereço. Usando os decoders vc pode gastar só 3 ios para escolher qual saida dentro de um CI e vai precisar de mais 8 para escolher qual CI. Sem eles precisaria de 64 IOS ou mais 2 integrados decoders.

A grande vantagem dessa é que com 8 integrados vc tem suas 64 chaves. Já se for 4066 por 4066 vai ter que usar 16 integrados e interligar os pinos de entrada em grupos de 8.

Nem deveria falar, pq é um caminho mais complicado, mas a titulo de curiosidade, existe uma chave que em apenas 1 integrado poderia fazer todas as combinações: MT8816 ou M3494.  É um integrado usado em PABX, para fazer a comunicação entre os ramais/troncos. Poderia "fechar curto" em uma matriz de até 8x16. 

Eduardo, essa matriz de chaves MT8816 resolveria !

Excelente dica !

http://www.microsemi.com/document-portal/doc_view/127038-mt8816-dat...

Bom dia  Eduardo.

Bom, dei uma rápida pesquisada no google e encontrei algumas coisa interesantes sobre este CI que vc falou.  MT8816

Bom, vamos ver se eu entendi...

Nos pinos de AX3 a Ax0, eu coloco uma das pontas da matrix linha/coluna  e nos pinos de AY2 a AY0 eu coloco a outra ponta da matrix linha/coluna ? Seria isso?

Mas ainda assim não ficaria faltando pinos?

Bom dia  José Gustavo, 

o que você diz, seria +- a cópia disto?

Isso ! Faça um desenho da matriz do teclado. 

Vai precisar para montar o seu circuito.

Sugiro que faça matriz de caracteres.

Partindo da suposição que todos os caracteres que deseja possa ser "desenhado"com 16 x 7 "pixels", e a gama de caracteres que deseja esteja dentro da tabela ASCII que contém 128 ou 256 caracteres:

Minha sugestão é a de utilizar uma matriz de 3 dimensões [128][16][7].

Tente acomodar a tabela na memória do programa para economizar RAM (vai precisar fazer isso mesmo).

E pronto!

  'Eiju

Bom dia Eiju.

Eis algo que vou ter de fazer mesmo, já que todos foram unanimes em falar sobre esta matriz.

Veja o que comentei na primeira pergunta do Rui


lá eu deixei o que faz cada tecla ao ser pressionada.

E acredito que vai até sobrar teclas. =D
Pois esta máquina, não ter certos caracteres, como o arroba.

Agora, o problema seria "jogar" um programa assim no arduino =/

Oi AOL, boa tarde,

foi legal você descrever o que escreve cada um dos pinos.

Estes pinos são a composição de uma matriz na membrana do teclado e "curtocircuitada"no momento em que se

pressiona uma tecla.

Assim por exemplo: ao pressionar a tecla w, então uma linha x e outra y, são fechadas, e a maquina 

usará o pino  9  "= 1 , 2 , 3 , q , w , a , s , z;"  pra escrever a letra w.

Acho que o caminho tá muito bom pra dar continuidade deste seu projeto.

Foi bom  postar as fotos do interface também.

Na sequencia, eu gostaria de saber 2 coisas a mais.

1o. o numero deste CI que está logo depois dos pinos.

      Ele deve ser o CI "Decoder" do teclado.  Ex:  http://retired.beyondlogic.org/keyboard/keybrd.htm

2o.  Eu gostaria de saber como é a matriz do seu teclado.

   Exemplo abaixo.. (mas não deve ter resistores e diodos no seu).

Depois continuamos (Caras gagás mesmo. kkkkkkk)

Rui

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço