Ir ao conteúdo

Posts recomendados

Postado

O pedido chegou, mas não tinha os capacitores (220/470n) na loja... Um amigo comprará eles pra mim, e ai sim começarei os testes...

Pelo jeito, não terei problemas de fazer uma interface usando o labview, quando estiver finalizada coloco ela aqui... Mas quero aprender pelo menos o básico do visual C#, já arrumei umas vídeo aulas e apostilas. Qual eu baixo aqui: downloads Visual C#

o Visual C# 2010 expres?

Outra coisa, você poderia postar o seu projeto novamente Matheus? Quando vou baixar ele pelo 4shared da erro.

Valeu ai cara!

Postado

Matheus eu achei 10 o teu projeto, muito bom mesmo!!

Mas, seguinte eu TENTANDO aprender C para pic e eu vi que você tem um display lcd no teu projeto. Então eu queria saber qual o codico fonte dos que você postou está com a comunicação com o display. É isso

Falou

Postado

Aquele montagem com LCD não possuo mais.

No entanto, tenho uma rotina de LCD de teste aqui:

Código:

#include <16F877A.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection

#use delay(clock=4000000)

#include <lcd.C>

/*void lcd_scroll_right(void)
{
lcd_send_byte(0, 0x1E);
}
//-------------------------

void lcd_scroll_left(void)
{
lcd_send_byte(0, 0x18);
}

//Colocar essa parte do código logo abaixo da frase grande.
for(i = 0; i < 20 ; i++)
{
lcd_scroll_left();
delay_ms(50); // scroll delay
} */

void main()
{
lcd_init ();

while (true)

{
lcd_gotoxy (1,1);
lcd_putc("Teste LCD");
delay_ms(500);
lcd_putc("\f");
delay_ms (500);
lcd_gotoxy (1,2);
lcd_putc("com PIC");
delay_ms (500);
lcd_putc("\f");
delay_ms (500);
}
}

Circuito:

hb46S.png

Falou

Postado

valeu Matheus acho que era isso mesmo que eu precissava.

Pena que eu não consegui testa porque não consegui mexe no mplab

Agora estou a caça de um tuto sobre isso

Falou

Postado

O PICkit2 não reconheceu o PIC18F4550 (_( (reconhece outros 18F's), mas o JDM reconheceu, estranho.

Aê jovem! Fiz um teste com leitura de uma entrada analógica e plotagem das amostras no labVIEW, o capacitor usado foi de 224M (220nF). Segue o vídeo.

Obs: A forma que consegui passar os dois vídeos ao mesmo tempo foi esta.

Espere os dois vídeos carregarem, e depois aperte double up :D.

USB PIC18F4550 labVIEW teste.

(vídeo da esquerda adiantado 1 segundo, em relação ao vídeo da direita)

***

EDIT

Esqueci de tirar uns jumpers do gravador, por isto ele não estava reconhecendo.

Postado

Boa test man*~.

Gostei do resultado obtido!!

Fico contente que tenha se empenhado. Agora você já pode fazer o contrário. O Labview enviar dados ao PIC e fazer alguns leds acenderem?

Falou

Postado

Vou fazer o esquema de acender leds. Tem que verificar se vai acontecer algo quando o PIC acender ou apagá-los, como você disse... Assim que fizé-lo, posto aqui.

Cara, uma dúvida.

Qual a principal diferença entre a configuração HID e BULK? HID já tem drivers instalados e é mais lenta?

Valeu pela ajuda em Matheus! Se não fosse você, acho que nem teria tentado mexer com USB.

Postado
  test man*~ disse:
O pedido chegou, mas não tinha os capacitores (220/470n) na loja ...

Sempre uso eletrolítico de 1uF x 6,3v ou 10v de boa qualidade. Se tiver de tantalo melhor ainda. Cabos bons também faz parte do sucesso no projeto. Abraço.

Postado

Olá amigo!

Sei que não nos conhecemos, mais estou precisando de ajuda, e vi esse seu topico, e acho que você possa me ajudar. Meu nome é Bryen. A pouco tempo ganhei um kit de desenvolvimento PIC 18f dá cerne tecnologia. Sou totalmente leigo quanto a PIC, mais quero aprender. Para você entender melhor o qual é meu problema, de uma olhada no topico que eu criei em uma comunidade no orkut. Se eu escrever tudo aqui, vai ficar muito grande. Segue link para acesso>>> http://www.orkut.com.br/Main#CommMsgs?cmm=128885&tid=5573329616920552750

Agradeço muito se puder me ajudar.

Aguardo:

Bryen;

Postado

Não é bem assim. Existem 4 tipos de tranferencia no USB.

Bulk, Control, Interrupt e Isochronous. Cada uma tem sua caracteristica e aplicação.

Control eu não vou comenta muito pois raramente é utilizado para aplicações.

Bulk tem a maior capacidade de transferencia de dados, pois ele basicamente utilisa toda a banda disponivel, porém com a troca de não ter uma garantia de latencia. Em muitas aplicações que requeiram um minimo de tempo real (ja que o USB por si ja é pessimo nesse quesito), bulk não é aceitavel por essa caracteristica. Além disso ele tem detecção de erro e auto-reenvio, ou seja ele de certa forma garante que os dados irão chegar corretamente. Basicamente essas caracteristicas são otimas para transferencias grandes de dados que não possam de nenhum forma serem corrompidos, mas não seja importante o tempo exato entre cada transferencia. Pode se ver que alicações ideias são dispositivos de armazenamento de dados como pendrives, HD externos entre outros. Uma outra aplicação utilizada é osciloscopio via USB. Vale ressaltar que essa caracteristica de alta taxa de troca de dados é conseguida apenas se você não ficar trocando a direção dos dados (do computador do dispositivo, do dispositivo para o computador), pois isso requer um tempo relativamente grande.

Interrupt (que é a transferencia que HID é baseado) tem a mesma caracteristica do bulk quanto à garantia detecção de erros, e ao mesmo tempo tem uma latencia muito mais bem controlada, ou seja uma parte da banda é reservada para ele (no bulk ele utiliza o que estiver sobrando, não existem garantias). Porém como Interrupt tem uma garantia de banda, essa banda é bem limitada, que acaba sendo um pacote por milisegundo. O tamanho do pacote muda de tipo para tipo (slow, full e fast). É por isso que HID é utilizado para controles, mouses etc.. pois ele garante os dados, e ainda mais garante que esses dados serão entregues dentro de um certo periodo.

Para Isochronous tem uma banda garantida, e ao mesmo tempo essa banda é relativamente grande, porém não existe garantia de detecção de erros, e não ha reenvio de dados caso o erro seja detectado. Ou seja é util para aplicações onde você precisa enviar um monte de dados dentro de um perido de tempo determinado, porém se alguns dados não chegarem, ou chegararem errados não ha problema. O seu grande foco de implementação sao dispositivos como webcams, microfones, caixas de som, e assim por diante. Ou seja dispositivos que um byte errado não ira interferir muito em sua operação. Se você estiver ouvidno uma musica e um byte chegar errado, você nem vai perceber, porém se você estiver ouvindo uma musica e o tempo entre o uma nota e outra chegaram errados, vai ficar bem zuado. Esse o motivo da garantia de entrega dos dados dentro de um certo periodo (que bulk não garante).

Isso é tudo beeem resumido, porém basicamente não se pode criar essa ideia de HID(interrupt) é simples (o que é mentira, pois no fundo a sua complexidade é a mesma de qualquer outra) e lerdo e Bulk é mais complexo e rápido. Você tem que avaliar as caracteristicas que você quer, e escolher baseado nisso.

Nesse projeto dp Matheus por exemplo. Pessoalmente eu iria de Interrupt (não necessariamente HID) com certeza, pois para controlar algo você não precisa de uma transferencia absurda de dados, mas sim algusn dados com uma latencia bem garantida. Mas isso é opinião propria, e não ha nada melhor do que a proprioa realidade para justificar qualquer coisa. Se ele implementou e esta funcionando como ele queria quer dizer que foi uma boa escolha.

Abs

Postado

Boa noite pessoal.

Sink00, infomações valiosas essas... Valeu cara! (já copiei em um notepad =D)

MatheusLPS, segue o vídeo com o acendimento dos LEDs. Percebi que ao dar o comando para acender o LED, no exato momento, a comunicação meio que dá uma travada, coloquei dois capacitores em paralelo à alimentação ai diminuiu, depois alimentei o circuito com uma fonte externa, ai ficou quase imperceptível.

Valeu matheuzão...

  • 3 semanas depois...
Postado

ixi colega o problema persiste.

da uma olhada noqe esta ocorrendo:

Oops! Internet Explorer could not connect to dc232.4shared.com

Suggestions:

•Go to 4shared.*com

•Try reloading the page

•Search on Google:

sera qe alguemsabe oqe é?

  • 2 semanas depois...
Postado

Pessoal,

Estou com um problema. Não estou conseguindo utilizar o usb no proteus. Já tinha conseguido antes. Quando conseguir, instalei o virtual usb do proteus e depois o driver do cdc que se encontra na pasta do PICC. O pc reconheceu como (COM4), fiz vários testes (usando o hyper terminal, um software em java) e até então funcionava perfeitamente. Quando foi ontem parou de funcionar e não reconhece mais a porta COM. Já realizei o mesmo procedimento de instalação mas não obtive sucesso, não reconhece mais uma porta COM.

Gostaria de uma ajuda. Alguem já teve este problema?

Grato

Postado

Obrigado, conseguir! Foram várias tentativas.

Como te falei, estou usando o usb cdc e estou tendo dificuldade para realizar leitura tanto de um double quanto de uma String. Por exemplo não conseguindo utilizar esta função get_long_usb() ou get_float_usb(), não sei porque, eu importo a biblioteca certa (input.c) mas não dá erro.

Obrigado

Postado

Atenção!!!!

Algumas pessoas me disseram que as imagens não estavam aparecendo. Estão mudei todos de servidor, não utilizo mais o imageshack.

Uso o http://imgur.com/

Quando a dúvida do colega acima. Nao estou familiarizado com a comunicação CDC.

Falou

Postado

Tudo bem, mas se tratando de comunicação serial rs232 mesmo. Como eu faria para receber uma string ou um double? Eu já tentei também mas não obtive sucesso.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...