Índice:
- Etapa 1: Ingredientes
- Etapa 2: Hardware
- Etapa 3: Software
- Etapa 4: modelagem e impressão 3D
- Etapa 5: Montagem
- Etapa 6: Teste Final
Vídeo: TfCD - Mais: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Plus é uma luz inteligente mínima, que não apenas notifica as pessoas sobre as condições climáticas, mas também cria uma experiência agradável para os usuários pelas mudanças feitas na cor da luz ao girar o sinal de adição. Sua forma dá ao usuário a oportunidade de combinar vários módulos plus ou criar uma enorme lâmpada com muitas peças plus colocadas por amigos. Este projeto de iluminação faz parte do curso de Advanced Concept Design (ACD) na universidade TU Delft e da tecnologia implementada usando a prática do TfCD como fonte de inspiração.
Etapa 1: Ingredientes
1 framboesa pi zero w
1 acelerômetro Groove Adxl345
4 LED Ws2812b
1 placa de prototipagem
Invólucros impressos em 3D e cortados a laser
Etapa 2: Hardware
LEDs
Os LEDs Neopixel possuem 4 pinos nomeados: + 5V, GND, Data In e Data out.
- O pino 4 do raspberry pi está conectado ao + 5V de todos os LEDs
- O pino 6 do raspberry pi está conectado ao GND de todos os LEDS
- Os dados no pino do primeiro LED são conectados ao pino 12 do raspberry pi.
- O pino de saída de dados do primeiro LED é conectado à entrada de dados do segundo e assim por diante.
Por favor, dê uma olhada no diagrama de fiação para um melhor entendimento.
Acelerômetro
O acelerômetro possui 4 pinos nomeados: VCC, GND, SDA e SCL.
- O pino 1 do raspberry pi está conectado ao VCC.
- O pino 3 do raspberry pi está conectado ao SCL.
- O pino 5 do raspberry pi está conectado ao SDA.
- O pino 9 do raspberry pi está conectado ao GND.
Construir
- Por conveniência, os LEDs podem ser soldados em uma placa de prototipagem. Decidimos cortar a placa no formato de um plus para que ela se encaixe bem na caixa projetada em 3D.
- Depois de soldar os LEDs na placa, soldamos os fios de jumper para fazer as conexões entre um conector de 0,1 "e os LEDs. O conector do conector é usado para permitir que o raspberry pi seja desconectado e reutilizado em um projeto futuro.
Etapa 3: Software
Imagem do sistema operacional Raspberry Pi
Primeiro, precisamos colocar o Raspberry Pi em funcionamento. Para fazer isso, seguimos estas etapas:
- Baixe a última versão do Raspbian aqui. Você pode baixá-lo diretamente ou através dos torrents. Você precisará de um gravador de imagens para gravar o sistema operacional baixado no cartão SD (cartão micro SD no caso do modelo Raspberry Pi B + e Raspberry Pi Zero).
- Portanto, baixe o "win32 disk imager" aqui. Insira o cartão SD no laptop / pc e execute o gravador de imagens. Depois de aberto, navegue e selecione o arquivo de imagem Raspbian baixado. Selecione o dispositivo correto, ou seja, a unidade que representa o cartão SD. Se a unidade (ou dispositivo) selecionada for diferente do cartão SD, a outra unidade selecionada será corrompida. Por isso tem cuidado.
- Depois disso, clique no botão "Escrever" na parte inferior. Como exemplo, veja a imagem abaixo, onde a unidade do cartão SD (ou micro SD) é representada pela letra "G: \" O sistema operacional agora está pronto para uso normal. No entanto, neste tutorial, usaremos o Raspberry Pi no modo sem cabeça. Isso significa sem um monitor físico e teclado conectado a ele!
- Depois de gravar o cartão SD, não o ejete do computador! Use um editor de texto para abrir o arquivo config.txt que está no cartão SD. Vá para a parte inferior e adicione dtoverlay = dwc2 como a última linha:
- Salve o arquivo config.txt como texto simples e abra cmdline.txt Depois de rootwait (a última palavra na primeira linha), adicione um espaço e, em seguida, modules-load = dwc2, g_ether.
- Agora remova o cartão SD do seu PC e insira-o no Raspberry Pi e conecte-o ao seu PC usando um cabo USB. Assim que o sistema operacional for inicializado, você deverá ver um novo dispositivo Ethernet Gadget sendo descoberto.
- Você pode usar ssh [email protected] para se conectar à placa e controlá-la remotamente. Para obter instruções mais detalhadas sobre a operação sem comando, acesse aqui. Driver Neopixel
A biblioteca rpi_ws281x é a chave que torna possível o uso de NeoPixels com o Raspberry Pi.
Primeiro, precisamos instalar as ferramentas necessárias para compilar a biblioteca. Em seu Raspberry Pi execute: sudo apt-get update && sudo apt-get install build-essential python-dev git scons swig Agora execute estes comandos para baixar e compilar a biblioteca:
git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Finalmente, depois que a biblioteca foi compilada com sucesso, podemos instalá-la para python usando:
cd python && sudo python setup.py install Agora vem o código python que comanda os LEDs. O código é bastante simples com alguns comentários para ajudá-lo. da importação de neopixel * # configurações NeoPixel LED_PIN = 18 # Pino GPIO do Raspberry Pi conectado aos pixels LED_BRIGHTNESS = 255 # Definido como 0 para mais escuro e 255 para mais claro LED_COUNT = 4 # Número de faixas de pixels de LED = Adafruit_NeoPixel (LED_COUNT, LED_PIN, 800000, 5, False, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Inicialize a biblioteca strip.begin () strip.setPixelColor (0, Color (255, 255, 255)) strip.show ()
Driver ADXL345
O sensor acelerômetro que selecionamos possui uma interface I2C para comunicação com o mundo exterior. Felizmente para nós, o Raspberry Pi também possui interface I2C. Só precisamos habilitá-lo para usá-lo em nosso próprio código.
Chame a ferramenta de configuração Raspbian usando sudo raspi-config. Depois de executar, vá para Opções de interface, Opções avançadas e ative I2C. Instale os módulos Python relevantes para que possamos usar a interface I2C em python:
sudo apt-get install python-smbus i2c-tools O código python a seguir nos permite comunicar-nos com o sensor do acelerômetro e ler seus valores de registro para nossos próprios propósitos. import smbus import struct # Configurações do acelerômetro bus = smbus. SMBus (1) endereço = 0x53 ganho = 3.9e-3 bus.write_byte_data (endereço, 45, 0x00) # Vá para o modo de espera bus.write_byte_data (endereço, 44, 0x06) # Largura de banda 6,5 Hz bus.write_byte_data (endereço, 45, 0x08) # Vá para o modo de medição # Leia os dados do sensor buf = bus.read_i2c_block_data (endereço, 50, 6) # Descompacte os dados de int16_t para python integer data = struct.unpack_from ("> hhh", buffer (bytearray (buf)), 0)
x = float (dados [0]) * ganho
y = float (dados [1]) * ganho
z = float (dados [2]) * ganho
Detector de Movimento
Uma das características da luz que estamos fazendo é que ela pode detectar movimento (ou falta dele) para entrar no modo interativo (onde a luz muda com base na rotação) e no modo de previsão do tempo (onde a luz muda dependendo da previsão do tempo para hoje). O código a seguir usa a função anterior para ler os valores de aceleração para os 3 eixos e nos alertar quando houver movimento.
accel = getAcceleration ()
dx = abs (prevAccel [0] - aceleração [0])
dy = abs (prevAccel [1] - aceleração [1])
dz = abs (prevAccel [2] - aceleração [2])
if dx> moveThreshold ou dy To> moveThreshold ou dz> moveThreshold:
imprimir 'movido'
movido = verdadeiro
outro:
movido = falso
API de clima
Para receber a previsão do tempo, podemos usar o Yahoo Weather. Isso envolve conversar com a API do Yahoo Weather Rest, que pode ser bastante complexa. Felizmente para nós, a parte difícil já foi resolvida na forma do módulo weather-api para python.
- Primeiro, precisamos instalar este módulo usando: sudo apt install python-pip && sudo pip install weather-api
- Visite o site do autor para obter mais informações sobre este módulo.
Depois de instalar, o código a seguir obtém as condições climáticas para o momento
de importação de clima Weatherweather = clima ()
location = weather.lookup_by_location ('dublin')
condição = localização.condição ()
imprimir (condition.text ())
Juntando tudo
O código completo para o projeto que conecta todas as peças acima pode ser encontrado aqui.
Iniciar automaticamente o script Python na hora da inicialização
Para poder colocar o raspberry pi em uma caixa e fazer com que ele execute nosso código toda vez que o conectarmos à energia, devemos nos certificar de que o código seja iniciado automaticamente durante a inicialização. Para fazer isso, usamos uma ferramenta chamada cron.
- Primeiro chame a ferramenta cron usando: sudo crontab -e
-
As etapas anteriores abrirão um arquivo de configuração, no qual adicionamos a seguinte linha:
@reboot python /home/pi/light.py &
Etapa 4: modelagem e impressão 3D
O modelo 3D do Plus foi feito em Solidworks e salvo no formato. Stl. Em seguida, para a impressão 3D do modelo, o arquivo. Stl foi importado no software Cura. Cada lado do plus levou 2:30 horas para ser produzido; portanto, cada Plus completo demorava cerca de 5 horas para imprimir. E para os lados transparentes, o plexiglass foi cortado a laser.
Etapa 5: Montagem
Com a parte impressa em 3D, a eletrônica e o software em mãos, podemos finalmente montar o produto final.
- As placas superior e inferior impressas em 3D são mais transparentes do que o previsto. Uma camada de papel alumínio resolveu o problema de vazamento de luz.
- No entanto, essas folhas são condutoras e podem causar curtos em nosso circuito desprotegido. Portanto, outra camada de papelão branco é colada na parte superior.
- Os segmentos difusos de Plexiglass são colados em uma das placas laterais.
- Um orifício é feito em um dos painéis laterais impressos em 3D. Isso é para que possamos passar pelo cabo de alimentação.
- Depois que o cabo de alimentação passa pelo orifício, nós o soldamos em nossa placa de prototipagem.
- Colocamos o sensor no raspberry pi e, em seguida, o plugamos no conector.
- Juntamos as 2 peças para obter o nosso produto final.
- Opcionalmente, você pode colar as 2 peças para fazer uma conexão mais permanente. No entanto, esteja ciente de que pode ser difícil entrar na caixa após ela estar colada se você quiser alterar o código mais tarde.
Recomendado:
HAIKU, quando moda e tecnologia se fundem. Projeto TfCD. TU Delft .: 4 etapas
HAIKU, quando moda e tecnologia se fundem. Projeto TfCD. TU Delft .: Haiku é um conceito desenvolvido por Mucahit Aydin para um curso de MSc da TU Delft. O princípio básico deste quimono é estender a sensação de ser abraçado por alguém. Para fazer isso, o quimono revelará um padrão após ser tocado. Como? Por implemen
Salvar e restaurar valores predefinidos com NFC (TfCD): 4 etapas
Salvar e restaurar valores predefinidos com NFC (TfCD): Queremos testar como funciona para ajustar um determinado valor ou configuração e, posteriormente, recuperar essa configuração. Para este experimento, usamos uma tag NFC para ler e salvar o valor nela. Mais tarde, a tag pode ser digitalizada novamente e enviar o valor de volta para restaurar um cer
Painel de luz personalizado para vestir (Curso de Exploração de Tecnologia - TfCD - Tu Delft): 12 etapas (com fotos)
Painel de luz personalizado vestível (Curso de Exploração de Tecnologia - TfCD - Tu Delft): Neste Instructable, você aprenderá a fazer sua própria imagem iluminada para usar! Isso é feito usando a tecnologia EL coberta com um decalque de vinil e fixando faixas nele para que você possa usá-lo no braço. Você também pode alterar partes deste p
Detecção visual de objetos com uma câmera (TfCD): 15 etapas (com imagens)
Detecção visual de objetos com uma câmera (TfCD): os serviços cognitivos que podem reconhecer emoções, rostos de pessoas ou objetos simples ainda estão em um estágio inicial de desenvolvimento, mas com o aprendizado de máquina, essa tecnologia está se desenvolvendo cada vez mais. Podemos esperar ver mais dessa magia em
DIY Rotary Garden (TfCD): 12 etapas (com fotos)
DIY Rotary Garden (TfCD): Olá! Montamos um pequeno tutorial sobre como fazer sua própria versão pequena de um jardim giratório, que em nossa opinião pode representar a jardinagem do futuro. Usando uma quantidade menor de eletricidade e espaço, esta tecnologia é adequada para um rápido