Cov txheej txheem:

Arduino Cua Txias Qauv: 6 Kauj Ruam
Arduino Cua Txias Qauv: 6 Kauj Ruam

Video: Arduino Cua Txias Qauv: 6 Kauj Ruam

Video: Arduino Cua Txias Qauv: 6 Kauj Ruam
Video: Amazing arduino project 2024, Lub Xya hli ntuj
Anonim
Arduino Cua Txias Qauv
Arduino Cua Txias Qauv

Raws li ib feem ntawm kev ua qauv qhia ntawm peb pab neeg lub peev xwm los tsim tus qauv ntawm lub tsheb ciav hlau ntse rau lub hom phiaj kev lag luam, lub hom phiaj yog los tsim cov kab ke uas ntsuas kub nyeem cov ntaub ntawv los ntawm Circuit Court thiab hloov cov ntaub ntawv mus rau qhov ntsuas kub uas yog ob qho tib si. tso tawm ntawm lub vijtsam uas pom kev thiab tsom mus rau seb puas yog kiv cua qhib lossis tua. Lub hom phiaj yog los pab kom haum rau kev caij tsheb ntawm cov neeg caij tsheb uas siv lub tshuab kaw lus uas tseem ua rau pom qhov ntsuas kub nyob ib puag ncig tam sim ntawd.

Los ntawm kev siv Arduino microcontroller cov khoom siv thiab MATLAB cov qauv 2016b thiab 2017b, peb muaj peev xwm ua kom pom cov txiaj ntsig no nrog kev ua haujlwm tau zoo.

Kauj Ruam 1: Cov Khoom Siv

Khoom siv
Khoom siv

Microcontroller Kit nrog cov hauv qab no:

-Sparkfun Red Board

-Sparkfun Breadboard

-LCD Board

-Potentiometer

-Kub Sensor

-Servo

-USB/Arduino adapter

-Jumper Wires (25, yam tsawg kawg nkaus)

Laptop (Windows 10) nrog USB cov tswv yim

3D Luam Lub Hom Phiaj (xaiv tau)

Kauj Ruam 2: Teeb Microcontroller

Teeb tsa Microcontroller
Teeb tsa Microcontroller
Teeb tsa Microcontroller
Teeb tsa Microcontroller
Teeb tsa Microcontroller
Teeb tsa Microcontroller
Teeb tsa Microcontroller
Teeb tsa Microcontroller

Xav txog qhov no: tag nrho cov kab ke tau tsim ib chav nyob uas txhua tus siv qhov tseem ceeb rau qhov txiaj ntsig kawg. Vim li no, nws tau pom zoo kom teeb tsa cov duab ntawm Circuit Court ua ntej txuas cov xov hlau hauv qhov tsis sib haum.

Cov duab ntawm txhua tus qauv tuaj yeem pom hauv Microcontroller cov cuab yeej siv phau ntawv lossis ntawm nws lub vev xaib ntawm

Pib nrog txhawm rau txhawm rau ntsuas qhov ntsuas kub, lub zog loj, kev sib txuas servo thiab LCD mus rau lub rooj tsavxwm. Nws tau pom zoo tias vim yog LCD qhov loj me thiab xav tau rau tus lej xov tooj rau nws, nws yuav tsum tau muab tso rau ntawm nws tus kheej ib nrab ntawm lub khob cij nrog lwm daim ntawm lwm ib nrab thiab rau lub hwj chim kom nyob hauv thaj tsam rau ib tus neeg yooj yim tig nws lub pob qhov rooj.

Rau siv:

LCD: c1-16

Kev pabcuam: i1-3 (GND + -)

Temp Sensor: i13-15 (- GND +)

Tus ntsuas hluav taws xob: g24-26 (- GND +)

Tom ntej no, pib txuas cov xov hluav taws xob txuas rau txhua tus pin ntawm microcontroller units; txawm hais tias xav tau nyob hauv cov phiaj xwm loj, kev tsim qauv tau tsim nrog cov kev sib txuas tseem ceeb no:

Txuas Potentiometer rau LCD: f25 - e3

Servo GND xaim: j1 - Digital Input 9

Temp Sensor GND: j14 - Analog Input 0

Cov tswv yim LCD: e11-e15-Digital Input 2-5

e4 - Cov tswv yim digital 7

e6 - Cov tswv yim digital 6

(Nco tseg: Yog tias ua tiav, ob lub teeb ntawm LCD lub ntug yuav tsum nyem thiab lub hwj chim tuaj yeem pab kho nws qhov ci ci thaum muab lub zog los ntawm lub adapter.)

Yeem tau: Qhov khoom siv luam tawm 3D tau siv ua ib feem ntawm qhov yuav tsum tau ua. Txhawm rau zam kom tsis txhob muaj kev puas tsuaj rau qhov tawg yooj yim dua, rooj plaub txuas ntxiv tau muab tso rau hauv lub tes tsho ib puag ncig LCD. Kev ntsuas ntawm LCD lub vijtsam ua pov thawj kwv yees li 2-13/16 "x 1-1/16" x 1/4 ", thiab yog li tsuas yog qhov siab tau hloov pauv. Tsis tas li, nco ntsoov tias kev ntsuas yuav txawv.

Kauj Ruam 3: Teeb MATLAB

MATLAB Setup
MATLAB Setup
MATLAB Setup
MATLAB Setup

Txhim kho qhov hloov kho tshiab ntawm MATLAB (2016a thiab txuas ntxiv), muaj nyob ntawm MathWorks lub vev xaib https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Thaum qhib, mus rau Add-Ons ntawm Lub Tsev tab thiab rub tawm "MATLAB Txhawb Pob rau Arduino Kho Vajtse" rau microcontroller cov lus txib kom nkag tau yooj yim.

Thaum ua tiav, kev sim tuaj yeem ua los nrhiav kev sib txuas ntawm lub microcontroller rau ib lub computer/laptop. Tom qab txuas lawv nrog USB adapter los ntawm cov cuab yeej siv, ntxig qhov hais kom ua "fopen (serial ('nada'))."

Cov lus yuam kev yuav pop-up hais qhia qhov sib txuas ua "COM#", uas yuav xav tau los tsim cov khoom arduino tsuav nws yog tib cov tswv yim txhua lub sijhawm.

Vim yog lub LCD tsis muaj kev sib txuas ncaj qha rau Arduino lub tsev qiv ntawv, yuav tsum tsim lub tsev qiv ntawv tshiab thiaj li yuav pom cov lus. Cov lus pom zoo yog los tsim LCDAddon.m cov ntaub ntawv los ntawm LCD piv txwv pom hauv MATLAB pab lub qhov rai tom qab tshawb "Arduino LCD" thiab muab tso rau hauv +arduinoioaddons nplaub tshev, lossis siv cov nplaub tshev uas txuas nrog thiab luam tag nrho nws cov ntsiab lus mus rau qhov tau hais los saum no nplaub tshev

Yog tias ua tiav, tom qab ntawv cov cai los tsim Arduino cov khoom hauv MATLAB yog raws li qhia hauv qab no.

a = arduino ('com#', 'uno', 'Libraries', 'Piv txwvLCD/LCDAddon');

Kauj Ruam 4: Kev Ua Haujlwm

Kev ua haujlwm
Kev ua haujlwm
Kev ua haujlwm
Kev ua haujlwm

Tsim MATLAB ua haujlwm. Rau cov tswv yim, peb siv qhov sib txawv "eff" thiab "T_min"; rau cov txiaj ntsig, txawm hais tias tsis tsim nyog hauv kev tsim qauv tag nrho, peb siv qhov sib txawv "B" raws li txoj hauv kev kom muaj cov ntaub ntawv los ntawm cov txiaj ntsig. Cov lus "eff" tso cai rau kev tswj hwm qhov siab tshaj plaws ntawm servo, thiab "T_min" cov tswv yim tswj hwm qhov kub tsawg kawg nkaus xav tau. Tus nqi "B" yuav tsum yog li tsim cov lej uas muaj peb kab nyob rau lub sijhawm, qhov kub thiab qhov ua tau zoo ntawm tus kiv cua. Tsis tas li, raws li qhov tau txais txiaj ntsig kom ntxaws, cov cai teev hauv qab no tseem muaj cov lus hais yog tias kiv cua nrawm yuav raug txo los ntawm tsib caug feem pua thaum nws ze rau qhov xav tau qhov kub tsawg.

Yog tias txhua qhov kev nkag mus thiab cov xov hluav taws xob tau muab tso rau qhov tseeb thiab xav tias qhov chaw nres nkoj ntawm kev sib txuas arduino yog COM4 thiab lub npe ua haujlwm yog "fanread", cov cai hauv qab no yuav tsum txaus:

muaj nuj nqi [B] = fanread (Tmin, eff)

clear ib; lcd ntshiab; a = arduino ('com4', 'uno', 'Libraries', 'Piv txwvLCD/LCDAddon');

t = 0; t_max = 15; % sijhawm hauv vib nas this

lcd = addon (a, 'Piv txwvLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});

initializeLCD (lcd, 'Kab', 2, 'Kab', 2);

yog eff> = 1 || e <0

yuam kev ('Ntxuam yuav tsis qhib tshwj tsis yog eff tau teeb tsa ntawm 0 thiab 1.')

kawg

rau t = 1: 10 % tus naj npawb ntawm loops/ntu

meej c; % tiv thaiv kev rov ua yuam kev

v = readVoltage (a, 'A0');

TempC = (v-0.5)*100; % kwv yees rau qhov ntsuas hluav taws xob 2.7-5.5 V

yog TempC> Tmin yog TempC

c = ['Temp', num2str (TempC, 3), 'C On'];

writePWMDutyCycle (a, 'D9', eff/2); % tig rau servo ntawm ib nrab nrawm

nPd = 50;

lwm tus

c = ['Temp', num2str (TempC, 3), 'C On'];

writePWMDutyCycle (a, 'D9', eff); % tig rau servo ntawm qhov nrawm muab

npd = 100;

kawg

lwm tus

c = ['Temp', num2str (TempC, 3), 'C Tawm'];

writePWMDutyCycle (a, 'D9', 0); % kaw yog tias twb tau ua lawm

nPd = 0;

kawg

luam tawm LCD (lcd, c);

ncua (3); % peb vib nas this dhau ib lub voj

sij hawm (t) = t.*3;

tempplot (t) = TempC;

ua (t) = spd;

subplot (2, 1, 1)

cov phiaj (sijhawm, sijhawm, 'b-o') % kab kab

axis ([0 33 0 40])

xlabel ('Sijhawm (vib nas this)')

ylabel ('Kub (C)')

tuav

phiaj ([0 33], [Tmin Tmin], 'r-')

tuav

phiaj ([0 33], [Tmin+2 Tmin+2], 'g-')

subplot (2, 1, 2)

bar (sijhawm, ua) % bar teeb duab

xlabel ('Sijhawm (vib nas this)')

ylabel ('Ua Tau Zoo (%)'))

kawg

B = transpose ([sijhawm; tempplot; ua]);

kawg

Tam sim no qhov ua haujlwm tiav, nws yog lub sijhawm los sim.

Kauj ruam 5: Xeem

Kev Xeem
Kev Xeem
Kev Xeem
Kev Xeem

Tam sim no sim ua haujlwm hauv qhov hais kom ua qhov rai los ntawm kev nkag mus "function_name (input_value_1, input_value_2)" thiab saib. Nco ntsoov tias tsis muaj cov khoom Arduino twb muaj lawm; yog tias yog, siv cov lus txib "tshem tawm" kom tshem nws. Yog tias muaj teeb meem tshwm sim, tshawb xyuas thiab pom tias ib qho txuas txuas nyob hauv qhov chaw tsis raug lossis yog tias siv cov khoom siv digital lossis analog tsis raug. Cov txiaj ntsig tau xav tias yuav sib txawv, txawm hais tias qhov no yuav tshwm sim los ntawm kev tso qee cov xov hluav taws xob thiab cov ntsuas kub.

Qhov kev cia siab ntawm cov txiaj ntsig yuav tsum tsim kev hloov pauv ntawm kev ua haujlwm ntawm servo thiab cov ntaub ntawv ntawm LCD. Nrog txhua peb ntu thib ob, kab ntawv yuav tsum tso tawm qhov ntsuas kub hauv Celsius thiab seb lub kiv cua puas ua haujlwm lossis tsis ua haujlwm thaum lub kiv cua khiav nrawm, ib nrab nrawm lossis tsis nrawm. Cov ntaub ntawv yuav tsum feem ntau yuav tsis zoo ib yam, txawm hais tias yog xav tau ntau yam txiaj ntsig, qhov chaw "Tmin" tus nqi ze rau qhov nruab nrab qhov kub uas tsim los ntawm Circuit.

Kauj Ruam 6: Xaus

Xaus
Xaus

Txawm hais tias kev ua haujlwm nyuaj kom ua tiav los ntawm kev sim thiab ua yuam kev, qhov txiaj ntsig kawg tau ua pov thawj kom txaus siab thiab txaus siab. Cov kab ke zoo li no pab piav qhia ntau npaum li cas cov tshuab nyuaj, lossis txawm tias qee qhov ntawm lawv, tuaj yeem pom raws li kev sau cov khoom ywj pheej tso ua ke kom ua tiav lub hom phiaj tshwj xeeb.

Vim yog qhov yooj yim tsim ntawm qhov haujlwm kawg, cov uas muaj kev txaus siab los txhim kho nws qhov kev ua tau zoo tuaj yeem ua rau kev hloov pauv thiab hloov pauv hauv cov khoom kawg uas tuaj yeem ua rau txoj haujlwm zoo dua thiab nthuav dav. Txawm li cas los xij, nws nthuav tawm qhov tsis muaj zog hauv Circuit Court xws li servo qhov kev ua kom ua rau muaj qhov hloov pauv ntawm qhov hloov pauv hauv Circuit Court nyeem ntawv, uas tuaj yeem ua rau lub kaw lus tsis muaj txiaj ntsig zoo ib yam. Tsis tas li, tau muaj teeb meem nrog pom kev hloov pauv ntawm servo nrawm thaum "eff" tau teeb tsa 0.4 thiab siab dua. Muaj qhov ntsuas kub thiab av noo tau siv, tus qauv kawg yuav nyuaj dua tab sis nthuav qhia qhov txiaj ntsig zoo ib yam. Txawm li cas los xij, qhov no yog qhov kev paub uas qhia tau tias lub tshuab nyuaj tuaj yeem ua haujlwm ua ke ua ke ntawm nws qhov yooj yim.

Pom zoo: