Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Webgestuurde LED-animaties met Raspberry Pi en Arduino

Componenten en benodigdheden

Raspberry Pi 3 Model B
× 1
Arduino UNO
Arduino Nano kan ook worden gebruikt. Arduino Mega kan nodig zijn om meer LED-pixels aan te sturen.
× 1
NeoPixel-strip
Elke WS8212 LED-strip kan worden gebruikt.
× 1

Apps en online services

Arduino IDE

Over dit project

Projectoverzicht

Arduino Light Animation (ALA) is een Arduino-bibliotheek voor het besturen van LED's en het uitvoeren van kleurrijke animaties met een minimum aan inspanning. De bibliotheek biedt meer dan 30 vooraf gedefinieerde animaties en verschillende kleurenpaletten. Voor meer informatie over de ALA-bibliotheek kun je mijn blog bezoeken.

Dit project introduceert een Raspberry Pi 3-bord dat een webpagina zal bieden waarmee de animaties, kleuren en snelheid kunnen worden bestuurd vanaf een smartphone of een pc met behulp van de webbrowser. Hier is een korte video van AlaWeb in actie.

Er zijn weinig componenten nodig voor dit project.

  • WS8212 RGB ledstrip :Deze strips bevatten verschillende RGB-LED's die afzonderlijk kunnen worden aangesproken met behulp van een eendraadsinterface, zodat u volledige controle hebt over de kleur van elke RGB-LED.
  • Arduino :Het beroemde microcontrollerbord zal mijn ALA-bibliotheek gebruiken om de LED-strip aan te sturen die de opdrachten van de Raspberry PI ontvangt via de USB-seriële poort. Je kunt Arduino Uno, Nano en Mega board gebruiken.
  • Raspberry PI :Deze kleine pc levert de webpagina om de parameters van verlichting en animatie te regelen.

Het project is vrij eenvoudig als u bekend bent met Arduino- en Rapberry PI-kaarten. Ik heb het project in twee stappen opgesplitst om u door het installatieproces te leiden.

Bedrading

WS8213 LED strips zijn zeer eenvoudig aan te sluiten. Je hebt alleen voldoende stroom nodig om al deze LED's aan te sturen. Voor hele korte strips (niet meer dan 10 LED's) kun je ze zelfs rechtstreeks van je USB-poort voeden, maar voor langere strips moet je zorgen voor een goede stroombron. Als uitgangspunt stel ik voor om de Arduino 5V-pin te gebruiken om de ledstrip van stroom te voorzien, zoals je kunt zien in de video hierboven.

  • Arduino GND-pin naar WS2812 GND
  • Arduino 5V-pin naar WS2812 5V
  • Arduino-pin 6 naar WS2812 Ctrl/Din-pin

Als je meer pixels wilt aansturen, moet je meer vermogen leveren. De berekening is eenvoudig. Elke RGB LED trekt 60mA bij volledig helder wit. Om bijvoorbeeld een 2 m lange strip met 60 LED/meter aan te sturen, heeft u een 5V-voeding nodig van 2m * 60pixel/m * 60mA =7,2 A.

Sluit je voeding, het Arduino-bord en de WS8212-strip zo aan.

  • Voeding GND naar Arduino GND en WS2812 GND
  • Voeding 5V naar Arduino 5V pin en WS2812 5V
  • Arduino-pin 6 naar WS2812 CTRL-pin

Houd er rekening mee dat u, door de Arduino 5V-pin van stroom te voorzien, stroom levert aan Arduino, zodat u deze niet hoeft aan te sluiten op een tweede voedingsbron op de barrelconnector. Wees zeer voorzichtig bij het gebruik van dit verbindingsschema, omdat de 5V-pin de spanningsregelaar en beveiligingen omzeilt. Voor meer details kun je deze handleiding lezen.

Lees deze handleiding voor meer informatie over het bedradingsschema van de WS8212 LED-strips.

Arduino-configuratie

Sluit je Arduino-bord aan op de USB-poort van je pc. Open de Arduino IDE en start Bibliotheekbeheer (Schets> Bibliotheek opnemen> Bibliotheken beheren) om de nieuwste ALA-bibliotheek te installeren .

Open de RgbStripSerial voorbeeld (Bestanden> Voorbeelden> ALA> RgbStripSerial) en controleer of de NUM_PIXELS constante definitie komt overeen met het aantal leds in uw RGB-strip. Onthoud dat als u meer dan 10 pixels wilt aansturen, u het verbeterde verbindingsschema moet gebruiken.

Je kunt de schets nu uploaden naar je bord door op Ctrl+U . te drukken vanuit de Arduino IDE of selecteer de Upload actie in het Schetsmenu. Als je problemen hebt met het uploaden van de schets, controleer dan het bordtype en de poort in het menu Extra.

Open de Arduino Seriële Monitor (Extra> Seriële Monitor) en u ziet een welkomstbericht zoals dit.

Stel de regel 'Nieuwe regel' in die rechtsonder eindigt en zorg ervoor dat de baudrate is ingesteld op 9600.

Probeer nu de volgende commando's (vetgedrukt) zonder spaties:

  • A=101 - zet de leds aan
  • A=251 - voer een 'larson scanner'-animatie uit
  • P=2 - stelt een regenboogpalet in
  • A=242 - nog een animatie

Dat is toch cool?

U kunt experimenteren met de verschillende commando's en combinaties door deze korte verwijzing te volgen:

  • A=[animatiecode] - Stel de animatie in. Beschikbare animatiecodes worden weergegeven in het AlaLed.h-headerbestand.
  • B=[helderheid] - Stel de helderheid in. Het moet in het bereik [0-100] liggen.
  • D=[duur] - Stel de duur in milliseconden van de animatiecyclus in. Standaardwaarden liggen tussen 500 en 5000.
  • C=[kleur] - Stel de kleur in. Het moet een hexadecimale RGB-representatie zijn, zoals E8A240.
  • P=[palet] - Stel het palet in. Het moet in het bereik [0-5] liggen.

Laten we nu de animaties vanaf uw smartphone bedienen.

Raspberry PI-configuratie

In dit deel van het project zullen we het Rapberry Pi-bord instellen om een ​​kleine webserver te draaien om de LED-strip vanuit een webbrowser te bedienen. Merk op dat dezelfde applicatie kan draaien op elke pc waarop Python 3 is geïnstalleerd.

Voorwaarde is dat je Raspberry PI al is geconfigureerd en het nieuwste Raspbian-besturingssysteem gebruikt (ik heb het getest met Stretch) en verbonden met internet.

We moeten eerst een paar bibliotheken voor Python 3 installeren met het volgende commando:

sudo pip3 install pyserial flask 

Maak een homedirectory voor uw project:

mkdir /home/pi/AlaWebcd /home/pi/AlaWeb 

Download de AlaWeb git-repository in de LightStrip-directory en pak het uit.

wget https://github.com/bportaluri/AlaWeb/archive/master.zipunzip master.zip 

Alle software is nu klaar en ingesteld. Sluit de Arduino USB-poort aan op de Raspberry PI. De AlaWeb-toepassing die u zojuist hebt gedownload, communiceert met het Arduino-bord via de seriële USB-verbinding.

cd AlaWeb-mastersudo python3 AlaWeb.py 

De AlaWeb-applicatie zal alle USB-seriële poorten weergeven en Arduino automatisch proberen te detecteren. Als het blijft herhalen, verbreek dan de uitvoering en probeer de poortnaam als volgt door te geven (vervang de poort-ID indien nodig):

 sudo python3 AlaWeb.py /dev/ttyACM0 

Als alles in orde is, zou je zoiets als dit moeten zien.

Open een webbrowser en maak verbinding met de weergegeven URL. U krijgt een webpagina vol knoppen waarmee u de LED-strip vanuit een webbrowser kunt bedienen.

Geniet ervan!

Code

AlaWeb
AlaWeb is de tini-webserver geschreven in Python en Flask om de animaties vanuit een webbrowser te besturen.https://github.com/bportaluri/AlaWeb
ALA
Arduino Light Animation (ALA) is een bibliotheek voor Arduino-boards om de ontwikkeling van lichtanimaties met LED's en LED-strips te vereenvoudigen. Bezoek deze pagina voor meer details:http://yaab-arduino.blogspot.it/p/ala.htmlhttps://github.com/bportaluri/ALA

Schema's


Productieproces

  1. Maak binnen enkele minuten een branddetector met Samsung SAMIIO, Arduino UNO en Raspberry Pi
  2. Aerocultuur met Raspberry Pi en vochtigheidssensor
  3. Botten bouwen met Raspberry Pi en Python
  4. Bouw uw internetgestuurde videostreamingrobot met Arduino en Raspberry Pi
  5. Raspberry Pi webgestuurde robot met video
  6. LCD-paneel met Arduino voor Flight Simulator
  7. Schakel/LED-paneel met Arduino voor FS2020
  8. Arduino met Bluetooth om een ​​LED te bedienen!
  9. Arduino Quadruped
  10. Besturing van servomotor met Arduino en MPU6050
  11. LED-helderheid regelen met Bolt en Arduino