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

Een Alexa-aangedreven Big Mouth Billy Bass bouwen met Arduino, L293D Motor Shield en LM386-versterker

Onderdelen en benodigdheden

Big Mouth Billy Bass (zingende vis) 1
Amazon Echo Dot (2e generatie) 1
Arduino UNO 1
Kuman L293D Motor Drive Shield 1
LM386 Audio-versterker 1

Benodigde tools en machines

  • Solderbout (standaard)

Over dit project

Materialen

  • Big Mouth Billy Bass
  • Echo Dot 2e generatie
  • Arduino Uno
  • Arduino Motor Driver Shield (L293D)
  • LM386-versterker
  • 3.5mm audiokabel
  • Minimaal 4x C-cel batterijen

*Deze Billy Bass lijkt het meest op mijn model; elke variant zou moeten werken, maar sommige hebben mogelijk slechts twee motoren.

Billy Bass demontage

  1. Verwijder de zichtbare schroeven aan de achterkant van de vis. Bewaar de schroeven. Haal de achterkant af om de motoren (vis-kant) en het batterijvak (achterplaat) te onthullen.
  2. Volg de draden van de motoren naar de printplaat (PCB) en knip ze los, met zo veel mogelijk draadlengte over. Markeer of tapeer deze draden. Knip ook de batterij-draden los van de PCB; deze zullen later de Arduino voeden via de Motor Shield.
  3. Optioneel: Identificeer de schakelaar voor de bewegingsensor. Knip de draden en soldeer de plus van de batterij via deze schakelaar, zodat je de motorvoeding gemakkelijk in/uit kunt schakelen.
  4. Bevestig de Motor Shield op de Arduino. Verbind de motor-draden (plus en min) met de eerste drie motorpoorten op de shield (M1, M2, M3). Verbind de batterij-draden met de EXT_PWR-klemmen op de shield.

De motor shield met 3 motordraden (twee onderaan, één bovenaan) en voeding van het batterijvak aan de rechterkant. De witte draad gaat naar de audio-versterker (zie volgende sectie).

Motoren besturen

Installeer de Adafruit Motor Library via de Arduino Library Manager of volgens de instructies op de Adafruit-website. Upload de Motor Diagnostic sketch (zie code-sectie) om M1, M2 en M3 achtereenvolgens te testen.

Blijf op deze stap tot je de kop, mond en staart kunt besturen via de bijbehorende motoren in de sketch. Mocht een motor de verkeerde kant op draaien, wissel dan de twee draden op de motor shield.

Echo Dot demontage en audiodetectie

  1. Trek de rubberen onderkant van de Echo Dot (2e gen) af, waardoor een duidelijk lijmlaag zichtbaar wordt. Trek deze ook af. Er komen vier Torx-schroeven tevoorschijn. Verwijder ze; de Dot valt nu in meerdere stukken uiteen. We zijn geïnteresseerd in de twee printplaten. Wees voorzichtig met het lintkabel dat ze verbindt – dit kan loskomen. Bevestig het eventueel direct aan de vis-behuizing.
  2. Knip de 3.5mm audiokabel vlak bij de plug. Ontmantel de rubber om de contacten aan de basis van de plug te onthullen: links, rechts en grond (veel kleine losse draden). Soldeer een draad aan zowel L als R (om het signaal naar mono om te zetten) en vouw de losse gronddraden samen tot één gronddraad. Test de audio-uitgang met een draagbare speaker.
  3. Verbind het signaaldraad (L+R mono) met de IN-pin op de LM386-versterkerbord, en de grond met de audio-signaalgrond. Voer draden van de Arduino 5V-uitgang/GND naar de VCC en 2e GND-pin van de versterker (of gebruik het Billy Bass-batterijvak). Verbind de speaker-draden van de Billy Bass met de versterker-uitgang. Nu moet je Alexa horen via de speaker als je de 3.5mm plug in de Echo Dot steekt. Stel de gain in met de kleine schroef (potentiometer) op de versterker als het te zacht is; houd de gain zo laag mogelijk om ruis te vermijden.
  4. Met de 4 pinnen van de versterker onderaan, zitten de speaker-klemmen bovenaan. Soldeer een extra draad aan de linkerbovenste speaker-klem en verbind dit met Analog pin 0 (A0) op de Arduino. Voor testen kan dit zonder de motor shield; later soldeer je dit aan de A0-aansluiting op de motor shield (ik gebruikte per ongeluk A1 – elke analoge pin werkt).

Audio-diagnostische Arduino-sketch

Twee tests om te bevestigen dat alles werkt:

  1. Speel muziek via de Echo ("Alexa, speel Slayer") – je moet geluid horen.
  2. Laad de audio-diagnostische sketch (zie code-sectie) en open de Seriële Monitor (9600 baud). Je ziet logberichten die aangeven of er muziek speelt. De onboard LED van de Arduino brandt bij muziek, anders niet.

Als test 2 niet werkt: probeer de analoge draad op de andere speaker-klem van de versterker. Je moet wellicht de quietThreshold-waarde in de sketch aanpassen voor kalibratie.

Alles combineren

Nu de motoren en audiodetectie apart werken, combineren we de componenten. Verbind het versterkersignaal met de A0-poort op de motor shield en plug alle motoren in. Upload de gecombineerde sketch (audio-signaal lezen + geavanceerde motorbewegingen) naar de Arduino. De vis moet nu animeren wanneer muziek speelt.

Stek de Echo in de voeding en verbind met de 3.5mm audiokabel. Je vis heeft nu de persoonlijkheid van Alexa!

Inbouw en afwerking

Monteer de elektronische componenten in Billy's behuizing en sluit hem. Ik gebruikte de plastic afstandshouders om de Dot te fixeren (onderste PCB gelijmd, bovenste PCB geschroefd). De versterker werd gelijmd op de achterplaat (zo ver mogelijk van de speaker om kraken te vermijden). De Arduino werd vastgeplakt met heetlijm. Houd rekening met toekomstige demontage: gebruik losmaakbare of lange verbindingen.

Boor gaatjes in het plastic voor betere microfoon-opname van de Echo Dot. Ik zaagde ook een gat in de zijkant voor twee USB-kabels: één voor programmeren van de Arduino, één voor voeding van de Echo Dot (via powerbank). Het direct voeden van de Echo vanuit Billy's batterijvak lukte mij niet; ik zal dit bijwerken als het lukt.

Conclusie

Hier is nog een blogpost over het maken van een slimme Billy Bass. Door de Echo Dot te gebruiken in plaats van een Raspberry Pi krijg je alle eerste-partij Alexa-mogelijkheden zoals Drop-In bellen. Je bent echter minder flexibel in het detecteren van specifieke geluidstypes. Het zou leuk zijn om dit later te herzien met Alexa op een Raspberry Pi voor stemdetectie of onderwater-geluidseffecten. Maar dat is voor een regenachtige dag.

Veel plezier met hacken!

Code

Drie Gists met de benodigde sketches:

Productieproces

  1. Waarde Uit Big Data Halen: Strategieën Voor Productiesucces
  2. Waarom Een Iets Groter Ontwerp Innovatie Kan Versnellen En Risico Verminderen
  3. Je Chromecast Besturen met Amazon Alexa via Raspberry Pi en Python
  4. Alexa-gecontroleerde ARDrone 2.0 Demo: Stem-geactiveerde Drone met Raspberry Pi & Hologram Nova
  5. Je plafondventilator bedienen met Alexa: Stap-voor-stap handleiding
  6. Slimme 3D-sensor: Stemgeactiveerde lampbesturing voor Amazon Echo
  7. LED's bedienen met Alexa via Raspberry Pi – Eenvoudige stapsgewijze handleiding
  8. Interview met Dr. Billy Wu, Imperial College London: 3D-print Innovatie in Onderzoek & Onderwijs
  9. Big Data vs AI: Synergie achter digitale transformatie
  10. Modix BIG Meter – 1 m³ DIY Grootschalige FDM Printer voor Prototyping & Fabricage
  11. Efficiëntie Maximeren met Multitasking Machines