Smartklockan har en rad innovativa funktioner, inklusive utbytbara MAC-adresser, WiFi-nätverksskanning, inbyggd LiDAR för avståndsmätning och förmågan att ge realtidsavläsningar av temperatur, höjd, luftfuktighet, tryck, gasresistans, lutning och acceleration.

LiDAR-sensorn som används är en mycket kompakt VL53L1X ToF (Time of Flight) avståndssensor från STMicroelectronics. Den kan mäta avstånd mellan 4 cm och 4 meter med en noggrannhet på mindre än ±1 %, vilket gör den perfekt för att ta mätningar, eller om du bara vill veta hur långt du för närvarande är från en vägg. Eftersom den använder en 940 nm laser (infraröd och därför osynlig för det mänskliga ögat) har jag också placerat en växlingsbar stark röd 650 nm 5 mW laser bredvid den för att hjälpa till med sikte eller om du håller en presentation.

För den trådlösa delen använder klockan ESP-NOW för att snabbt sända data med ultralåg energiförbrukning. Detta trådlösa protokoll valdes på grund av dess förmåga att kringgå traditionella WiFi-anslutningsinställningar, vilket gör att reaktionstiden mellan andra enheter nästan blir omedelbar.

Klockans inbyggda sensor för flyktiga organiska föreningar (VOC) gör det möjligt för användare att övervaka och förstå atmosfäriska förändringar. Slå bara på klockan och observera hur IAQ-avläsningen ändras när målgasen kommer i kontakt med det uppvärmda metalloxidlagret i BME680. Eftersom sensorn också övervakar fuktighet och tryck ger den en användbar avläsning av aktuell höjd utöver atmosfäriska förändringar. Till exempel, när de relativa tryckavläsningarna i området där jag bor är cirka 10 hPa under normalt, kan stormar vanligtvis förutsägas.

Arbetskoncept
I hjärtat av alla dessa fantastiska funktioner finns ESP32-S3-MINI mikrokontrollern eller MCU:n, som hanterar all kommunikation mellan displayen, olika sensorer och andra trådlösa enheter.

För att kommunicera med dessa sensorer använder MCU I2C (Internal Integrated Circuit), ett populärt tvåtråds kommunikationsprotokoll som använder klock- och datasignaler för att läsa och skriva data från olika adresserade sensorer.

Skärmen som används för detta projekt är en 280x240 upplösning 1,5 tum 262K RGB LCD, perfekt för att visa högupplösta bilder.

Förstå hårdvaran
Huvudkretsarna här består av fem sensorer (med en valfri sjätte), en litium-polymerbatteriladdare, en laser-moduldrivare och typiska kretsar för strömförsörjning, kommunikation och konfiguration av ESP32-S3-mikrokontrollern. Det finns knappar och kontakter. Nedan är den kompletta schematiken:


Vi kan börja med IAQ-sensorn och LiDAR. Den globala märkningen av dessa två sensorer skiljer sig från de andra sensorerna eftersom de är monterade på en vertikal del av PCB:n (istället för en del av huvudkretskortet). Detta beror på:
-
LiDAR måste vara vinkelrät mot klockan för att peka på objekt.
-
Ju längre bort BME680 är från andra värmegenererande komponenter, desto mer exakta blir dess omgivningsavläsningar.
Det bör också noteras att VL53L1X LiDAR fungerar bäst i svagt omgivande ljus. Jag har inte upplevt några problem med att använda den inomhus och den fungerar ännu bättre med lamporna släckta. Men när den används på en solig dag, introducerar det omgivande ljuset från solen brus i sensorernas mätningar, vilket minskar noggrannheten och tillförlitligheten i avståndsavläsningarna.
Dessutom, medan laserpekaren används för att hjälpa till att sikta LiDAR, är det inte alltid en direkt indikator på den uppmätta positionen. VL53L1X avståndsmätningsalgoritm fungerar i grunden genom att ta ett område runt centrum (ungefär 9,8 grader i alla riktningar från där du pekar) för att få ett större prov av det infallande ljuset. Den använder sedan denna kombinerade avläsning för att beräkna avståndet. Det vill säga, om du försöker mäta en miljö nära en laserpunkt, kommer det uppmätta avståndet att vara en kombination av avståndet i klicket + avläsningen av något i närheten (inom 9,8 grader).

Kondensatorerna C5, C8, C7 och C10 används för avkoppling för att jämna ut strömtillförseln till chipet. Dessa värden bestäms av LiDAR- och BME680-databladen. R1 används som ett extra pull-down-motstånd för att säkerställa att LiDAR är avstängt när det inte används. Det finns inga pull-up-motstånd på dessa för I2C-kommunikation eftersom linjerna redan är dragna uppåt i MCP3427 ADC-kretsen (för batteriövervakning) som vi kan titta på härnäst.

Denna MCP3427 analog-till-digital-omvandlare (ADC) är mycket lik den tidigare, eftersom värdena för avkopplingskondensatorerna bestäms av komponentens datablad. Men i detta fall är I2C-linjen dragen uppåt och det finns en spänningsdelare (R13 och R14) på vänster sida. Denna spänningsdelare är viktig eftersom vi vill proportionellt minska LiPo-batteriets ingångsspänning till en tillräckligt låg spänning för att ADC:n ska kunna läsa konsekvent. Eftersom batterispänningen minskar när det laddas, ger denna avläsningsspänning en stark indikation på hur mycket kraft som finns kvar i klockan.
Mer information kommer: LiDAR-avståndssensor och WiFi-skanning