Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Plantas de escritório com sede de tweetar

Componentes e suprimentos

Arduino Due
× 1
Andium Anduino WiFi
× 1
Arduino Zero
× 1
Sensor capacitivo de umidade do solo
× 1

Aplicativos e serviços online

Arduino IDE
IFTTT
Adafruit IO

Sobre este projeto





Motivação


Aqui no Andium, estamos super entusiasmados por finalmente termos mudado para nosso novo espaço de escritório. Nós o enfeitamos com paredes cobertas de quadros brancos, nova tecnologia brilhante e todos os confortos de casa. Especialmente começou a me sentir em casa quando colocamos um punhado desses amigos de folhas verdes por todo o espaço!

Só que esquecemos de regá-los e dentro de uma semana ou mais nossos amigos frondosos começaram a ficar assim ...

Falhou.

Somos uma empresa de IoT, somos melhores do que isso. Como nossas fábricas não estão conectadas à Internet! Esperançosamente, antes que seja tarde demais para esse carinha, eu montei uma solução usando nosso escudo anduinoWiFi e IFTTT. É hora de dar voz às nossas plantas!





Primeiros passos


Se você tem um polegar verde, provavelmente já parou de ler, mas se você é como eu e precisa dar às suas plantas a capacidade de implorar por misericórdia digitalmente e gritar por um pouco de água, então você está no lugar certo.

Para dar voz às suas plantas, você precisará de um Arduino Due, ou Zero, um escudo anduinoWiFi (ou qualquer outro Arduino conectado por WiFi que possa se comunicar com Adafruit IO) e, por último, um 'Sensor Capacitivo de Umidade do Solo'. Ah, e um copo d'água. (Dê para sua planta quando terminarmos, eles vão agradecer por e-mail agora).





Sensor de umidade


O sensor de umidade do solo é muito legal, não há muitos sensores onde você seja realmente encorajado a submergir na sujeira úmida, então aproveite enquanto pode. Mas não muito, observe esta linha ...

Faça o que fizer, não submerja seu sensor abaixo dessa linha branca. Nada acima irá tolerar muito bem a exposição à umidade, então tome cuidado ao molhar suas plantas que contêm este sensor.

Se você clicou na próxima foto acima, deve estar se perguntando por que coloquei o sensor submerso em um copo d'água. Bem, não se pergunte mais!





Como calibrar o 'sensor capacitivo de umidade do solo'


Nosso sensor capacitivo tem três fios que conectaremos ao pino analógico A1 de 3,3 V (vermelho), terra (preto) e (sinal azul). Quando calibramos nosso sensor, vamos registrar a leitura da capacitância quando o sensor estiver completamente seco e, em seguida, fazer uma segunda leitura quando o sensor estiver submerso (até a linha branca!) Em um copo d'água. Isso nos dá nossos limites extremos de umidade relativa de 0-100%.

Conecte seu sensor, execute este esboço e anote seus resultados. Para referência, meu dryVal era 807 e meu wetVal era 415.
  int inputPin =A1; void setup () {Serial.begin (115200); atraso (3000); } void loop () {Serial.print ("Raw val:"); Serial.println (readHumidity ()); atraso (3000); } int readHumidity () {int sensorVal =analogRead (inputPin); return sensorVal; }  

Depois de ter esses dois números, você está pronto para configurar o mapeamento de umidade relativa. Considere-se calibrado!





O esboço

  #include  #include "Adafruit_MQTT.h" #include "Adafruit_MQTT_Client.h" #include "AnduinoLCD.h" // Parâmetros de WiFi #define WLAN_SSID "Andium" #define WLAN_PASS "talvez // Adafruit IO #define AIO_SERVER "io.adafruit.com" #define AIO_SERVERPORT 1883 #define AIO_USERNAME "yourusernname" #define AIO_KEY "dosifje0j230fj32lksdfj230ff23" Cliente WiFiClient; Adafruit_MQTT_Client mqtt (&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY); / ******************************* Feeds ****************** ********************* / // Configurar feed para temperatura Adafruit_MQTT_Publish moistVal =Adafruit_MQTT_Publish (&mqtt, AIO_USERNAME "/ feeds / officePlants"); / * Cria uma instância do AnduinoLCD * / AnduinoLCD LCD =AnduinoLCD (ST7735_CS_PIN, ST7735_DC_PIN, ST7735_RST_PIN); int inputPin =A1; const int dryVal =807; const int wetVal =415; umidade interna =0; int umidadePrev =0; int relHumidity =0; void setup () {Serial.begin (115200); atraso (3000); // Conectar ao WiFi &Adafruit.IO connectToWiFi (); connectToAdafruit (); // Inicializa o LCD LCD.begin (); LCDinit (); } void loop () {// execute ping no adafruit io algumas vezes para garantir que permaneçamos conectados if (! mqtt.ping (3)) {// reconecte no adafruit io if (! mqtt.connected ()) connect (); } umidade =readHumidity (); // converte int temp para char array char b [4]; String str; str =String (umidade); para (int i =0; i  =0) mqtt.disconnect (); Serial.println (F ("Tentando conexão novamente ...")); atraso (1000); } Serial.println (F ("Adafruit IO Connected!")); } void displayHumidity (int umidade, int humidtyPrev) {// limpar o valor obsoleto LCD.setTextColor (ST7735_BLACK); LCD.setTextSize (2); LCD.setTextWrap (true); LCD.setCursor (40,60); LCD.setTextSize (5); LCD.print (umidadePrev); LCD.setTextSize (2); LCD.print ("%"); // Imprime o novo valor LCD.setTextColor (ST7735_WHITE); LCD.setTextSize (2); LCD.setTextWrap (true); LCD.setCursor (40,60); LCD.setTextSize (5); LCD.print (umidade); LCD.setTextSize (2); LCD.print ("%"); } void connectToWiFi () {// Conectar ao ponto de acesso WiFi. atraso (10); Serial.print (F ("Conectando a")); Serial.println (WLAN_SSID); WiFi.begin (WLAN_SSID, WLAN_PASS); enquanto (WiFi.status ()! =WL_CONNECTED) {atraso (500); Serial.print (F (".")); } Serial.println (F ("WiFi conectado!")); } void connectToAdafruit () {// conectar ao adafruit io connect (); } void LCDinit () {LCD.setBacklight (ON); LCD.fillScreen (ST7735_BLACK); // limpa a tela LCD.showBanner (); // carrega Andium Banner LCD.setTextColor (ST7735_WHITE); LCD.setTextSize (2); LCD.setTextWrap (true); LCD.setCursor (0,40); LCD.print ("Umidade:"); } int readHumidity () {int sensorVal =analogRead (inputPin); relHumidity =map (sensorVal, dryVal, wetVal, 0, 100); Serial.println ("relHumidity"); Serial.print (relHumidity); retornar relHumidity; }  

Copie e cole este esboço em seu IDE e certifique-se de ter essas bibliotecas instaladas.
  • WiFi101
  • Adafruit_MQTT
  • AnduinoLCD

Bem como seu calibrado pessoalmente ...
  const int dryVal =807; const int wetVal =415;  

valores úmidos e secos. Na parte inferior do esboço, quando lemos Umidade (), usamos esses valores para mapear 0-100% de umidade relativa. Portanto, agora nossos valores serão 0% quando seco e 100% quando totalmente saturado.
  relHumidity =map (sensorVal, dryVal, wetVal, 0, 100);  

Se tudo correr bem e o seu arduino se conectar ao WiFi e ao Adafruit IO, você deverá começar a ver as leituras chegando a cada 10 minutos. Aqui está um instantâneo de nossas leituras de hoje.

Não se preocupe com os valores discrepantes de hoje, eu também estava publicando enquanto lia minha capacitância bruta não mapeada para determinar meus valores secos e úmidos.

Ótimo, agora a cada 10 minutos publicamos nossa leitura de umidade do solo. Agora eu meio que realmente não me importo com quais são as leituras até que eu tenha que salvar minhas plantas da morte e regá-las. Vamos usar o IFTTT para definir um nível de umidade limite e configurar a notificação a ser enviada para que possamos regar nossas plantas!





Limiar IFTTT


Usando o IFTTT, estabeleci um limite de forma que, quando a umidade relativa do solo cair abaixo de 20%, nossas plantas sedentas chegarão até nós via twitter (@andiumPlants) pedindo para serem regadas! Aqui está uma visão geral da configuração.

É isso!





O que vem a seguir?


Deixo isso com você! De que outra forma podemos dar voz às nossas plantas de forma criativa e evitar que nossa fauna falhe. Pegue um anduinoWiFi e um sensor de solo e comece a fazer!

Código

Anduino
Uma biblioteca Arduino para o escudo Andium (Anduino). Transforme seu Arduino em um AndiumNode.https://github.com/andium/Anduino

Processo de manufatura

  1. Fertilizante
  2. Arduino Spybot
  3. FlickMote
  4. TV B-Gone caseiro
  5. Relógio mestre
  6. Encontre-me
  7. Arduino Power
  8. Tech-TicTacToe
  9. Determinando a saúde das plantas com TinyML
  10. Arduino Quadruped