Save My Plant…v0.5

Jan 14
2011

…por enquando ainda so é a Versão 0.5! E porque? Porque na realidade nem eu sei o que quero fazer com o projecto…

Para terem uma ideia ontem assim do nada decidi adicionar o relay para controlar as luzes e hoje o codigo ja mudou quase todo…

Mas como prometido fica aqui uma pequena descrição do que o projecto ja faz e o que gostava ainda de colocar a fazer…

Ora bem o que já faz é:

  • Status de Manhã e a Noite sobre a Humidade da Planta via Twitter
  • Leituras da Humidade da Planta de 2 em 2 minutos.
  • Liga e desliga as luzes durante determinado tempo.
  • Status do Estado da Luz via Twitter
  • Dados sobre as horas de luz inseridas na BD
  • Alertas Criticos de estado da humidade via Twitter baseado em tres estados (Ver estado da Agua, Falta de Agua, Estado Critico)

O que gostava de colocar a fazer:

  • Validação da quantidade de luz na sala e em caso de falta, acende luz artificial para compensar as 16Horas de luz necessárias.
  • Rega automatica com sensor de quantidade e failsafe, não quero inundar a casa 😛
  • Mais sensores de Humidade, o vaso é grande…
  • Sensor de Temperatura
  • Mais qualquer coisa que me lembre…
  • ..

Para ja esta tudo ligado com cabos espalhados, mas a ideia é fazer uma caixa com tudo la dentro inclusive o Arduino sendo que apenas tem as entradas para o necessario, nomeadamente:

  • 2 x Fichas de 220V (Bomba de Rega e Luz)
  • 1 x Ficha de Alimentaçao do Arduino
  • 1 x Ficha de Rede para ligar o arduino ao Servidor

Apenas um pequeno screen shot de um dos gráficos gerados:

Nota: É engracado notar que quando passa dos 600 para baixo a velocidade com que a terra seca é muito mais rápida, mas ate chegar aos 600 aguenta-se bem umas duas semanas…

Enfim..mais pormenores ficam para a semana que agora vou de fim de semana com a Faneca e deixo @OFaneco a tomar conta da Bonsai… 😉

Arduino The Documentary now online

Jan 13
2011

Yep, é verdade, ja temos um documentario sobre o Arduino, podem ver aqui um pouco da introdução retirada do blog do arduino e depois vejam o video, sao 28 minutos que explicam muita coisa 😉

Divirtam-se.

————————————-

Arduino The Documentary is finally out. We have been waiting for long, but now you can see it at Vimeo (EN, ES) and download it from Archive.org (EN, ES). The file is licensed under CC-SA 3.0 and can be redistributed. The makers are working in making a batch of DVDs that will include the full interviews as well as footage of the different locations where the documentary was made (ITP, Parsons, Adafruit, Rockwellgroup, and Makerbot New York; Medialab Prado and IES Miguel Hernandez, Madrid; Laboral Centro de Arte, Gijon). Here the documentary in English:

The music is from People Like Us and Ergo Phizmiz, the theme chosen is Ghosts Before Breakfast, feel free to check it out.

Just anticipating any questions about this: no, Arduino has not supported the production of this documentary beyond giving access to our 2010 NYC meeting, donating some footage of the production plan in Ivrea, Italy, and being dead honest about what we think the future of embedded computing will be. Whatever message the documentary transmits is part of the work of its makers. We are just grateful they think the same way we do and that the result turned out this way. We are also thankful to everyone that showed up in the video saying how cool our project is, and to all of you that are making it possible.

All the work was made by Rodrigo (twitt him at @rodhk) and Raul (idea, film, postproduction), Gustavo (@gus_teky, who promoted this in the first place), and the people at Laboral Centro de Arte (financing, and equipment) in Gijon, Spain.

PS. this was the best xmas present I could get for 2010, thanks guys!

Update 2011-01-08:

  • added links for the downloads at Archive.org,
  • there were 26.000 views in the first 24h of the documentary being online,
  • translators needed visit: http://arduinothedocumentary.org/wiki and contribute,
  • added links to Rockwellgroup, one of the locations seen in the video
  • added a credit link to Gustavo Valera

MQ-7 Carbon Monoxide Sensor

Jan 11
2011

Inicialmente tudo parecia indicar que iria ser mais um sensor que mandava ca para fora o output em V e era so uma questao de os converter para ppm (partes por milhão)…pois…e como nao podia deixar de ser estava redondamente enganado…

Enfim…para quem decidir comprar este sensor cuidado, porque não é tao simples como aparenta, e so apos ter lido com mais atenção o Datasheet dele é que reparei que afinal, nao é so ligar e ja está.

Então que é que é preciso fazer? Segundo os senhores que fizeram o MQ-7 isto é um sensor que funciona por aquecimento a 5V sendo que quando esta a aquecer absorve todos os gases que possam existir ao lado dele mas, e agora vem a parte importante, depois de estar aquecido durante 60 segundos, tem que se baixar para 1.4V durante 90 segundos, e é nesta altura que se pode então tirar os dados de leitura sobre o CO que anda no ar… ora isto é um bocado chato né? entao so posso ter contagens de 2:30 em 2:30 minutos?!?!

Apos ter lido mais um pouco percebi, que ISTO é a maneira indicada, para ter dados mais viáveis e acima de tudo aumentar a vida do sensor, como o projecto em que o estou a meter não vai estar ligado 24x24x7 posso bem viver com estar a constantes 5V e os valores ja me agradam mais, sendo que fiz alguns testes com incenso (ficou ca um cheirinho a limão na garagem que nem vos digo) e com um cigarro e realmente ele detecta que ha fumo nas redondezas, de resto tem um comportamento bastante estável, ou seja não tem variações… por isso siga…

(Depois meto aqui um grafico que fiz com o sensor)

Entao agora que ja decidimos que isto é para funcionar a 5V o que é que vamos fazer?

Simples: Wiring Example é so seguir as instruções.

Eu pessoalmente nao liguei assim, mas porque comprei a Pololu MQ Gas Sensor Carrier e soldei tudo bonitinho e ficou com este aspecto:

Nota: Caso andem a porrada, tal como eu andei, sobre que lado é A e que lado é B, nao percam tempo, porque la perdido no meio do Datasheet menciona algo muito importante, o sensor é assimétrico, ou seja liguem de que maneira ligarem o importante sao os pins do meio que são os que transmitem os dados, isto usando a Breakoutboard que comprei também quando comprei o sensor na Inmotion.pt:

A resistencia, usei uma de 10K que é o que recomendam para começar na Datasheet.

Em seguida, é so colocarem o seguinte codigo no vosso arduino:

int sensorValue; 
 
void setup()
{
  Serial.begin(9600);      // sets the serial port to 9600
}
 
void loop()
{
  sensorValue = analogRead(0);     // read analog input pin 0
  Serial.print(sensorValue, DEC);  // prints the value read
  Serial.print(" ");	   // prints a space between the numbers
  delay(100);              // wait 100ms for next reading
}

E usarem qualquer fonte de fumo para fazer os testes. O ideal é usarem o processing para verem os valores a subir e a descer mas graficamente, como se costuma dizer o Tuga come com os olhos ;).

E pronto, isto é como fazer com 5V permanentes, mas se quiserem fazer com o circuito como manda a datasheet, e perceberem mais de electronica que eu, o que vos recomendo é que deem uma olhadela neste site, Citizen Sensor que tem umas board que envia para PT ja o kit completo para montar por uns modicos $32 USD. E que faz o tal circuito de liga e desliga usando para isso o PWM do arduino.

E escusam de tentar ligar directamente o VCC do sensor ao PWM do arduino e mandar via codigo o HIGH e o LOW, que nao funciona, os pins PWM nao teem mAmps suficientes para aquecer o sensor, teem mesmo que fazer um circuito. Se entretanto tiverem uma maneira mais pratica de fazer o circuito para isto dos 5v vs 1.4V avisem porque estou sempre a procura de novas ideias.

Ate lá, divirtam-se 😉

Ha ja me esquecia…ainda falta a parte de converter de V para PPM, mas isso vou tentar fazer usando um sensor de CO que ja esteja calibrado que é o que aconselham.

ATENÇÃO: Como bombeiro sou obrigado a dizer isto, mas as intoxicaçoes por monoxido de carbono sao das mais perigosas deixando sequelas para SEMPRE, por isso seja com incenso, fumo da lareira ou qualquer outro fumo, façam os testes sempre num local arejado, nao é por terem uma porta aberta que o sensor vai mudar os dados, eu sei porque fiz os dois testes, mas eu sou bombeiro, por isso posso fazer os testes a porta fechada 😛

LCD Nokia 5110

Jan 05
2011

..como tinha prometido, aqui fica o meu post/tutorial de como colocar este rapaz a funcionar…

Ora bem, depois de alguns mails trocados com quem de direito, aka Filipe Valpereiro e Carlos Rodrigues la consegui por isto a funcionar, mas a realidade é que tive “sorte”.

Sorte porquê? porque devido a não ler tudo ate ao fim podia ter queimado o LCD assim sem mais nem menos, é que este menino funciona a 3.3V e quando se diz 3.3V SAO mesmo TODOS OS PINS, nao é so o VCC…e eu como sou toto nao sabia disso. Devia ter lido o Datasheet!!

Mas felizmente nao queimou e a prova disso é que no dia 31 mandei um tweet com uma imagem do LCD a dizer HAPPY NEW YEAR, hehe…para fugir um pouco ao clássico “Hello World”.

Bem ja chega de conversa e vamos ao que interessa. Existem duas maneira de ligar isto a correcta e que funciona, e a menos correcta, mas que continua a funcionar…ainda estou a espera de ter confirmação se é seguro usar assim.

Para ja vao precisar da seguinte lista de material:

  • 1 x Nokia 5110 LCD
  • 6 x Resistencias de 10K
  • 8 x Jumper Cables
  • 1 x Arduino

Nota: se usarem um arduino que funcione a 3.3V nao precisam de resistencias, podem ligar o LCD directamente!

Depois de terem este material todo é so ligarem os pins com a seguinte ordem:

Nota: Estas ligaçoes sao especificamente para o Nokia 5110 LCD se usarem outro convem verem os pins que veem indicados “normalmente” por tras da board do LCD. no meu caso vinham e sao estas:

O que da as seguintes ligaçoes:

  • LCD —– > Arduino
  • 1 ———> 3.3V
  • 2 ———> GND
  • 3 ———> D7
  • 4 ———> D6
  • 5 ———> D5
  • 6 ———> D4
  • 7 ———> D3
  • 8 ———> (Este eu não liguei porque são os leds do LCD, mas por motivos de teste podem ligar em qualquer um desde que o PIN esteja HIGH)

E afinal onde é que colocamos as resistências???

Ok aqui entra a minha duvida, que talvez quem perceba mais de electronica possa esclarecer, ha duas maneiras de ligar, eu para ja estou a usar uma que assume que a board do LCD tenha um Diodo que assegura que nao queima, mas ha maneiras mais correctas segundo me informou tanto o Filipe Valpereiro com o Carlos Rodrigues, estes dois a quem gabo a paciência para me aturarem os mais 😉 eu ja tinha metido um filtro para spam para mim mesmo…hehe..

O melhor mesmo é verem este Tutorial da Sparkfun que explica tudo como devem fazer, e depois se não vos agradar ou quiserem arriscar fazer a minha maneira passem para o parágrafo seguinte.

Eu liguei metendo nada mais nada menos do que uma resistência de 10K entre cada pin do LCD e cada pin do Arduino, e ei esta a funcionar as mil maravilhas, pelo menos por enquanto ainda nao vi fumo, seja ele branco ou de outra cor qualquer… Por isso voces é que sabem, é a vossa responsabilidade!

Note-se que este desenho é apenas a titulo ilustrativo e a minha primeira experiencia, falhada, diga-se de passagem 😉 com o Fritzing, mas da para perceberem a ideia…

Apesar de so estarem 6 resistencias se quiserem ligar o Pin 8 do LCD (LED) ao arduino o esquema é o mesmo, é so meterem la uma resistencia de 10K.

Em seguida depois de tudo ligado e conferido, so teem que sacar a LIB Arduino Library ( Thanks to Carlos Rodrigues) instalarem no vosso local do costume, e carregarem o exemplo que vem com a LIB ou simplesmente copiarem o seguinte sketch.

/*
 * PCD8544 - Interface with Philips PCD8544 (or compatible) LCDs.
 *
 * Copyright (c) 2010 Carlos Rodrigues
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
 
/*
 *
 * Since these LCDs are +3.3V devices, you have to add extra components to
 * connect it to the digital pins of the Arduino (not necessary if you are
 * using a 3.3V variant of the Arduino, such as Sparkfun's Arduino Pro).
 */
 
#include
 
// A custom glyph (a smiley)...
static const byte glyph[] = { B00010000, B00110100, B00110000, B00110100, B00010000 };
 
static PCD8544 lcd;
 
void setup() {
  // PCD8544-compatible displays may have a different resolution...
  lcd.begin(84, 48);
 
  // Add the smiley to position "0" of the ASCII table...
  lcd.createChar(0, glyph);
}
 
void loop() {
  // Just to show the program is alive...
  static int counter = 0;
 
  // Write a piece of text on the first line...
  lcd.setCursor(0, 0);
  lcd.print("Hello, World!");
 
  // Write the counter on the second line...
  lcd.setCursor(0, 1);
  lcd.print(counter, DEC);
  lcd.write(' ');
  lcd.write(0);  // write the smiley
 
  delay(500);
  counter++;
}

E se de facto tiverem tudo bem ligado deverá aparecer um glorioso “Hello World” no vosso lcd com um pequeno smiley e um numero a incrementar.

Confesso que a mim não me aconteceu isso da primeira vez, porque primeiro como ja mencionei estava a ligar a 5V e segundo porque não estava a olhar correctamente para os pins de um lado e de outro.  Por isso em caso de duvida ligem usando este esquema que aqui vos coloco.

Se por acaso, depois quiserem mudar a ordem dos pins no Arduino, teem que alterar directamente na lib PCD8544.h que tem quase no incio algo tipo

// The pins used by this library...
#define PCD8544_SCLK  8  /* clock       (display pin 2) */
#define PCD8544_SDIN  4  /* data-in     (display pin 3) */
#define PCD8544_DC    5  /* data select (display pin 4) */
#define PCD8544_RESET 6  /* reset       (display pin 8) */
#define PCD8544_SCE   7  /* enable      (display pin 5) */

E que como podem constatar este é o meu, e ja foi alterado. mudei o pin 3 para pin 8 uma vez que estou a usar o pin 3 para outra shield.

E pronto, penso que mais simples que isto não pode ser, é mesmo como dizem no site, “Plug and Pray” 😉

Como sempre dúvidas, ajudas e mais importante sugestões são muito bem vindas…

Novas Peças 2011…

Jan 02
2011

Eu diria que este é o primeiro post sobre novas peças…mas de 2011 😉

Entao como tinha deixado ai no estaminé no ultimo post de 2010, aqui ficam as peças novas que comprei e me foram oferecidas pela faneca no ultimo mes.

  1. RFID Tag – Credit Card Sized

  1. RFID Tag – Key Fob

Ok, estes confesso que fiquei surprendido com o a Faneca quando abri a prenda, porque eu sabia que o resto do kit nao podia ter vindo porque estava esgotado…mas estas duas peças sao vitais para o projecto “Good Morning Dave”.

  1. GPS Shield

  1. 20 Channel EM-406A SiRF III Receiver with Antenna

Este conjunto era perfeito, porque era mesmo aquilo que eu estava a espera 🙂 sobre a utilizaçao destes e em que projecto ainda nao posso falar muito uma vez que prometi “confidencialidade”.

Sobre as proximas peças uma delas nao vai ser facil de usar e a outra finalmente e por um “tiro” de sorte la consegui por a funcionar, sao elas:

  1. Graphic LCD 84×48 – Nokia 5110

  1. Carbon Monoxide Sensor – MQ-7

Para ja sao so estas, eu sei que falei num sensor LM335Z, mas a realidade é que nao estou muito satisfeito com ele e mediante conselho de um amigo, vou trocar por um LM35, que torna a minha vida muito mais facil. Sobre o MQ-7 aka Sensor de Monoxido de Carbono, nao vai ser facil por a trabalhar, porque aquilo funciona por “aquecimento” ou seja tem que estar x tempo a uma determinada voltagem e y tempo noutra voltagem…vamos ver como corre.

Sobre o LCD ainda hoje vai sair um post sobre como o consegui por a funcionar e a “sorte” por ter conseguido/nao ter queimado o mesmo… ps: isto funciona a 3.3V, por isso todos os pins teem que estar a 3.3V, e quando digo todos, sao mesmo todos….

Ate ja…e penso que la para o meio do mes ainda veem mais umas pecitas…

Ja agora um BOM ANO de 2011 que ja entrou e este é oficialmente o 1º post de muitos durante este ano…e sim eu sei que ainda nao coloquei os dados sobre o projecto do “Save My Plant” que esta a funcionar a 100%, tambem durante o dia de hoje ou esta semana farei isso…

ate ja…

Follow Me