4.6 Project: Slim Voedersysteem
In dit project detecteert de ultrasone module of dieren zich in het voedingsgebied bevinden, en de Servo opent automatisch de voederbak voor pluimvee. Bovendien maakt de integratie van IOT bewaking op afstand van dergelijke voedersystemen mogelijk, wat veel gemak biedt.
Over het algemeen optimaliseren de automatisering en bediening op afstand het voedingsproces voor dit systeem.

4.6.1 Stroomdiagram

4.6.2 Servo
Beschrijving:
Servo, ook wel RC Servo Device genoemd, is een motor met feedback. Gewoonlijk voert Servo nauwkeurige positiecontrole uit en levert een hoog koppel, wat het meest voorkomt in robotprojecten, RC-auto’s, vliegtuigen en luchtvaartuigen.

Interne structuur:

① Signaal (S): Het ontvangt het controlesignaal van de microcontroller.
② Potentiometer: het feedbackgedeelte van de Servo. Het meet de positie van de uitgaande as.
③ Ingebouwde printplaat (interne controller): de kern van de Servo. Het verwerkt externe controlesignalen en het feedbacksignaal van de positie en stuurt de Servo aan.
④ DC-motor: het uitvoerende deel. Het levert snelheid, koppel en positie.
⑤ Tandwielsysteem: Het schaalt de uitgangen van de motor naar de uiteindelijke uitgangshoek volgens een bepaalde overbrengingsverhouding.
De Servo aansturen:
Signaal (S) ontvangt PWM om de output van de Servo te regelen, en de positie van de uitgaande as is direct afhankelijk van de duty cycle van PWM.
Bijvoorbeeld:
Als we een signaal met een pulsbreedte van 1,5 ms naar de Servo sturen, zal de as (hoorn) naar de middenpositie (90°) draaien;
Als de pulsbreedte =
0,5 ms, draait de as naar zijn minimum (0°);Als de pulsbreedte =
2,5 ms, draait de as naar zijn maximum (180°).
OPMERKING: De maximale hoek varieert per type Servo. Sommige zijn 170° terwijl andere slechts 90° zijn. Desondanks zullen Servo’s meestal de helft (van het maximum) bewegen als ze een signaal met een pulsbreedte van 1,5 ms ontvangen.

De periode van een Servo duurt meestal 20ms en produceert pulsen met een frequentie van 50Hz. De meeste servo’s werken normaal bij 40~200Hz.
Bedradingsschema:
Sluit de Servo aan op io26.
Let op: Sluit geel aan op S (Signaal), rood op V (Voeding) en zwart op GND. Draai ze niet om!

Testcode:
Initialiseer de seriële poort en definieer een variabele item met een toewijzing van 80.

Stel item in op de hoek van de Servo van 80° naar 180°, draaiend 1° elke 15ms.

Servo draait 1° elke 15ms, van 180° naar 80°.

Volledige code:

Testresultaat:
De voederbak wordt langzaam geopend en vervolgens gesloten, wat controleerbaar is.
OPMERKING: SG90 servo kan 180° draaien. Aangezien de voederbak klein is, is 100° rotatie voldoende om de bak volledig te sluiten.
80°: volledig open
120°: half open
180°: gesloten

LET OP
Steek uw vingers niet in de doos om beknelling te voorkomen!
Blokkeer de deur niet met iets om schade aan de servo te voorkomen!
4.6.3 Ultrasone Sensor
Beschrijving:

Schematisch diagram:

De frequentie van geluidsgolven die de mens kan horen is 20Hz ~ 20KHz, terwijl ultrasone golven buiten dat bereik vallen.
Ultrasoon:

De ultrasone module zet elektriciteit en ultrasone golven in elkaar om door middel van het piëzo-elektrische effect, en zendt en ontvangt ook ultrasone golven.
Dit soort golven kenmerkt zich door directiviteit, sterke penetratie en gemakkelijke concentratie van geluidsenergie.

In dit ultrasone afstandmeetsysteem programmeren we eerst de MCU (ESP32 ontwikkelingsbord) om een originele blokgolf van 40KHz te genereren en de ultrasone module aan te sturen om deze uit te zenden. Onmiddellijk berekent de module de afstand tot het object na ontvangst van de gereflecteerde golf (Echo) die is versterkt en gevormd door het circuit. Hierbij registreert het de duur van de emissie en reflectie en berekent het de afstand op basis van het tijdsverschil.
Eenvoudig gezegd, de MCU stuurt de module aan om ultrasone golven uit te zenden die terugkaatsen na het tegenkomen van obstakels en worden ontvangen door de module. Het tijdsverschil hiertussen is een belangrijke factor bij het berekenen van de afstand (de snelheid van geluidsvoortplanting in lucht is 340m/s).
Bedradingsschema:
Sluit de Echo van de ultrasone module aan op io13 en Trig op io12.
Let op: Sluit geel aan op S (Signaal) en rood op V (Voeding). Draai ze niet om!

Testcode:
Stel de juiste pin in: Trig op pin io12; Echo op pin io13.

Testresultaat:
In deze kit is het detectiebereik binnen 3~8cm.
Open de seriële monitor en observeer.

4.6.4 Slim Voedersysteem
Beschrijving:
Het slimme voedersysteem voedt huispluimvee intelligent via een ultrasone module en een servo. De eerste detecteert de afstand tot dieren, terwijl de laatste de voederbak opent of sluit. Wanneer een huisdier dicht bij de bak wordt gedetecteerd, opent de servo deze om te voeden.
Bedradingsschema:
Sluit de Echo van de ultrasone module aan op io13 en Trig op io12; sluit de servo aan op io26.
Let op: Sluit geel aan op S (Signaal), rood op V (Voeding) en zwart op GND. Draai ze niet om!

Testcode:
Codestroom:

Code:
Initialiseer de seriële poort. Definieer een variabele en wijs deze toe aan 180.

Stel de pin correct in en print de ontvangen waarde.

Bepaal de gedetecteerde afstandswaarde. Als deze binnen 2cm ~ 7cm ligt, zal de voederbak openen.

Volledige code:

Testresultaat:
Wanneer een dier wordt gedetecteerd, open dan de voederbak.