Zelf een autonomere tank bouwen: Walabot, Arduino, Raspberry Pi & Alexa-integratie
Onderdelen en benodigdheden
| Walabot Creator | × | 1 |
| Arduino MKR1000 | × | 1 |
| Raspberry Pi 3 Model B | × | 1 |
| Amazon Alexa / Amazon Echo | × | 1 |
| SparkFun Motor Driver - Dual TB6612FNG (1A) | × | 1 |
| Tank-chassis (met 2 DC-motoren) | × | 1 |
| Servo's (Tower Pro MG996R) | × | 3 |
| Metal builder game kit | × | 1 |
| Stappenmotor + driver (28BYJ-48 + X113647) | × | 1 |
| 7,4V LiPo-batterij | × | 1 |
| 7,4V LiPo-lader | × | 1 |
| Draaipotentiometer | × | 1 |
| LED (stripsegment) | × | 2 |
| Vislijn | × | 1 |
| Dun plastic/hard papier (hoes) | × | 1 |
| 5V BEC-circuit | × | 1 |
| Weerstand 10k, 22,1k, 2,21k ohm | × | elk 1 |
| Darlington hoogvermogen transistor | × | 1 |
| 30 cm houten latten | × | 2 |
| Voltmeter (optioneel) | × | 1 |
| RC-zender met ontvanger (optioneel) | × | 1 |
| Bier (voor de maker) | × | 1 |
Benodigde tools en machines
- Solderbout
- Lijmpistool
- Zaag
- Boormachine
- Schuim
Apps en online diensten
- Arduino IDE
- AWS IoT
- AWS Lambda
- Alexa Skills Kit
- Walabot SDK
- Python
Over dit project
Samenvatting
Er zijn dingen die diep in elke man zitten. Bier en tanks combineren is er een! Dit project gaat over een stemgereguleerde tank die bier bezorgt met een autonom "volg mij"-modus of RC-besturing. Laten we de droom-biertank bouwen!

Chassis
Ik vond een goedkoop, cool tank-chassis op Banggood. Bij ontvangst bleek het beschadigd door slechte verpakking.






Urenlijmen en repareren – uiteindelijk werkte het.
Kraan
Het bier moet verstopt zitten en worden getild via een kraan. Ik gebruikte mijn oude metalen bouwpakket voor een stevig, aanpasbaar skelet. De kraan wordt getild door een stappenmotor met vislijntje. De 28BYJ-48 is niet snel, maar krachtig genoeg – zo krachtig dat het de vislijntijd brak als ik niet op tijd stopte.


Het skelet bukte door. Oplossing: twee 30 cm harde houten latten en extra versterking.



Behuizing
De Walabot (Developer-versie) is het 'oog' van de tank. De voorste plek heeft een houder met magnetische bevestiging – handig voor hergebruik. Ik maakte een Walabot-logo van lijmpistool om rotatie te voorkomen.



Om de onderdelen te verbergen bouwde ik een hoes van zwart karton en plastic.



Een luik bovenaan verbergt het bier volledig. Twee servo's, lijmpistool en isolatietape maken de luik werkend.



Kraan – Versie 2: Feedback
Eerst probeerde ik een binaire schakelaar (schroef en veer) – onbetrouwbaar. Daarna: een 10k potentiometer op de kraanas voor betrouwbare hoekfeedback. Hiermee zijn boven- en onderpositie precies te bepalen.



Electronica

Het schema lijkt complex, maar is simpel. Opmerkingen helpen bij uitleg. De Arduino MKR1000 gebruikt geen WiFi, maar heeft 3 externe interrupt-pins nodig voor RC-besturing (snelheid, sturen, kraan). De Uno heeft er maar 2.


Eerst gebruikte ik een Raspberry Pi Zero W, maar die had te weinig stroom – overgestapt op Pi 3 B. Extra feature: verborgen koplicht met servo en 12V LED-stripsegment (aangepast voor 7,4V).




Arduino – Hardware
De MKR1000 is de kleinste Arduino in mijn collectie met 3 externe interrupts en voldoende pins. 12 PWM-pins beschikbaar, maar alleen pins 2-5 hebben hardware-PWM (~-markering). De combinatie van software-PWM en hardware-interrupts gaf problemen. Oplossing: hardware-PWM-pins voor servo's, één software-PWM voor de luik-servo (buzzend geluid, acceptabel). Toekomst: solenoïdes voor luik.


Arduino – Radiocontrole
De MKR1000 verwerkt 3 PWM-signalen (1000–2000 µs) via externe interrupts:
- Kanaal 1 (verticaal):
motorSpeedBase = (pulse - 1500) / 2→ basis snelheid (-255 tot 255) - Kanaal 2 (horizontaal):
motorSpeedChange = (pulse - 1500) / 3→ stuurcorrectie - Kanaal 3 (schakelaar):
elevated = (pulse < 1500)→ kraan/luik
Eind snelheden: right = motorSpeedBase + motorSpeedChange, left = motorSpeedBase - motorSpeedChange (begrensd tot ±255).
Kraan/luik logica:
void handleCrane() {
int craneValue = analogRead(CRANE_FEEDBACK_PIN);
if (elevated) {
if (craneValue < CRANE_ELEVATED_VALUE) elevateCrane();
else disableTheCoils();
openTheHatch();
} else {
if (craneValue < CRANE_LOWERED_VALUE) { closeTheHatch(); disableTheCoils(); }
else dropCrane();
}
}
Stappenmotor-spoelen worden uitgeschakeld na beweging om oververhitting en batterijleegloop te voorkomen.
Arduino – Raspberry Pi communicatie
Seriële communicatie via USB. Commando's:
s→ RC uitschakelen, seriële commando's accepteren (antwoord: OK)r→ RC weer inschakelene→ kraan tillen + luik opend→ kraan dalenm X Y→ motor snelheden instellen (X=base, Y=change)b→ batterijspanning × 100 terugsturenl/o→ verlichting aan/uit
In autonome modus blijft kanaal 3 (veiligheidsschakelaar) actief om de tank te stoppen bij onverwacht gedrag.
Walabot
De Walabot is een 3D-sensor die microwaves gebruikt voor imaging: kijken door muren, ademhaling detecteren, in het donker zien. Ik gebruik hem als enig navigatiesensor.

Installatie Walabot SDK op Raspberry Pi. Stroomverbruik 0,4–0,9A – de Pi kan dit niet standaard voeden. Oplossing: max_usb_current=1 in /boot/config.txt (600mA → 1200mA). Toch problemen door Arduino + servo's op Pi-stroom. Oplossing: Walabot apart voeden via BEC (3A) door de jumper op de Walabot te verplaatsen (hoes openen).


De achterkant heeft 4 sterke magneetjes voor snelle bevestiging aan de metalen front.
Volg mij-modus
De Walabot SDK biedt getTargets met Moving Target Identification (MTI). Max 4 doelen, max 1,5 m afstand. Alleen Y (zijdeling) en Z (diepte) coördinaten gebruikt. Geen ingebouwde identificatie welk doel de mens is.
Aanpak 1 (oorspronkelijk): Staan op 80 cm voor de Walabot. Meest nabije doel met hoge amplitude = mens.
Aanpak 2 (verbeterd): Op 80 cm staan. Meest nabije doel = mens. Elke iteratie: nieuw mens-doel = dichtstbijzijnde doel ten opzichte van vorige positie. Te grote sprong = stoppen en zoeken rond oude positie.





Frame rate ~6 FPS (0,16s/update) → tank vertraagd tot minimaal snelheid, geen gecombineerde draaien/rijden. Betrouwbaarder, maar langzaam. Ideeën voor verbetering: extra hardware, hogere frame rate.
Stemmingbesturing
Alexa Skill Kit gebruikt. Skill-naam: "Beer Tank" (Alexa herkent "WalaBeer" niet). Commando's:
- "start beer tank"
- "turn {on/off} the lights"
- "{open/close} the cargo hold"
- "{start/stop} following me"
- "stop" / "cancel"
Eerst ngrok gebruikt voor testen (URL wijzigt bij herstart). Daarna AWS Lambda + AWS IoT. Tutorials van Kurt Braun hielpen enorm. Raspberry Pi abonneert op MQTT-topic 'wbt' via Paho MQTT Client (Python).
Skill-ID: amzn1.ask.skill.a7453502-b1aa-47fa-a552-ed8e2c792b2e
Afgekeurd: Tachometers
Twee tachometers (zwart/wit papier op wiel + reflectieve IR-sensor) voor snelheidsmeting. Werkt goed, maar GPIO-pins nodig voor andere doeleinden. Verhaal ervan blijft in de build.




Conclusie
Resultaat: geweldig, nuttig en leuk! Goed platform voor toekomstige projecten. Stemmingbesturing werkt, Walabot is uitstekende sensor. Veel verbetermogelijkheden – meer volgt!
Dit is mijn beste project tot nu toe. Bedankt voor lezen! Als prijs: een vreemde hond.

Code
Arduino (MKR1000) en Raspberry Pi 3 B code: GitHub Beer-Tank
Schema's
Walabot via USB aan Raspberry Pi. Vervangende onderdelen waar nodig – zie notities.

Productieproces
- Zuurstoftankproductie: Van Grondstoffen tot Kwaliteitsborging
- Geïntegreerde Schakelingen (IC's): Compacte, Krachtige Chips die Moderne Elektronica Aandrijven
- Je Chromecast Besturen met Amazon Alexa via Raspberry Pi en Python
- Een Laag-kost Autonome Lego-tank Bouwen met NVIDIA Jetson Nano & Isaac SDK
- Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
- MOSMusic Project Kit: MOSFET, Arduino en meer
- Essentiële Onderdelen van een Boormachine: Een Uitgebreid Overzicht
- Belangrijkste Componenten van een Interne Verbrandingsmotor
- SPICE Netlist Syntaxis Beheersen: Componentnamen, Passieve & Actieve Elementen, en Brondefinities
- Micro-elektronica: de wetenschap van miniatuur elektronica
- Reservetanks: Doel, Typen en Voordelen