sábado, 17 de outubro de 2015

Análise de Viabilidade em Projetos


Comumente, a idéia de um projeto vem em nossa mente como um furacão. E deve ser assim: a primeira pessoa que ele deve impressionar é a nós mesmos. Somos o primeiro a comprar a idéia, entendê-la e elogiá-la mentalmente, ainda que de modo inconsciente. Mas, uma hora ela precisa sair da nossa cabeça e se expor de modo concreto, tornando-se um projeto implementado. Cada projeto leva seu tempo e possui sua complexidade. Isso já falamos aqui diversas vezes. Nessa postagem queremos frisar uma palavra em especial: Viabilidade. Essa palavra está presente desde o início da implementação e direciona as escolhas feitas no projeto, no que tange a peças, acessórios, sensores, atuadores, plataformas, software, entre outras coisas. Além disso, tem uma relação com a complexidade e o custo do projeto. 

Via de regra, nenhum projeto pode ser considerado inviável, se você possui os recursos para implementá-lo. O problema é que, diversas vezes não consideramos o fato de que, o objetivo final de um determinado projeto pensado pode ser muito simples e realizado por um tipo de dispositivo mais simples ainda, o que torna o nosso projeto muitas vezes concorrente de algo mais barato e viável. Por exemplo: hoje em dia é muito fácil utilizar dispositivos móveis. Vemos todos os dias idéias de aplicativos que usam GPS que consideram cálculos por contagem de pontos de unidades móveis. Imagine um aplicativo que calcula a estimativa do número de pessoas em um show. O desenvolvedor considera de antemão que o seu aplicativo vai estar em um número minimo de celulares para poder efetuar essa contagem, como em uma amostragem. Estatisticamente, a probabilidade de atingir o êxito nessa empreitada está dependente sempre do sucesso do aplicativo. Caso muitas pessoas não usem, o aplicativo não pode gerar informações confiáveis. Assim, o projeto nasce com uma dependência de viabilidade que só será alcançada se isso acontecer. Isso dificulta a realização dos testes, entre outras coisas.

Esse exemplo citado acima ainda mostra um problema que tem relação com a viabilidade do projeto, que é a aceitação das pessoas. Se o projeto é direcionado para resolver um problema real, o projeto tem tudo para dar certo. Mas, nem sempre o que o idealizador do projeto considera como problema real é de fato, para os outros, um problema. Isso precisa ser verificado antes da implementação para não correr o risco de perder muito tempo em algo inútil.

Outro problema que enxergamos, em diversos projetos, é o uso de dispositivos e componentes muito precisos e caros para realizar tarefas muito simples. Por exemplo: um MP3 player feito com Raspberry / Arduino Tre / ou qualquer outra plataforma que usa um microprocessador. A menos que esse MP3 player possua funcionalidades específicas que exijam um processamento mais pesado (controle por voz, gestos ou inteligência artificial, por exemplo), não faz sentido usar uma plataforma tão cara. Existem módulos MP3 que podem ser controlados por Arduinos mais simples, e que não custam mais de 5 dólares.

Por isso, antes de desenvolver sua idéia em uma implementação, vale a pena pesquisar e analisar para que o custo, a complexidade e a falsa idéia de solução perfeita, não o decepcionem durante o caminho.


sexta-feira, 9 de outubro de 2015

Etapas de Projeto: O Case!



Proteger e fornecer um visual agradável para o seu projeto é uma tarefa tão importante quanto desenvolver suas funcionalidades. Mas no momento de escolher um case para sua placa de desenvolvimento é preciso decidir com base nas mesmas variáveis de projeto que influenciaram em outras etapas. Temos hoje, no mercado, diversos cases prontos, pré-fabricados, por encomenda e também os do tipo faça-você-mesmo (DIY). Mas nem todos se adequam a qualquer projeto. Caso você esteja à procura de um case para guardar seu dispositivo apenas, tem à sua escolha diversos modelos que possuem também suas diferenças. Alguns cases encapsulam a placa por completo, deixando à mostra apenas a porta USB ou Ethernet. Outros ainda tem aberturas para os cabos de prototipagem ou mesmo são vazados para permitir o melhor resfriamento do microcontrolador. 

Alguns tipos podem comprometer o bom funcionamento do seu projeto, caso você não considere as situações de funcionamento do dispositivo. Ambiente com sol, umidade excessiva, calor excessivo e maresia, por exemplo, podem causar problemas de funcionamento e até mesmo a perda do dispositivo. Quanto ao aquecimento do dispositivo, a preocupação não se restringe apenas ao funcionamento no ambiente final de trabalho. Um sensor conectado de  maneira errada pode superaquecer o seu dispositivo, provocando danos a ele. Por isso o constante monitoramento é necessário.


O material com o qual o case foi fabricado também deve ser levado em consideração. Se o objetivo é proteger o seu dispositivo, não adianta colocá-lo em um case feito de um material que não seja adequado ao seu projeto. Muitos cases são verdadeiras obras de arte e merecem elogios pela criatividade, mas, como diz o ditado: "Gaiola de ouro não alimenta o passarinho!". Seu projeto precisa funcionar bem, acima de tudo. 








domingo, 4 de outubro de 2015

Da difícil e simples arte de inovar...


INOVAR: Segundo o Michaellis:
i.no.var
(do latim innovare) vtd 1 Fazer inovações, introduzir novidades em... blá blá blá... 
Já viram esse modo de iniciar um artigo em algum lugar? Para mim não existe um modo melhor de entender um conceito do que mostrando um contra-exemplo. Às vezes delimitar o escopo do conceito, mostrando onde ele termina, nos faz perceber o quanto erramos em definir as coisas que produzimos. Antes de tudo é preciso separar duas coisas importantes nessa definição: a primeira é a inovação em si, a segunda é a inovação como conceito de mercado. Se considerarmos uma solução nova para um problema antigo, algum grau de inovação está contido nessa idéia. Mas para o mercado, não adianta se uma idéia é bonita e inteligente, precisa vender. Infelizmente, a mídia vende a idéia de inovação como sendo aqueles celulares que ficam obsoletos em seis meses e cujas novas versões não têm nada a acrescentar, além de uma câmera com maior definição, mais memória e mais dois núcleos de processamento. Isso passa uma idéia inalcançável de inovação e segrega as pessoas, fazendo-as pensar que ter boas idéias é algo reservado somente para grandes mentes iluminadas.



"Passamos anos das nossas vidas em uma escola, 
que premia os que tem uma memória muito boa, 
e reprime os que nasceram com a capacidade de questionar"

Inovar não é algo difícil. Muito mais difícil parece ser a coragem de mostrar que somos capazes de fazer algo novo. Isso vem de uma educação maltratada, que não encoraja o pensamento individual. Passamos anos das nossas vidas em uma escola, que premia os que tem uma memória muito boa, e reprime os que nasceram com a capacidade de questionar as coisas como elas são. Um livro nunca deveria ser o fim, mas o início de uma busca pelo conhecimento que parte dali para outras fontes e opiniões. 


"A verdade não deixa de ser verdade
por ter sido dita de um modo desagradável."

Pergunte-se: você tem coragem de mostrar aos outros uma idéia nova? uma música que você compôs? Um poema que você escreveu? Se essas perguntas o remetem ao medo das críticas, saiba que para inovar você precisa separar umas pessoas das outras. Seus pais sempre vão achar muito bonito o que você faz (via de regra), então, a opinião deles sempre será questionável, ainda que uma excelente fonte de apoio e nunca deverá ser desconsiderada. Mas pode não ser a opinião certa para indicar que você está num caminho certo. Por outro lado, a opinião dos críticos, pode não ser a mais agradável. Aprenda a não levar pelo lado pessoal, muitas vezes uma pessoa critica uma idéia pela simples inveja de não ser sua. Apesar disso, considere-as, pois podem ser as mais verdadeiras entre todas. A verdade não deixa de ser verdade por ter sido dita de um modo desagradável. Sendo assim, aproveite a oportunidade para crescer como pessoa e elevar o nível da sua idéia. 


"Ponha em prática ao menos uma 
das coisas que você tem vontade de fazer"

Passados todos esses poréns, liberte sua mente para inovar. Mude sua sala, alterne o caminho para o trabalho, tente fazer a mesma coisa de outro jeito, leia outros livros. Em outras palavras, ponha em prática ao menos uma das coisas que você tem vontade de fazer e nunca fez por medo do que os outros vão achar. Inovar é muito simples, e será uma construção, muito mais do que um talento nato. Uma idéia puxa outra que se conecta a outras e, quando menos esperar, vai estar surpreso com o que sua mente é capaz de criar.

sexta-feira, 2 de outubro de 2015

Idéias de projeto #1



As idéias para os projetos que construimos nascem de problemas reais e de sua análise. Vamos pensar um pouco e abrir alguns questionamentos sobre problemas que poderiam ser resolvidos com uma plaquinha de baixo custo e um pouco de criatividade?


Liduina possui um buffet e atende festas de aniversários, casamentos e outras mais. Liduina se especializou em comida gourmet e atende um público de alto requinte. Por pessoa, uma festa em média chega a custar $80 dólares. O fato é que Liduina enfrenta um problema sério. Controlar a entrada de penetras em suas festas. Habitualmente as pessoas chegam com uma senha impressa, ou deveriam chegar. A festa é um ambiente familiar e, as pessoas chegam e dizem que esqueceram a senha, mesmo assim, o buffet não pode impedí-las de entrar. Mas o que acontece normalmente é que muitas pessoas cedem sua senha para outras pessoas, que não eram contadas na lista, gerando um ônus extra de mais de 50% no orçamento. Começa então a discussão, pois o contratante passa a desconfiar que Liduina quer ganhar dinheiro desonestamente. No entanto, seria de muita serventia um sistema que garantisse o controle do número das pessoas na festa e que fosse confiável tanto para o contratante quanto para o contratado. Liduína quer saber: dá pra fazer?



Arlindo é um cara daqueles que conta cada centavo todo mês. Mas nos últimos quatro meses Arlindo viu algo que está tirando o seu sono: sua conta de água! Um aumento sem precedentes de mais de 4%. Arlindo verificou seus encanamentos, e não encontrou nada que justificasse aquele aumento absurdo. Arlindo sabe que a tarifa não aumentou, então existe um problema a ser resolvido. Um amigo de Arlindo falou que viu na TV alguns inventores que criam sistemas de controle de uso de recursos como água e eletricidade, e que assim ele poderia, nao somente resolver o problema, mas economizar ainda mais. Ele se interessou por esses sistemas e quer comprar um. Mas Arlindo já falou, não paga mais do que $50 dólares por ele. Arlindo quer saber: dá pra fazer?

Etapas de projeto: Testando o seu sistema


Ainda que pareça o fim do caminho, a etapa de testes de um projeto pode ser apenas o início de uma longa estrada. Dependendo da complexidade do projeto e de sua aplicação, os testes que são necessários para validar um sistema inteiro constituem um conjunto muitas vezes impossível de contemplar em um período de tempo limitado. Isso porque é muito difícil enxergar todas as possibilidades de situações que podem ocorrer durante o uso do sistema e que podem acarretar erros em sua utilização. É importante notar que os testes devem abranger diferentes níveis e que existem diferentes tipos de testes:

Testes para o software, embarcado ou não: o programa que está rodando em seu dispositivo ou em outros aplicativos que fazem parte do sistema inteiro precisam funcionar corretamente. Isso não quer dizer apenas estar livre de erros, mas estar adequado à funcionalidade para o qual se destina. O modo mais fácil de fazer isso é colocar o software para funcionar. Mesmo assim, os testes não precisam ficar somente para o final, durante todo o processo de desenvolvimento, pode-se testar as partes já terminadas.

Testes para o hardware: como o sistemas baseados em plataformas são constituídos de hardware e software, e, a integração desses dois componentes pode ser um desafio à parte, o hardware utilizado deve ser bem escolhido, bem como as outras partes constituintes do sistema, como sensores e atuadores. Entender e testar o funcionamento dessas partes é importante para não ter dores de cabeça posteriores. Exemplo: sensores digitais são constituídos de partes eletrônicas e muitos deles possuem pequenos chips que possuem uma faixa de temperatura para trabalho. O uso desses sensores em ambientes expostos ao sol podem danificá-los. O projetista não pode ignorar essas coisas.

Testes de funcionalidades: Funcionar corretamente pode não significar que o sistema funciona de acordo com o que necessita ou foi pedido. Deve-se perguntar ao final de tudo se o projeto responde às questões levantadas no início do seu desenvolvimento. É normal acontecer que, ao desenvolvermos um sistema solicitado por alguém, percebermos que nem mesmo a pessoa sabe o que quer. Isso acontece porque o ferramental disponível está na mente do desenvolvedor, e para ele é mais fácil perceber a solução para o problema. É com a experiência que se consegue entender o que o outro quer, mas mais ainda, o que ele precisa, e o que de fato é viável, com a tecnologia atual e com os recursos e tempo disponíveis.


quinta-feira, 1 de outubro de 2015

Questões e Decisões de projeto: Monitoramento de Lâmpadas - Chocadeira controlada por Arduino



A escolha de sensores para monitoramento de dispositivos em um projeto depende sempre da natureza do evento produzido pelo dispositivo, mas também deve atender às restrições do projeto. Ao fazermos o monitoramento de lâmpadas em um ambiente, doméstico, por exemplo, o custo do projeto não deve ultrapassar a economia produzida pelo dispositivo monitor, considerando que este é pensado para evitar o gasto desnecessário. Existem diversos sensores para se verificar o estado de uma lâmpada. Podemos utilizar sensores de corrente elétrica para ver se a lâmpada está sendo alimentada, sensores de temperatura, para verificar se a lâmpada está acesa e até sensores de luminosidade. É precisa levar em conta o tipo de lâmpada que você vai utilizar. Lâmpadas incandescentes (daquelas antigas) quando queimam, rompem o filamento, e não permitem a passagem da corrente elétrica. As lâmpadas atuais são diferentes, possuem um circuito eletrônico, e, pode acontecer que, mesmo que elas não estejam funcionando como deveriam, continuem consumindo energia. Nesses casos, verificar a corrente passando no fio que alimenta a lâmpada vai indicar um evento falso. Um dos sensores mais básicos para isso é o sensor de luminosidade LDR, que nada mais é do que um resistor que varia seu valor de resistência à corrrente de acordo com a quantidade de luz que recebe. São muito baratos e simples de utilizar, e podem fornecer a resposta  necessária para o monitoramento.  Projetos mais complexos podem necessitar da combinação de mais de um sensor. Vamos pensar na criação de uma chocadeira controlada por Arduino e que utiliza lâmpadas incandescentes de filamento para produzir calor. A temperatura nesse ambiente deve ser controlada rigorosamente, assim como a umidade. O ideal aqui seria monitorar a lâmpada, para verificar o seu estado e ainda ter uma lâmpada reserva que deve ser acionada caso esta primeira queimar. Sensores de luminosidade, corrente, umidade do ar e temperatura, devem ter seus estados verificados e o resultado a ser interpretado vem a ser uma combinação dos estados dos diversos sensores.