• Nenhum resultado encontrado

O Raspberry Pi ´e uma linha de computadores do tamanho aproximado de cart˜oes de cr´edito feitos a partir de uma placa de circuito ´unica. Ele foi desenvolvido na Fundac¸˜ao Raspberry Pi, na Inglaterra, com o objetivo original de promover o ensino b´asico de ciˆencias da computac¸˜ao em escolas e pa´ıses em desenvolvimento (BBC NEWS, 2011). A origem do nome tamb´em ´e bastante interessante.

”It’s (called) ’Raspberry’ because there’s a long tradition of fruit names in computer companies [...]. ’Pi’ is a mangling of ’Python’, which we thought early on in development would be the only programming language available on a much less powerful platform than the Raspberry Pi we ended up with.”(UPTON; HALFACREE, 2014)1

Na data deste trabalho s˜ao vendidos cinco modelos diferentes do Raspberry Pi: modelo A+, modelo B+, Pi 2 modelo B, Pi 3 modelo B, e Pi Zero. O modelo A+ ´e variac¸˜ao de baixo custo do Raspberry Pi. Ele possui 256MB de mem´oria RAM, uma porta USB, 40 pinos GPIO e nenhuma porta Ethernet. O modelo B+ ´e a revis˜ao final do Raspberry Pi original. Ele possui 512 MB de RAM (o dobro que o A+), quatro portas USB, 40 pinos GPIO e uma porta Ethernet.

1” ´E (chamado) ’Framboesa’ (em inglˆes, Raspberry) porque existe uma longa tradic¸˜ao de nomes de fruta em

empresas de inform´atica [...]. ’Pi’ ´e uma contrac¸˜ao de ’Python’, que durante o comec¸o do desenvolvimento n´os pens´avamos que seria a ´unica linguagem de programac¸˜ao dispon´ıvel em uma plataforma muito menos poderosa que o Raspberry Pi com que terminamos.”(UPTON; HALFACREE, 2014, traduc¸˜ao nossa)

Em fevereiro de 2015, o modelo B+ foi sucedido pelo Pi 2 modelo B, a segunda gerac¸˜ao do Raspberry Pi. O Pi 2 modelo B possui muitas especificac¸˜oes em comum com o Pi 1 B+, mas utiliza um processador ARM Cortex-A7 quad-core de 900 MHz e possui 1 GB de RAM. O Pi 2 modelo B ´e completamente compat´ıvel com as placas da primeira gerac¸˜ao e ´e o modelo recomend´avel para uso em escolas, devido a sua flexibilidade. O Pi 3 modelo B foi lanc¸ado em fevereiro de 2016. Ele utiliza um processador 64-bit ARM Cortex-A53 quad-core de 1,2 GHz, possui 1 GB de RAM, rede sem fios 802.11n integrada e Bluetooth 4.1. Finalmente, o Pi Zero tem metade do tamanho do modelo A+, com um processador single-core de 1 GHz, 512 MB de RAM, mini-HDMI e porta USB On-The-Go (RASPBERRY PI FOUNDATION, 2016b).

Preferiu-se utilizar o Raspberry Pi 2 modelo B para este trabalho por sua maior flexibilidade para diferentes tipos de projeto e por possuir uma placa e processador compat´ıveis com a maioria dos programas e dispositivos j´a existentes para o Raspberry Pi. Al´em disso, ele possui maior capacidade de processamento e mem´oria que o Pi modelo B+, conforme descrito no par´agrafo anterior.

O processador BCM2836 ´e o centro do Raspberry Pi 2 e ´e baseado na arquitetura ARMv7. Seu baixo consumo de energia permite que o microcomputador seja alimentado por uma pequena fonte USB de 5 V e 2 A. Essa eficiˆencia tamb´em faz com que a placa n˜ao necessite de nenhum dissipador de calor. Por outro lado, o Raspberry Pi n˜ao ´e compat´ıvel com programas tradicionais de computador. A maioria dos programas para computadores laptop e desktop ´e desenvolvida tendo em mente a arquitetura x86, utilizada em processadores comuns como Intel e AMD. Desse modo, eles n˜ao rodam na arquitetura ARM do Raspberry Pi. Entretanto, existem v´arias opc¸˜oes de programas j´a dispon´ıveis para o microcomputador e ´e relativamente f´acil desenvolver novos algoritmos.

2.4.1 PORTAS GPIO

Um dos mais importantes recursos do Raspberry Pi ´e a fileira de pinos GPIO - General Purpose Input/Output(em portuguˆes, Entrada/Sa´ıda de Uso Geral) que se localiza pr´oximo `a lateral da placa, conforme Figura 7.

Estes pinos realizam a interface entre a programac¸˜ao do Raspberry (o mundo virtual) e os dispositivos f´ısicos que podem ser conectados `a placa (o mundo real). Eles podem ser configurados como entrada ou sa´ıda. Dos 40 pinos mostrados na Figura 7, 26 s˜ao pinos GPIO, dois s˜ao pinos ID EEPROM2e os outros s˜ao pinos de energia ou referˆencia de tens˜ao, conforme

2Conforme o esquem´atico de Raspberry Pi Foundation (2014), durante a inicializac¸˜ao do Raspberry Pi essa

Figura 7: Pinos do Raspberry Pi 2. Fonte: Raspberry Pi Foundation (2016a).

Figura 8.

Figura 8: Numerac¸˜ao dos Pinos do Raspberry Pi 2. Fonte: Hawkins (2016).

A numerac¸˜ao dos pinos dentro dos c´ırculos na Figura 8 ´e a chamada numerac¸˜ao f´ısica, que ´e a forma que faz mais sentido para os usu´arios e programadores. Dentro do computador, entretanto, a numerac¸˜ao ocorre de forma diferente e os n´umeros n˜ao seguem uma ordem espec´ıfica, devendo-se consultar a legenda dos pinos da Figura 8.

Os pinos 2 e 4 fornecem tens˜ao de 5 V e s˜ao alimentados diretamente da fonte de energia da placa. Logo, eles podem fornecer tanta corrente quanto ainda estiver dispon´ıvel pela fonte ap´os a alimentac¸˜ao dos componentes da pr´opria placa. Por exemplo, com uma fonte de 1 A e um consumo da placa de 700 mA, o pino 2 pode fornecer at´e 300 mA. Os pinos 1 e 17, por outro lado, tˆem tens˜ao de 3,3 V e corrente m´axima de 50 mA, independentemente da fonte utilizada (HAWKINS, 2016).

A corrente m´axima de entrada ou sa´ıda de cada pino ´e 16 mA, podendo ser configurada para uma corrente de sa´ıda m´axima de no m´ınimo 2 mA. O barramento, entretanto, suporta no m´aximo 50 mA de sa´ıda de corrente total em todos os pinos GPIO e tamb´em nos pinos 1 e

17. J´a a tens˜ao de n´ıvel alto para entrada ou sa´ıda dos pinos GPIO ´e de 3,3 V, a mesma tens˜ao utilizada pelo processador.

Deve-se tomar cuidado, pois o Raspberry Pi n˜ao possui um sistema de protec¸˜ao contra sobrecorrente ou sobretens˜ao nas portas GPIO. Ele n˜ao utiliza o sistema de l´ogica digital padr˜ao (l´ogica TTL). Algumas vers˜oes do Raspberry possuem um fus´ıvel regenerativo (tamb´em conhecido como termistor PTC), por´em ele protege somente a entrada geral de energia do dispositivo.

Todos os pinos GPIO podem ser reconfigurados para realizar func¸˜oes alternativas, como Interface Perif´erica Serial, Modulac¸˜ao por Largura de Pulso e Circuito Inter-Integrado. A Interface Perif´erica Serial (em inglˆes, Serial Peripheral Interface - SPI) ´e um protocolo de dados seriais s´ıncronos que pode ser utilizado para comunicac¸˜ao entre o controlador e perif´ericos. J´a a Modulac¸˜ao por Largura de Pulso (em inglˆes, Pulse-Width Modulation - PWM) ´e a gerac¸˜ao de um sinal de onda quadrada com raz˜ao c´ıclica modulada, podendo ser utilizado para transportar informac¸˜oes. Por fim, o Circuito Inter-Integrado (em inglˆes, Inter-Integrated Circuit - I2C) ´e um barramento de comunicac¸˜ao especial entre o Raspberry e um EEPROM, permitindo a configurac¸˜ao autom´atica de GPIOs.

Durante a reinicializac¸˜ao, os pinos 14 e 15 s˜ao designados com a func¸˜ao Receptor/Transmissor Universal Ass´ıncrono (em inglˆes, Universal Asynchronous Receiver/Transmitter - UART), podendo ser reconfigurados como GPIO. A UART ´e um m´odulo que cont´em os circuitos para as comunicac¸˜oes seriais ass´ıncronas.

Al´em disso, todos os pinos GPIO podem ser configurados para interrupc¸˜ao, de alta, baixa, subida, descida ou mudanc¸a. Ou seja, o programa chama uma func¸˜ao interna quando ocorre uma mudanc¸a no sinal ligado no pino, permitindo deixar o c´odigo mais eficiente e responsivo. Tamb´em ´e poss´ıvel programar resistores internos de pull-up e pull-down, que mantˆem o n´ıvel de uma entrada GPIO como alto ou baixo na ausˆencia de um sinal de entrada. Como a impedˆancia de entrada do GPIO ´e muito alta, isso evita que a tens˜ao varie devido a ru´ıdos externos.

Por fim, o Raspberry Pi n˜ao possui qualquer tipo de porta especializada na entrada ou sa´ıda de dados anal´ogicos. Esse problema pode ser facilmente resolvido com a adoc¸˜ao de conversores anal´ogico-digital acoplados aos pinos presentes, ou ainda diretamente no USB. V´arios modelos de conversores est˜ao dispon´ıveis na Internet, bem como as bibliotecas necess´arias para que eles operem de forma adequada.

Raspberry Pi 2 (modelo BCM2836), por´em o modo de configurar essas func¸˜oes pode ser visto no datasheet da vers˜ao anterior do processador (modelo BCM2835), conforme Broadcom Corporation (2012).

Documentos relacionados