Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Pamokoje pamatysime, kaip sukurti pilną prototipą, surinkti automatinį gelio alkoholio dozatorių su esp32, jame bus žingsnis po žingsnio surinkimas, elektroninė grandinė ir žingsnis po žingsnio paaiškinamas šaltinio kodas.
1 žingsnis: grandinė
Šio projekto grandinę sudaro „ky-033“modulis, turintis atspindintį optinį jutiklį, kuris yra „TCRT5000L“, esp32-t modulis, nors mes taip pat galime naudoti „Arduino“bet kuriame jo vaizde, su minimaliu šaltinio kodo, MG995 servo variklio, 360 laipsnių versijos pakeitimai, kad galėtume visiškai apsisukti su dideliu sukimo momentu, jo viduje yra metalinės pavaros ir, žinoma, spausdinta grandinė, kurią paliksiu Gerber failą, kad jie galėtų nemokamai atsisiųsti.
2 žingsnis: ESP32-T modulio ypatybės
Ryšiai
ESP32 modulis turi visus „Wi -Fi“variantus:
- 802.11 b/g/n/e/i/n
- „Wi-Fi Direct“(P2P), „P2P Discovery“, „P2P Group Owner“režimas ir P2P energijos valdymas
Ši nauja versija apima mažos galios „Bluethoot“ryšį
- „Bluetooth v4.2 BR/EDR“ir „BLEBLE“švyturys
- Be to, galite bendrauti naudodami SPI, I2C, UART, MAC Ethernet, Host SD protokolus
Mikrovaldiklio savybės
Centrinis procesorius susideda iš „Tensilica LX6“modelio SoC su šiomis funkcijomis ir atmintimi
- Dvigubas 32 bitų branduolys su 160 MHz dažniu
- 448 kB ROM
- 520 KB baitų SRAM
Turi 48 smeigtukus
- 18 12 bitų ADC
- 2 8 bitų DAC
- 10 kontaktų kontaktiniai jutikliai
- 16 PWM
- 20 skaitmeninių įėjimų/išėjimų
Energijos ir vartojimo režimai
Norint tinkamai veikti ESP32, būtina tiekti įtampą nuo 2,8 V iki 3,6 V. Sunaudota energija priklauso nuo darbo režimo. Jame yra režimas „Ultra Low Power Solution“(ULP), kuriame pagrindinės užduotys (ADC, PSTN …) ir toliau atliekamos miego režimu
3 žingsnis: „Servo MG995“360 laipsnių versija
Mg995 - 360o, yra nuolatinio sukimosi servo sistema (360o) yra įprastų servo variantas, kai signalas, kurį siunčiame į servo valdo sukimosi greitį, o ne kampinė padėtis, kaip tai daroma įprastose servo sistemose.
Šis nepertraukiamo sukimosi servo variklis yra paprastas būdas gauti variklį su greičio valdymu, nepridedant papildomų įrenginių, tokių kaip valdikliai ar kodavimo įrenginiai, kaip nuolatinės srovės varikliai, arba žingsnis po žingsnio, nes valdymas yra integruotas į pačią servo sistemą.
Specifikacijos
- Pavaros medžiaga: metalas
- Pasukimo diapazonas: 360
- Darbinė įtampa: nuo 3 V iki 7,2 V
- Veikimo greitis be apkrovos: 0,17 sekundės / 60 laipsnių (4,8 V); 0,13 sekundės / 60 laipsnių (6,0 V)
- Sukimo momentas: 15 kg / cm
- Darbinė temperatūra: nuo -30oC iki 60oC
- Kabelio ilgis: 310 mm
- Svoris: 55g
- Matmenys: 40,7 mm x 19,7 mm x 42,9 mm
Apima:
- 1 „Servomotor Tower Pro Mg995“nuolatinis sukimasis.
- 3 varžtai surinkimui
- .3 kopijos (ragai).
4 žingsnis: Ky-033 linijos detektorius/sekimo jutiklio modulis
apibūdinimas
KY-033 LINE DETECTOR/FOLLOWER JUTIKLIŲ MODULIS Šis modulis yra specialiai sukurtas lengvam, greitam ir tiksliam linijų aptikimui, kad būtų lengviau surinkti linijų sekimo robotus. Šis modulis yra suderinamas su „Arduino“ir bet kokiu mikrovaldikliu, turinčiu 5 V kaištį. Darbinė įtampa: 3.3-5 VDC Darbinė srovė: 20 mA Aptikimo atstumas: 2-40 mm Išėjimo signalas: TTL lygis (žemas lygis yra kliūtis, aukštas lygis su kliūtimi) Jautrumo nustatymas: potenciometras. IC palyginimas: LM393 IR jutiklis: TCRT5000L Darbinė temperatūra: -10 iki +50oC Matmenys: 42x11x11mm Efektyvus kampas: 35o
5 žingsnis: šaltinio kodas
#include Servo myservo;
const int sensorPin = 12; // Pin del sensor infrarrojo optico refectivo
int reikšmė = 0;
void setup () {
myservo.attach (23); // Servo variklio kaištis MG995 360 laipsnių
pinMode (sensorPin, INPUT); // definir pin como entrada
}
void loop () {
vertė = digitalRead (sensorPin); // lectura digital de pin del sensor infrarrojo
if (value == LOW) {// Si detecta un objeto cerca se cumple esta función
actuador (); // LLama a la función actuador
}
}
niekinis aktuatorius () {
myservo.write (180); // Baja el actuador lineal
vėlavimas (700);
myservo.write (90); // Detiene al servo motor
vėlavimas (600);
myservo.write (0); // Sube el actuador lineal
vėlavimas (500);
myservo.write (90); // Detiene al servo motor
delay (2000); // Esperamos 2 segundos para que no se vuelva a ctivar el servomotor inmediatamente
}
6 žingsnis:
Šį kodą galima naudoti su bet kokiu „Arduino“, tačiau turėtume būti atsargūs, kad bet kurio „Arduino“kaiščio 23 (su „arduino mega“problema) naudojimas būtų pakeistas nuo 2 iki 13 (minus 12, nes jis naudojamas atspindinčiam optiniam jutikliui), nes, pavyzdžiui, „Arduino“nėra vieno arba nano kaiščio 23.
Šiam projektui naudojama servo sistema yra 360 laipsnių, todėl ji sukasi papildymus, nustatydama 180o vertę kryptimi -myservo.write (180) -, mes sustabdome ją naudodami -myservo.write (90) -ir mes pasukame priešinga kryptimi su -myservo.write (90) -, todėl labai svarbu palaukti trumpą laiką su vėlavimu, kol linijinė pavara pereis į norimą padėtį.
7 žingsnis: failai
ST failai
rogerbit.com/wprb/wp-content/uploads/2020/10/Archivos-STL.zip
Arba galite juos atsisiųsti iš originalaus automobilio, tačiau aukščiau esančiame faile yra vieno STL failo, kuris žiūri į vaizdo įrašą, pakeitimas. Http://www.thingiverse.com/thing: 3334797
Gerber failas
rogerbit.com/wprb/wp-content/uploads/2020/10/Gerber_PCB_ESP32.zip
8 žingsnis: „Servo“biblioteka, suderinama su „Esp32“
Norėdami valdyti variklį, galite tiesiog pasinaudoti ESP32 PWM galimybėmis, siunčiant 50 Hz signalą su atitinkamu pulso pločiu. Arba galite naudoti biblioteką, kad ši užduotis būtų daug paprastesnė.
rogerbit.com/wprb/wp-content/uploads/2020/04/ServoESP32-master.zip
9 žingsnis: pabaiga
Kaip matote, tai labai paprastas surinkimo projektas, tačiau norint jį surinkti, jie turės turėti 3D spausdintuvą arba padaryti spausdinimo dalis. Komponentus galima atimti elektronikos parduotuvėse, ir jie netgi gali viską surinkti protoboate, nereikalaudami PCB.
REKOMENDUOJAMAS PROJEKTAS
www.youtube.com/watch?v=vxBG_bew2Eg