mjoninhas
Posts: 16
Joined: Mon May 13, 2013 12:29 pm

Código em Python

Mon May 13, 2013 12:37 pm

Boas amigos,

Adquiri recentemente um Raspberry Pi de 512MB no qual queria fazer um pequeno código em Python, mas queria a vossa opinião para saber se é possível.

Basicamente era fazer um código em que no final o raspberry abrisse uma gaveta. Na teoria teria que ligar a gaveta à GPIO, só não sei se a voltagem é suficiente para abrir uma gaveta.

A gaveta do dinheiro é do género das dos hipermercados :)

Cumps

canibalimao
Posts: 557
Joined: Tue Aug 07, 2012 8:48 pm
Location: Portugal

Re: Código em Python

Mon May 13, 2013 6:04 pm

Se for como as dos supermercados, não precisas de nenhum motor com força para abrir a gaveta porque ela é aberta com uma mola. O RPi só ia controlar um relé que destrancava a gaveta. Não é nada de muito exigente para o RPi nem para ti, porque a programação deverá ser bastante simples...

mjoninhas
Posts: 16
Joined: Mon May 13, 2013 12:29 pm

Re: Código em Python

Mon May 13, 2013 11:45 pm

canibalimao wrote:Se for como as dos supermercados, não precisas de nenhum motor com força para abrir a gaveta porque ela é aberta com uma mola. O RPi só ia controlar um relé que destrancava a gaveta. Não é nada de muito exigente para o RPi nem para ti, porque a programação deverá ser bastante simples...
Obrigado pela resposta. Terá sim que ser simples, porque sou um noob nesta matéria... Comecei hoje a tentar programar em Python.
Mas o output do Rasp é somente de 5v, certo? Se a gaveta funcionar com 12v teria que arranjar um conversor ou qual é o nome técnico? :)
cumps

canibalimao
Posts: 557
Joined: Tue Aug 07, 2012 8:48 pm
Location: Portugal

Re: Código em Python

Tue May 14, 2013 1:20 pm

Sim, ele no máximo consegue dar de output uns 4.7V, por isso too o periférico que funcionar a mais de 5V não vai funcionar lá muito bem.

A alternativa que tens é usar um relé externo. Ligas o relé entre a alimentação de 12V e a "fechadura" da gaveta e depois controlas o relé com uma porta GPIO do RPi. É assim que se consegue controlar camdeeiros e cenas desse tipo com o RPi. Podes ver aqui uma explicação do funcionamento: http://raspi.tv/tag/using-relays-with-raspberry-pi

pksato
Posts: 295
Joined: Fri Aug 03, 2012 5:25 pm
Location: Brazil

Re: Código em Python

Tue May 14, 2013 1:38 pm

Ola,
Primeiramente recomendo obter algum livro sobre eletrônica básica, não precisa ser nada aprofundado, somente para conhecer os termos técnicos e os componentes eletrônicos.
Não tenho nenhum titulo para indicar.
A revista The MagPi possuem artigos sobre interfaceamentos similares ao pretendido.

As saídas lógicas de circuitos digitais, como o gpios do raspberry pi, se destinam somente a transferir informação de um chip a outro(s), esse tipo de transferência necessita de muita pouca potência.
Quando se pretende acionar dispositivos que requeiram maior potência, se usam circuitos amplificadores (driver) que por usa vez pode ser usando para acionar um dispositivo de controle de maior potência.
O circuito de driver mais simples consiste de um resistor um transistor e eventualmente um diodo, dependendo to tipo de carga (reativa). Esse circuito e muito usando para acionar reles e pequenos motores e solenoides. A potência do transistor deve ser dimensionado conforme a carga.
Existem no comercio, módulos prontos contendo o circuito necessário para acionar os mais variados dispositivos de potência, muitos deles foram originalmente desenvolvidos para serem usando com o arduino, e funcionam no raspberry pi se devidamente adaptados. Já começaram a aparecer módulos próprios para o rapsberry pi.
O nível lógico alto do raspberry pi e de 3,3V, e não 5V. O estado inicial, quando se liga, e de entrada (input) de alta impedância, ou de 0v (lógica 0/baixo). No arduino, parece que esse nível e o alto (5V), circuitos externos são acionados com nível lógico baixo (0v), ao usar um modulo para arduino deve se prestar atenção a esse fato.

Um arranjo muito usando de transistores e a ponte híbrida (H bridge), usado para controlar bidirecionalmente motores de corrente continua (direta), por exemplo: para abrir e fechar a gaveta do drive óptico (cdrom/dvd).

Então, para problema da gaveta em questão, se a mesma possui somente um mecanismo de trava acionado por solenoide, um simples driver de transistor resolve.
Caso se faça o uso de um motor para abrir e fechar, será necessário usar uma ponte H. Necessita sensores de fim de curso.

mjoninhas
Posts: 16
Joined: Mon May 13, 2013 12:29 pm

Re: Código em Python

Tue May 14, 2013 10:11 pm

Obrigado pelas vossas repostas, vão ser muito úteis ;)

Relativamente ao código em python, eu queria que o código calculasse um determinado nº de produtos dando o total; e depois uma função onde dizia qual o troco que tinha de dar e depois disso abria a gaveta automaticamente :)
Penso que pode ser facilmente conseguido isto.

Contudo, tenho uma outra questão. Existe forma de fazer com que o programa crie uma base de dados dizendo a quantidade de produtos vendidos a cada dia? :?

cumps

canibalimao
Posts: 557
Joined: Tue Aug 07, 2012 8:48 pm
Location: Portugal

Re: Código em Python

Thu May 16, 2013 5:38 pm

Isso não te sei dizer como fazes, mas acho que o python é capaz de te escrever num ficheiro .txt externo o log das compras. Cada vez que uma compra é feita, ele escreve no ficheiro os dados que quiseres. Só precisas de lá meter a data e a hora para depois saberes em que altura foi feita a determinada compra para meteres na base de dados.

Mais elaborado que isto acho que não é possível fazer...

Return to “Português”