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

Entre na casa como um Lorde Sith

Componentes e suprimentos

Partícula Photon
× 2
Arduino UNO
× 1
Adafruit Music Maker MP3 Shield
× 1
Sensor de movimento Adafruit PIR
× 1
LED (genérico)
× 2
Resistor 220 ohm
× 2
fios de jumper
× 1
Alto-falante:3W, 4 ohms
× 1
Breadboard (genérico)
× 2
Carregador de parede USB Micro B
× 1
Cabo USB-A para B
× 1
Male-Header 36 Position 1 Row- Long (0.1 ")
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)

Aplicativos e serviços online

Nuvem de partículas

Sobre este projeto


Minha filha é uma grande fã de Star Wars (embora ela não tenha visto nenhum dos filmes ainda). Não é de surpreender que ela tenha superado tudo quando perguntei se ela queria construir um projeto com o tema Guerra nas Estrelas. Eu não sei quantas vezes ela me fez tocar a Marcha Imperial (música-tema de Darth Vader) quando ela estava vestindo sua fantasia de Darth Vader para que ela pudesse fazer uma grande entrada na sala. Então, rapidamente definimos essa ideia de projeto - detectar automaticamente alguém voltando para casa e, em seguida, acionar a execução da Marcha Imperial pouco antes de a pessoa entrar em casa.



Este é um projeto bastante simples, portanto, é adequado para iniciantes. Achei interessante porque é a primeira vez que uso o padrão publicar / assinar de / para a nuvem. Também foi a primeira vez que integrei diferentes tipos de microcontroladores em um único projeto. Adoro a simplicidade e facilidade de uso do Photon quando se trata de criar uma solução conectada à nuvem. E você não consegue superar a variedade e magnitude do hardware complementar disponível para o Arduino. Ser capaz de colocá-los juntos tão facilmente permitiu que este projeto se concretizasse rapidamente.







Etapa 1:monte o sensor


Tempo:10 minutos

Peças:Fóton, resistor de 220 Ohm, LED, sensor de movimento PIR, placa de ensaio, fios de jumper macho / macho, cabo USB micro B

Ferramentas:N / A

Primeiro, conecte o LED ao Photon. Monte seu Photon na placa de ensaio. Em seguida, conecte o resistor entre o pino de aterramento do Photon e uma fileira aberta na placa de ensaio. Por fim, conecte a perna longa do LED a um PIN digital no Photon (usei o pino D0) e a perna curta do LED à linha aberta à qual o resistor está conectado. Francamente, o LED é opcional, mas eu o uso para indicar o estado do sensor, já que o próprio sensor PIR não fornece nenhuma indicação de quando o movimento é detectado, nem o Photon fornece qualquer indicação quando publica o evento na nuvem.

Em seguida, conecte o sensor PIR ao Photon. Monte o sensor PIR na placa de ensaio - eu uso pinos de cabeçalho fêmea em ângulo reto para conectar o sensor PIR à placa de ensaio, pois isso me permite "prender" o sensor PIR na placa de ensaio verticalmente. (Se você não tiver pinos de cabeçalho de ângulo reto, use alguma fita dupla-face ou algum adesivo para montar seu sensor PIR na mesa ou o que quer que você esteja montando e use fios de jumper fêmea / macho direto do macho do sensor PIR Use fios de jumper para conectar o GND do PIR ao pino GND do Photon, o pino 5V do PIR ao pino Vin do Photon e o pino de sinal do PIR a um pino digital do Photon (usei o pino D7).

Verifique novamente a folha de dados do seu sensor para certificar-se de identificar corretamente os 5V, GND e pino de sinal do sensor, pois o pedido varia de acordo com o fabricante. Mesmo que meu sensor PIR opere a 5 volts, seu pino de sinal opera a apenas 3,3 V, e é por isso que ele pode ser conectado diretamente a um pino digital no Photon. Novamente, verifique a planilha de dados do seu sensor para garantir que a tensão do sinal seja de 3,3V.

Ligue o conjunto por meio do conector USB Micro B do Photon para um PC ou uma tomada de parede. Abra o IDE de partículas e cole o código do sensor fornecido abaixo. Em seguida, envie o código para o Photon.

Agora, se você acenar com a mão na frente do sensor, o LED deve acender. Além disso, você pode verificar seus logs no Painel de partículas para ver se o evento foi publicado.





Etapa 2:monte o gatilho


Tempo:10 minutos

Peças:Photon, resistor de 220 Ohm, LED, placa de ensaio, fios de jumper macho / fêmea

Ferramentas:NA

Conecte o LED e o resistor ao fóton exatamente como fez na etapa anterior. Novamente, o LED é opcional, mas acho útil indicar quando um evento é recebido da nuvem de partículas. Em seguida, conecte a extremidade macho dos fios de jumper ao Vin da Photon, GND e um pino digital (usei o pino D7). O pino digital do Photon se conectará a um dos pinos GPIO do Music Maker para acionar a música. As conexões Vin e GND do Photon serão usadas para alimentar o Photon do Arduino.

Mas primeiro, antes de conectar ao Arduino, ligue o conjunto por meio do conector USB Micro B do Photon para um PC ou uma tomada. Abra o IDE de partículas e cole o código de gatilho fornecido abaixo. Em seguida, atualize o código para o Photon - certifique-se de ter selecionado o dispositivo correto para atualizar o código agora que você tem dois dispositivos conectados ao IDE de partículas.










Etapa 3:montar o escudo do Arduino e do Music Maker


Tempo:20 minutos

Peças:Arduino Uno, escudo do Adafruit Music Maker, Photon, resistor de 220 Ohm, LED, mini placa de ensaio, fios de jumper, cabo USB

Ferramentas:ferro de solda

Os pinos do cabeçote estão incluídos no escudo do Music Maker, mas você deve soldá-los. Além dos pinos de cabeçalho para conectar a blindagem ao Arduino, adicionei pinos de cabeçalho machos no topo da blindagem para GPIO e conexões de alimentação do Photon. (Se eu tivesse pinos conector fêmea, eu os usaria para precisar apenas de cabos jumper macho / macho. Mas, eu só tinha pinos conectores macho disponíveis (além dos fios jumper macho / fêmea), então eu decidi rota em vez disso.)

Conecte o fio do jumper do pino digital do Photon a um pino GPIO na blindagem (usei o pino 7 na blindagem). Conecte o jumper do Vin do Photon ao pino 5v na blindagem e o jumper GND ao pino GND da blindagem.

Finalmente, conecte seu (s) alto-falante (s) ao (s) bloco (s) terminal (is) na blindagem - há um bloco de terminais para um alto-falante direito e outro para um alto-falante esquerdo. Acabei de conectar um alto-falante - salvei um pequeno alto-falante de um dos brinquedos quebrados da minha filha antes de jogá-lo fora.

Conecte o Arduino à sua máquina de desenvolvimento, cole o esboço do Arduino abaixo no IDE do Arduino e faça o upload.

É isso. Ande na frente do sensor, sente-se e espere a música começar.






Sobre o Código


Como mencionei anteriormente, esta foi a primeira vez que usei o padrão publicar / assinar. Foi muito fácil fazer com o Photon. No código do sensor, quando o pino de sinal do sensor PIR fica ALTO, ligo o LED e publico um evento na nuvem de partículas. Publicar um evento requer apenas uma linha:

publicado =Particle.publish ("movimento detectado", NULL, 60, PRIVADO);

Inicialmente, não tornei a publicação privada - não me importei, pois não há informações de identificação pessoal. Mas, quando fui assinar o evento, recebi muitos alarmes falsos - aparentemente, muitos outros usuários estão publicando eventos orientados a "movimento". Portanto, mudei a chamada de inscrição para inscrever-se apenas em eventos de meus dispositivos, adicionando o parâmetro "MY_DEVICES":

Particle.subscribe ("motion", soundAlarm, MY_DEVICES);

E para que a função de assinatura se limite apenas aos meus dispositivos, eu tive que tornar a publicação privada.

O código de gatilho simplesmente chama o manipulador de eventos - soundAlarm - quando o evento de movimento ocorre. Tudo o que o manipulador de eventos faz é ligar o LED e girar o pino GPIO no escudo do Music Maker para ALTO. O esboço do Arduino detecta que o pino GPIO está ALTO e aguarda 60 segundos (para eu estacionar meu carro, pegar minhas coisas e entrar em casa) antes de reproduzir o arquivo MP3 no cartão SD.







Implante o projeto


Eu configurei o sensor na garagem nas prateleiras ao lado de onde estaciono meu carro. Coloquei o gatilho e o Arduino com escudo e alto-falante Music Maker no balcão da cozinha, pois minha filha geralmente está na mesa da cozinha quando eu chego em casa. Ambos os locais têm tomadas nas proximidades, o que facilitou a alimentação de ambas as partes do projeto.


Código

  • Código do sensor
  • Código de gatilho
  • Código de proteção do Arduino e do Music Maker
Código do sensor C / C ++
Código de amostra para o fóton que publica um evento na nuvem de partículas sempre que o movimento é detectado.
 // define o LED no pino D0int led =D0; // define a entrada do sensor PIR no pino D6int pir =D6; // rastreia se a publicação foi bem-sucedida ou não publicada; void setup () {// define o pino do LED como output pinMode (led, OUTPUT); // define o pino de entrada do sensor PIR como input pinMode (pir, INPUT); // certifique-se de que o LED está desligado digitalWrite (led, LOW);} void loop () {if (digitalRead (pir) ==HIGH) // se o movimento for detectado {// liga o LED como um indicador de que fui detectado digitalWrite (led, HIGH); publicado =Particle.publish ("movimento detectado", NULL, 60, PRIVADO); if (! publicado) // se a publicação não foi bem-sucedida {// pisca o LED 10 vezes como um indicador da falha de publicação para (int i =0; i <10; i ++) {digitalWrite (led, LOW); atraso (500); digitalWrite (led, HIGH); atraso (500); }}} else // se nenhum movimento for detectado, desligue o LED digitalWrite (led, LOW); // aguarde 2 segundos antes de realizar outro atraso de leitura (2000);} 
Código de gatilho C / C ++
Exemplo de código para o Photon que se inscreve em eventos de movimento na nuvem de partículas publicado pelo meu sensor e, em seguida, aciona o escudo do Music Maker para reproduzir o MP3.
 // define o LED no pino D0int led =D0; // define o acionador para o Arduino no pino D7int trigger =D7; void soundAlarm (evento const char *, const char * data) {// quando o evento de movimento foi acionado // liga o LED digitalWrite (led, HIGH); // liga o acionador digitalWrite (trigger, HIGH); // espera dois segundos delay (2000); // desliga o acionador digitalWrite (trigger, LOW); // desligar o LED digitalWrite (led, LOW);} void setup () {// inscrever-se em eventos de movimento somente de meus dispositivos // definir soundAlarm como o manipulador de eventos Particle.subscribe ("motion", soundAlarm, MY_DEVICES); // define o pino do LED como saída pinMode (led, OUTPUT); // define o pino de disparo como saída pinMode (trigger, OUTPUT);} void loop () {} 
Arduino e código de proteção do Music Maker Arduino
Código de amostra para o Arduino tocar MP3 por meio do escudo do Music Maker com base no gatilho do Photon conectado.
 / *********************** ************************************** Este esboço reproduz um MP3 do cartão SD usando o Adafruitt Music Escudo do fabricante quando acionado por um fóton conectado a um dos pinos GPIO do escudo. Agradecimentos a Adafruit pelo tutorial e biblioteca bem escritos. https://learn.adafruit.com/adafruit-music-maker-shield-vs1053-mp3-wav-wave-ogg-vorbis-player/pinouts ***************** **********************************************/// incluem SPI, Music Maker e bibliotecas SD # incluem  #include  #include  // Define os pinos usados ​​para o escudo do music Maker # define SHIELD_RESET -1 // VS1053 reset pin (não utilizado! ) #define SHIELD_CS 7 // VS1053 chip select pin (output) #define SHIELD_DCS 6 // VS1053 Data / command select pin (output) #define CARDCS 4 // Card chip select pin // DREQ deve ser um pino Int, consulte http ://arduino.cc/en/Reference/attachInterrupt#define DREQ 3 // VS1053 Solicitação de dados, de preferência um pino de interrupção // define o reprodutor de músicaAdafruit_VS1053_FilePlayer musicPlayer =Adafruit_VS1053_FilePlayer (SHIELD_RESET, SHIELD_CS, SHIELD_CS, SHIELD_CS, SHIELD_CS, SHIELD_CS, SHIELD_CS); // define o pino GPIO no qual o fóton se conectaint photonPin =7; void setup () {// inicializa o reprodutor de música musicPlayer.begin (); // inicializa o cartão SD SD.begin (CARDCS); // Defina o volume para os canais esquerdo e direito. números mais baixos ==volume mais alto! musicPlayer.setVolume (1,1); // Se DREQ está em um pino de interrupção (em uno, # 2 ou # 3) // podemos reproduzir o áudio de fundo, mas não // está sendo usado nesta fase inicial do projeto // inicializa a interrupção DREQ // musicPlayer.useInterrupt (VS1053_FILEPLAYER_PIN_INT); // inicializa o pino GPIO ao qual o fóton está conectado como uma entrada musicPlayer.GPIO_pinMode (photonPin, INPUT);} void loop () {if (musicPlayer.GPIO_digitalRead (photonPin) ==HIGH) {// aguarde 60 segundos antes de jogar para que eu esteja // entrando na casa logo após começar delay (60000); // Reproduz o arquivo, não retorna até completar musicPlayer.playFullFile ("track001.mp3"); } atraso (500);} 

Esquemas

sensor.fzz trigger.fzz

Processo de manufatura

  1. Quais são os componentes usados ​​em uma máquina CNC
  2. Os principais componentes da boa comunicação em crises
  3. Como será o futuro da manufatura?
  4. The Annoy-O-Bug:Um Chilrear Light-Up Throwie
  5. A nanotecnologia está pronta para entrar na guerra de segurança da IoT?
  6. Quais são os componentes de um sistema de ar comprimido?
  7. O que acontece com os vários componentes do guindaste durante as modernizações?
  8. Como será o técnico do futuro?
  9. Os principais componentes das máquinas de serra de fita
  10. O guia definitivo para projetar peças usinadas