Antes de mais nada, põe um LED a piscar…

…É o que o nosso amigo NJay nos disse no outro dia. “Se querem começar a mexer em electrónica e assim, é melhor começar por uma coisa muito simples, como pôr um LED a piscar. Se não conseguirem fazer isso, então dediquem-se a outra coisa.”

Olha, e… então se forem 4 LEDs em rotação?🙂

Hehe… afinal o laptossauro até nem se porta mal. O espaço em disco até agora não foi um problema, embora a compilação de qualquer coisa mais complicada do que um “Hello World” leve sempre mais de um minuto…🙂

Meti o programa a ligar e desligar apenas um LED sem qualquer “delay”, para ver com um frequencímetro qual seria a máxima velocidade de transferência de dados que o sistema PC-carta conseguia: 278,2 kHz, ou seja, ~ 556.400 escritas de I/O PCMCIA por segundo. Isto, com base num programa em “user space”. Se passar a lógica para um “kernel module”…😉

É claro que se mexer no teclado ou no rato, ou o disco tiver acessos, isso baixa um bocado… mas de uma maneira geral, penso que é seguro presumir uma capacidade de saída I/O de 100kHz mesmo tendo em conta algum processamento extra (desde que não haja grandes abusos, como redes neuronais e afins…😉 ).

Portanto, este bicho é perfeitamente capaz de fazer PWM trifásico.😀

Estou espantado por só ter precisado de 3 dias para meter o dito LED a piscar, já que precisei de aprender tudo sobre PCMCIA (dentro e fora do âmbito do Linux) para conseguir fazer que a carta de aquisição se mapeasse e tornasse os seus registos acessíveis… considerando que a informação disponível sobre o assunto está desactualizada e em alguns casos é mesmo contraditória, não foi nada mau.

Em suma, se não fosse o acesso livre ao código fonte…. não se fazia nada!!🙂

~ por Vasco Névoa em Março 31, 2008.

11 Respostas to “Antes de mais nada, põe um LED a piscar…”

  1. Parabéns rapaz😉
    Não há melhor feedback do que um resultado, por muito pequeno que seja.

  2. Exactamente… como o gajo do filme “Contacto” dizia: “Small moves, Ellie, small moves…” 🙂

  3. Sábias palavras essas do NJ. O primeiro driver que fiz na Siemens foi exactamente esse: um driver para comandar um LED de uma PCU e de uma CCEP🙂

  4. Hehehe!!….
    Isto já vocês devem ter percebido, mas cá fica na mesma: isso não é só um LED a piscar, é todo um ambiente de desenvolvimento que vocês tiveram que montar.
    3 dias? Quem disse que pôr um LED a piscar era fácil :)? Mas aí está, passaste o teste de persistência ;)!

  5. p.s.: Espero que não tenha sido uma piada de 1º d’Abril ;)!!

  6. isso nem a propósito!!!
    tb pus um led a piscar na minha nova plataforma de prototipagem😀
    claro q n demorou 3 dias, mas também a paparoca já estava toda feita com uma biblioteca de funções abundante!🙂 ainda bem que andas entretido!

  7. Isso é mais que certo. Em qualquer plataforma, a “guerra” inicial é por um output a piscar, e a ler um input . depois disso… faz-se tudo (salvaguardando o caso de bugs estupidos no compilador que nos fazem perder dias de vida!🙂

  8. Fónix, ó Mouro!!! Entretido ando SEMPRE, já sabes!!! 😛
    Mesmo que eu vivesse 300 anos, ia sempre ter o que fazer!!!

  9. Pois…é por isso q’eu me sinto frustrado qd tou convosco….
    Aqui vai a minha “estrategia” classica de atacar o problema:
    1- não ler documentação nenhuma
    2- não fazer qq tipo de design
    3- arregaça as mangas e começa a bater codigo
    4- consultar as paginas de man, sobre funções basicas em C (à muito esquecidas)
    5- procurar uma Makefile na net
    6- mudar a makefile
    7- makefile não funca…raios
    8- procurar outra makefile
    9- …3 dias depois, ainda não encontrei a makefile que preciso; e melhor fazer a minha
    10- fiz uma makefile, parece funcionar… posso continuar a escrever o codigo que tinha sido interrompido na 3 linha
    11- descobri que o make que ta a ser chamado não é o correcto…
    12- o pc desligou-se… algo de muito mal aconteceu.
    13- o pc não arranca…terror.
    14- … porra, era o cabo da alimentação que tá a fazer mau contacto
    15- perdi a merda do meu trabalho todo:5 linhas de codigo, quase compilaveis…raios, tenho de escrever tudo de novo ( vou fazer uma pausae e ver um episodio do Dexter)
    16- o gvim deixou de funcionar depois de instalar uma nova versão de um tool que pensava ser fixe instalar
    17- o vim tb não ta bom
    18- mau…ja nem o make me aparece no path?
    19- percebi agora que todo o cygwin esta na merda
    20- re instalei o cygwin, mas ta completamente doido…nada funciona
    21- mais uma instalação…nada
    22- e outra….acho que ficou pior…ja nem sei
    23- outra
    24- outra
    25- outra
    26- cada reinstalação leva 30 min (vem pela net do meu kanguro…é lento)
    27- se calhar devia pensar noutra forma de resolver o problema
    28- outra
    29- outra (acho qeu tou a ficar bom em repetir erros)
    30- é a ultima….nope,… vou regredir de versão
    31- OH MEU DEUS!!!
    32- reboot
    33- o meu desktop ficou todo desconfigurado…não consigo trabalhar assim…
    34- finalmente, as coisas tão no sitio certo…
    35- tou a pensar seriamente se volto a re-instalar o cygwin….
    36- O episodio 7 do Dexter é muito fixe
    37- decidi usar outro IDE…que chatice…tenho de usar o rato para tudo
    38- reescrevi as 5 linhas de codigo…não funca.
    39- esqueci que era C, e não bash…era natural que não funcasse
    40- ja compila…vou correr
    41- core dump😦
    42- Acho que ja tinha visto este episodio, vejo o proximo
    43- “CORE DUMP”…raios te partam…são so 5 linhas de codigo!! (*** frustração ***), vou ler mais um artigo idiota na net
    44- ahh, pois, ponteiros não iniciados…haaa pois é.
    45- não rebenta….tb não faz nada. é uma clara evolução.
    46- não faz nada
    47- morto
    48- nope… o gajo é chato, ta mais em baixo que o “zezinho” depois de um banho d’agua gelada
    49- nada (*** frustração ***) …. ja não tenho mais episodios do Dexter pra ver… tenho de pedir a 2 serie
    50- deixa testar o LED
    51- upppssss
    52- procurar o artigo do NJay sobre leds🙂
    53- BURRO!!! tinhas essa merda ao contrario…
    54- … a resitencia, não vas pelo codigo das cores, és daltonico, metes uma de 12 Ohm pensado que é de 1200 OHM
    55- ja acende🙂
    56- … mas não apaga😦
    57- fica pr’amanha
    58- novo dia, entusiasmo…descobri o prob, ja funciona lindamente… ate ja melhorei para controlar a frequencia do “pisca-pisca”
    59- fazer checkins a tudo…
    60- mau!!!!
    61- que aconteceu ao repositorio?
    62- Preciso desesperadamente da nova serie do Dexter
    ….
    3 semanas e mei passaram, finalmente o LED está ligado (foi o terceiro), o repositório em “ordem” (tanto qt possivel, o historico dos ficheiros foi ‘cos porcos)…. tou esgotado. Nem quero imaginar em mais projecto nenhum pra fazer.

    Tv se conseguir fazer um MIH, alguem trabalhe por mim😉

    Hasta

  10. 😀 😀 😀 ROTFL!!!! 😀 😀 😀

    Tu és a prova viva daquilo que todos sabemos mas é difícil explicar aos managers: o setup do ambiente de trabalho custa sempre muuuuuiito mais tempo que a utilização subsequente, mesmo que já tenhamos muita experiência prévia. Há sempre uma m**da qualquer que nos f*de o juízo quando pensamos “pronto, é desta!”…

    Agora é a minha vez de te dar os parabéns pelo pisca-pisca (e no teu caso é mais merecido, pois o caminho foi mais tortuoso)!

    Por outro lado, há aí algum conflito de interesses… um “embedded developer” que se preze não vai andar a construir sistemas experimentais em M$Windows… tens de escolher as ferramentas certas para o trabalho. Embora o cygwin seja bom, é muito mais prático e flexível trabalhares com todo o ambiente em Linux. Além disso, os problemas que tiveres com o teu portátil quotidiano vão actualizar os teus conhecimentos de HW e SW, que podem depois ser usados no desenvolvimento dos projectos.😉

    Passa o teu portátil para Linux, e prometo que depois de andares à cabeçada com ele durante 6 meses vais sentir-te tão em casa que nunca mais voltas para windows.🙂

    E não caias na tentação do dual-boot ou da segunda máquina “para experimentar” com Linux: isso é uma saída fácil que vais usar sempre que a coisa ficar complicada; nada disso: há que agarrar o touro pelos cornos e tornar o Linux o teu único e principal sistema. Quanto mais dependeres dele, mais depressa vais pô-lo a trabalhar para ti (em vez do contrário).

    Tenho dito.

  11. Deves tar a gozar…
    Não quero enfrentar touro nenhum…o LED já me deu que fazer.😛

    Tenho uma tendencia natural para “perder” com coisas inuteis…
    e por ainda mais ridiculo que isto vos possa parecer: AGORA NÃO TENHO TEMPO A PERDER🙂

    hasta

    PS: Podia-vos contar a historia do LCD,… mas é em tudo semelhante à história do LED

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

 
%d bloggers like this: