LM35 + Ethernet Shield

Feb 15
2011

Depois vou falar mais sobre isto, mas para ja o que vos posso dizer é que ligando o sensor LM35 ao pin 1 aquilo da temperaturas altamente erradas…aparentemente é um incompatibilidade em partilhar o Analog Pin com o sensor e com a Ethernet Shield…

Pensavam que ja nao andava por ca nao era? 😉

Na realidade ando, mas como tenho andado de volta de outros projectos da vida, nao me tem sido possivel dedicar tanto tempo ao Arduino como gostava…posso inclusive dizer que tenho vários projectos parados por falta de tempo….

Para ja estou apenas a trabalhar no “Save My Plant” que passou a chamar-se “Control My Garden” e vai ter funcionalidades um pouco diferentes das do Save My Plant que era mais indicado para plantas indoor, este é mais virado para hortas e quintais com relvas e afins 🙂

Um dos acrescentos é esta maravilha:

PIR Motion Sensor – Que vai implementar o modulo para “assustar” os animais que possam querer entrar na horta e dar-me cabo dos morangos 🙂

Mais uma vez depois dou mais detalhes…

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…

E mais novas peças!

Dec 18
2010

Eu sei, eu sei, isto ja começa a ser repetitivo, os posts de novas peças, mas ei o que querem que faça?! isto é um vicio, e novos projectos nao param de me surgir na cabeça…

Mas desta vez é so uma, bem so uma alem do Xbee USB Explorer que tive que comprar para poder configurar os Xbee’s.

É um Triple Axis Accelerometer Breakout – MMA7260Q que me vai permitir partir para mais dois projectos em paralelo, e em paralelo, porque as finanças não dão para tudo.

Um dos projectos é à noite, e apenas durante uma semana para curiosidade e o outro ainda não esta a 100%, falo do projecto TerraSentes que foi um dos projectos em que participei no Codebits 2010 e que nos valeu um prémio nos dez primeiros.

Sobre o projecto nocturno, podem ver na pagina dos Projectos, apesar de ainda não ter começado nada, mas ja la está o nome.

Mais uma vez todas estas peças foram compradas na Inmotion.pt e mais uma vez tenho que agradecer ao Filipe Valpereiro a rapidez com que ele envia as encomendas.

E ja agora, tenho a impressão que depois do Natal, ainda vai haver um post sobre novas peças, porque acho que o Sr das Barbas Brancas, aka Pai Natal, me vai mandar pela chaminé, trazido pelo seu treno controlado por arduinos, mais umas peças para eu brincar 😉

Peças novas e a sua soldadura!

Dec 14
2010

Ora bem…

Chegaram na segunda feira, depois de umas atribuladas voltas a procura da estaçao de correios certa, os meus XBee Pro 50mW Series 2.5 Wire Antenna e as respectivas Arduino Stackable Header – 6 Pin e as Arduino Stackable Header – 8 Pin!

Nao vou para ja fazer uma revisao sobre isto porque ainda nao as consegui usar devidamente…afinal falta-me algo, para poder programar os XBee…

Num post mais a frente, falarei sobre os Xbee. ja agora a peça é um XBee Explorer USB.

Bem, mas antes de poder usar os xbee’s e as respectivas shield’s que ja tinha falado num post anterior, avizinhava-se uma longa noite de soldadura porque são qualquer coisa como 64 soldaduras nas duas placas para ter os terminais soldados.

Depois de muitos videos youtube, la vi como é que “teoricamente” se soldava e meti mãos a obra… o resultado foi melhor do que o que estava a espera, passados 30 minutos ja tinha a primeira placa toda soldada, e mais ou menos 1 hora depois tinha as placas ligadas nos arduinos com umas belas soldaduras…

Um Howto muito importante que eu vi esta no site da sparkfun.com e explica como fazer o assembling destes shields. Vejam o GPS Shield Assembly Guide, apesar de ser para o GPS Shield, o principio é o mesmo.

E como nao podia deixar de ser, aproveitei quando fui soldar o segundo shield para fazer um pequeno timelapse…

Divirtam-se:

Mais para a frente ja vou colocar um post sobre a programação e a parte de realmente usar o xbee para comunicar entre dois arduinos.

Como sempre, eu não percebo nada disto, por isso não me responsabilizo por coisas que possam danificar o vosso material, mas ei, eu também estou a aprender 😉

Ethernet Shield – Problemas

Dec 10
2010

Logo a seguir a ter escrito o post anterior Temperatura+Arduino+Mysql=RDDTool deparei-me com o LED do meu arduino, que ate à cinco minutos estava a actualizar perfeitamente, completamente acesso e os logs do webservice parados…Mas o que poderia estar a correr mal uma vez que o sketch que estava a usar ainda ontem funcionava sem problemas. La me decidi a ir ao google uma vez que isto ja me tinha acontecido algo parecido mas nunca pensei que fosse realmente da parte do hardware e não do software, aka código feito por mim.

E relamente encontrei logo nas primeiras pesquisas um forum onde alguem se queixava do mesmo problema e assim que removia o micro-SD card da slot que começava tudo a funcionar sem problemas…e não é que aconteceu mesmo isso? Assim que removi o cartão o shield começou imediatamente a funcionar sem qualquer problemas e ja esta assim a cerca de 2 horas.

Entretanto ja tentei meter novamente o cartao e pumba, voltou a crashar, nao sei se crashar será bem o termo correcto, será se calhar preferivel chamar-lhe “freezar” porque é o que faz, assim que removo o cartao começa novamente a funcionar sem problemas. Já mandei alguns mails e estou a espera de respostas. A parte mais estranha é que nem sequer estou a usar as libs para o cartão, a sdFatLib.

Por isso, para quem tem a nova EthernetShield com SD card, cuidado se por acaso de repente aquilo ficar “freezado”, testem sempre remover o cartão, para confirmar se é do cu ou das calças

Boa sorte…

Ja agora se alguém tiver uma solução para isto, por favor digam-me qualquer coisa. Como sempre a gerência agradece.

Breadboard Jumper Wires

Nov 30
2010

Chegaram hoje pelo correio! Já tinha falado deles no primeiro post que falei de kits.

Sao realmente mais práticos, sao maleáveis com pontas reforçadas, o que torna mais facil a utilizaçao tanto na breadboard como nos pins do Arduino.

Comprei na .:oomlout:. e foram extremamente rápidos a enviar, uma vez que demorou menos de uma semana a chegar ate casa, fica localizado em UK. Vejam os cabos aqui:

BreadboardJumper Wires

  • Stranded 22AWG wires with solid tips make prototyping with breadboards easy. We were pessimistic about these at first but having used them we will ever go back to solid jumpers. This bundle of 70 will provide enough wire for all but the most ambitious projects, and because they are flexible they are fully reusable.

O conjunto inlcui 70 cabos:

  • 50 short jumpers (120mm)
  • 10 medium jumpers (150mm)
  • 5 long jumpers (200mm)
  • 5 extra long jumpers (250mm)

Ja os estou a usar, e recomendo vivamente, posso dizer que 140 cabos, ou seja dois conjuntos, ficou por 12€ ja com os portes.

As novas peças…

Nov 26
2010

Apos ja ter anunciado hoje via twitter, aqui fica mais uma vez, chegaram as novas peças que encomendei para o meu Arduino que me irão permitir continuar/começar alguns dos projectos que tenho em mente e que ja anunciei aqui noutro post.

Bem vamos ao que interessa:

A primeira peça é uma Ethernet Shield (new version) que tem a vantagem de ja permitir usar um micro SD Card. A ideia é colocar la configurações ou simplesmente para guardar logs. Ainda nao sei bem como vou usar a funcionalidade do SD, mas como a diferença para o modelo antigo, sem SD, era de 3€ optei por comprar com SD.

Documentos via Inmotion:

As segundas peças que comprei são Xbee Wireless Shield’s da SparkFun, e tive que comprar na LusoRobotica em PT porque nao compensava mandar vir os US apenas duas placas e tinha pressa em as receber.

Documentos via SparkFun:

Ok, podem agora perguntar, mas se ja existem Shields da Arduino para os Xbee, porque é que eu fui comprar da Sparkfun, ora bem é simples, é que aparentemente e ao contrario do que eu incialmente pensava, nao se podem “empilhar” assim tantas shields como inicialmente tinha em mente… mas isso é para outro post. Voltando as estas da sparkfun, a vantagem é que tem um micro interruptor, e quando digo micro, é MESMO micro, que permite mudar de usar os pins standard, D0 e D1 para D2 e D3 ou qualquer outro usando uma Library chamada, NewSoftSerial, mas mais uma vez isso é para outro post.

Bem aqui ficam as fotos das placas, note-se que ainda nao estao completas, ou seja ainda preciso de mandar vir 2x 8-pin stackable headers e 2x 6-pin stackable headers para que possam empilhar com o arduino. A parte de soldar nao vai ser facil hehe…

Para ja foram estas as peças que recebi e vou agora experimentar a de eth a ver o que isto dá…

Follow Me