Postagens

Mostrando postagens de maio, 2015

E, finalmente, um mundo de resistores

Imagem
Chegaram. Até que enfim. Isso merece um post. Talvez seja interessante entender o básico sobre resistores antes de continuar. Combinando resistores Por mais que tenhamos um mundo de resistores, nem sempre temos aquele que nos atende exatamente com o valor que precisamos. Os resistores comerciais não abrangem toda gama possível sozinhos, daí precisamos combinar pra alcançar os valores adequados. Existem três maneiras de combinar os resistores Em série É a combinação mais simples. Se precisamos de um valor maior, então colocamos resistores de valor menor um após o outro e bingo, atingimos o valor que precisamos. Exemplo: precisamos alcançar uma resistência de 940 ohms, mas os valores comerciais mais próximos encontrados são apenas 910 e 1K. Se na gaveta tivermos dois de 470, então, problema resolvido. A fórmula é a seguinte: Rt = R1 + R2 + Rn Onde: Rt: Resistência total; R1, R2, Rn: valores dos resistores ligados em série. Em paralelo Não deixa de ser simples tam...

De olho nas novidades!

Imagem
Desde a última semana estão chegando novos itens para a oficina. - Pi Câmera - Relés - Joystick - Motor de passo - Display 16x2 - Multímetro bacanudo (o anterior foi pro saco quando troquei a bateria) Mas ainda faltam chegar algumas coisas importantes, como resistores de diferentes valores, e que fazem muita falta, além de dois PICs 16F84a. Além destes, chegaram os irmãos mais novos do Raspberry Pi B: - 4x Raspberrys Pi B+ - 1x Raspberry Pi A+ Boa parte dos equipamentos já foram testados e aguardam a vez para figurarem nos novos projetos (chega de LEDs, certo?). Também montei um cluster com os Raspis, e o post sobre a experiência está quase pronto (faltam os testes de desempenho). Não suma, novos projetos virão, mas, pra não passar em branco, segue o código de um jogo de luzes utilizando Raspberry Pi, LEDs e resistores de 300ohms. Arquivo ledshow.py from Pin import Pin import time leds = [Pin(17), Pin(27), Pin(22), Pin(18), Pin(23), Pin(24), Pin(25), Pin(8)] def a2h(...

Um programador PHP entendendo Pyhton

Pro resto do mundo, Python é uma linguagem fácil de assimilar. Pro resto do mundo. Pra mim é algo muito novo, bem distante do C++, e tenho tido certa dificuldade. Por isso decidi começar a escrever mais sobre o Python e aprender a usar isso aí. Uma classe pra chamar de minha Uma classe é basicamente um um conjunto de métodos e propriedades. A classe costuma representar algo no mundo real, como, por exemplo, um interruptor. Se eu quiser criar, em PHP, uma classe para tratar um interruptor, vai ficar semelhante a isso: <?php   class Interruptor {     $estado;     function __construct($estadoInicial = 'desligado') {       $this->estado = $estadoInicial;     }     function lerEstado() {       return $this->estado;     }     function alterarEstado() {       if($this->estado == 'desligado') {  ...

Considerações sobre PWM no Raspberry Pi e Clustering

Logo depois de criar aquele post do LED RGB , aprendi que a versão 0.52a do RPi.GPIO habilita, via software, o PWM para todos os pinos. Isso quer dizer que dá pra ter não apenas 7, mas mais de 16 milhões (255x255x255) de cores com um único LED RGB. Da hora isso. E pra usar com o PHP? A grande questão é que o PWM via software foi escrito em C. Dá pra usar no Python sem problema algum, mas estou migrando para o PHP, então já viu né: como isso vai funcionar? De acordo com o site do projeto , depois de instalado, basta usar o comando "rpio" pra fazer a coisa acontecer, então posso considerar rodar isso em segundo plano quando for necessário, mas preciso estudar isso direito por algumas horas. E sobre cluster... Além disso, estudando sobre cluster, notei que, aparentemente, para um processo ser dividido, é preciso que seja executado através do comando mpiexec . Ele roda tranquilo aplicações desenvolvidas em C, Fortran e Python. A questão é: vai dar pra rodar o Apache tam...

PHP + Raspberry Pi - a hora da verdade

Imagem
Imagine um mundo onde você pode usar uma linguagem web para manipular os pinos do Raspberry Pi. Não precisa imaginar, esse mundo existe com a recém criada classe Pin.class.php. E o programador disse: e façamos o código à imagem de nossas ideias! Como tratei no post anterior, dá pra manipular os arquivos correspondentes ao pinos do RPi usando sysfs. Aquele foi o primeiro passo para migrar do Python para o PHP. Agora, entendendo como funciona essa manipulação, basta criar algumas classes para manipular os pinos e beleza, tudo fica lindo. Classes de interesse Como tudo vai rolar num browser, então pode ser interessante criar classes para manipular o HTML, mas isso não é essencial. Para fornecer o acesso básico ao pino, criarei a classe Pin.class.php com o seguinte conteúdo: <?php     /**      * Pin.class.php      * Manipula um pino no Raspberry Pi      * by Leonardo Costa      * add...

Manipulando os pinos do Raspberry Pi através do sysfs

Imagem
Em algum lugar alguém uma vez falou que Python é uma linguagem bem fácil de aprender. Talvez por isso deram tanto suporte a ela no RPi, mas... e pra quem já curte uma outra linguagem, tipo PHP? Veja, fiquei um tempo sem programar pro RPi e hoje, quando voltei, me enrolei todo. Sou adepto a ideia de que o lance é usar uma linguagem apenas, sempre que possível, pois, quando se tem muitas linguagens na cabeça, não dá pra ficar bom em nenhuma delas. Pois bem. Decidi migrar de Python para PHP no RPi, principalmente agora que quero trabalhar com integração. Pesquisei e percebi que isso não era difícil. Veja os motivos É Linux rodando no Raspberry Pi Isso quer dizer que todos os processos de hardware pode ser interpretados como arquivos de texto através do sysfs. Então, para enviar um sinal para um pino qualquer, basta escrever no arquivo correspondente ao pino e pronto, tudo feito. Ele é um bom servidor Apache + PHP E também de banco de dados. Claro que ele não será, sozinho, tão...