Kazalo:
- Korak: Dodajte nekaj komponent
- 2. korak: Opomba o oglasnih deskah
- 3. korak: Dodajte dva senzorja
- 4. korak: Senzor za občutljivost na svetlobo
- 5. korak: Zaženite kodo
- 6. korak: Simulacija
- 7. korak: Priključite senzor temp
- 8. korak: Testiranje in preverjanje
Video: Arduino Datalogger: 8 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
V tej vadnici bomo naredili preprost zapisovalnik podatkov z uporabo Arduina. Bistvo je, da se naučimo samih osnov uporabe Arduina za zajem informacij in tiskanje na terminal. S to osnovno nastavitvijo lahko dokončamo vrsto nalog.
Za začetek:
Potrebovali boste račun Tinkercad (www.tinkercad.com). Pojdite in se prijavite s svojim e -poštnim računom ali računom za družabne medije.
Prijava vas popelje na nadzorno ploščo Tinkercad. Kliknite "Vezja" na levi in izberite "Ustvari novo vezje". Začnimo!
Celotno datoteko najdete na TInkercad Circuits - Hvala, ker ste jo preverili!
Korak: Dodajte nekaj komponent
Potrebovali boste nekaj osnovnih komponent. Tej vključujejo:
- Arduino plošča
- Ogledna plošča
Dodajte jih tako, da jih poiščete in jih povlečete na sredino.
Ohišje postavite nad Arduino. Omogoča poznejši ogled povezav.
2. korak: Opomba o oglasnih deskah
Ogledna plošča je zelo uporabna naprava za hitro izdelavo prototipov. Z njim povezujemo komponente. Opozoriti je treba na nekatere stvari.
- Pike so povezane navpično, vendar črta na sredini to povezavo loči od zgornjega in spodnjega stolpca.
- Stolpci niso povezani levo proti desni, kot v drugi vrsti. To pomeni, da morajo biti vse komponente povezane čez stolpce in ne navpično navzdol.
- Če morate uporabiti gumbe ali stikala, jih povežite čez prelom na sredini. To bomo obiskali v kasnejši vadnici.
3. korak: Dodajte dva senzorja
Dva senzorja, ki jih uporabljamo, sta senzor za občutljivost na svetlobo in temperaturni senzor.
Ti senzorji ocenjujejo svetlobo in temperaturo. Arduino uporabljamo za branje vrednosti in njeno prikazovanje v monitorju Serial na Arduinu.
Poiščite in dodajte dva senzorja. Prepričajte se, da so nameščeni čez stolpce na plošči. Med njimi dajte dovolj prostora, da jih boste lažje videli.
4. korak: Senzor za občutljivost na svetlobo
- Za fotoobčutljivi senzor dodajte žico s 5V zatiča na Arduinu v isti stolpec kot desna noga na delu v plošči. Spremenite barvo žice v rdečo.
- Levo nogo povežite s čepom v istem stolpcu z zatičem A0 (A-nič) na Arduinu. To je analogni pin, ki ga bomo uporabili za branje vrednosti iz senzorja. Obarvajte to žico rumeno ali kaj drugega kot rdečo ali črno.
-
Na ploščo postavite upor (poiščite in kliknite in povlecite). To zaključi vezje in zaščiti senzor in pin.
- Obrnite ga tako, da gre čez stebre.
- Priključite eno nogo v desni stolpec na plošči
- Žico z drugega konca upora postavite na tla
Spremenite barvo žice v črno
- Dvakrat preverite vse povezave. Če nekaj ni na pravem mestu, to ne bo delovalo pravilno.
5. korak: Zaženite kodo
Poglejmo kodo za to komponento.
Najprej poglejte tretjo sliko v tem koraku. Vsebuje nekaj kode z dvema funkcijama:
void setup ()
void loop ()
V C ++ vse funkcije zagotavljajo vrsto vrnitve, nato ime, nato dva okrogla oklepaja, ki ju lahko uporabite za podajanje argumentov, običajno kot spremenljivke. V tem primeru je vrsta vračila nična ali nič. Ime je nastavljeno in funkcija ne sprejema argumentov.
Funkcija nastavitve se zažene enkrat, ko se Arduino zažene (ko ga priključite ali priključite baterije).
Funkcija zanke teče v konstantni zanki od milisekunde, ki jo dokonča funkcija nastavitve.
Vse, kar vnesete v funkcijo zanke, se bo zagnalo, ko se zažene Arduino. Vse zunaj tega bo delovalo samo ob klicu. Kot bi definirali in poklicali drugo funkcijo zunaj zanke.
Naloga
Odprite ploščo Koda s tipko v Tinkercadu. Spremenite spustni meni Blokiraj v Besedilo. Strinjajte se z opozorilnim okvirjem, ki se prikaže. Zdaj izbrišite vse, kar vidite, razen besedila na tretji sliki v tem koraku.
Spremenljivke
Za začetek moramo dodeliti nekaj spremenljivk, da bo naša koda res učinkovita.
Spremenljivke so kot vedra, ki lahko vsebujejo samo en predmet (C ++ je tisto, čemur pravimo objektno orientirano). Da, imamo matrike, vendar so to posebne spremenljivke, o njih bomo govorili kasneje. Ko dodelimo spremenljivko, ji moramo povedati, katere vrste je, nato pa ji dati vrednost. Izgleda takole:
int someVar = A0;
Tako smo spremenljivki dodelili tip int. Int je celo število ali celo število.
"Ampak niste uporabili celega števila!", Slišim, da govorite. To je res.
Arduino naredi nekaj posebnega za nas, zato lahko uporabimo A0 kot celo število, saj v drugi datoteki definira A0 kot celo število, zato lahko s konstanto A0 sklicujemo na to celo število, ne da bi morali vedeti, kaj je to. Če bi samo vnesli 0, bi se sklicevali na digitalni zatič na položaju 0, kar ne bi delovalo.
Tako bomo za našo kodo zapisali spremenljivko za senzor, ki smo ga priložili. Čeprav priporočam preprosto ime, je odvisno od vas.
Vaša koda bi morala izgledati tako:
int lightSensor = A0;
void setup () {} void loop () {}
Zdaj pa povejmo Arduinu, kako ravnati s senzorjem na tem zatiču. V nastavitvah bomo zagnali funkcijo za nastavitev načina zatiča in povedali Arduinu, kje naj jo išče.
int lightSensor = A0;
void setup () {pinMode (lightSensor, INPUT); } void loop () {}
funkcija pinMode pove Arduinu, da se bo pin (A0) uporabljal kot vhod INPUT. Zapomnite si camelCaseUsed (glejte, da je vsaka prva črka velika, saj ima grbe, zato… kamela…!) Za spremenljivke in imena funkcij. To je konvencija in nanjo se je dobro navaditi.
Na koncu uporabimo funkcijo analogRead, da dobimo nekaj podatkov.
int lightSensor = A0;
void setup () {pinMode (lightSensor, INPUT); } void loop () {int reading = analogRead (lightSensor); }
Videli boste, da smo branje shranili v spremenljivko. To je pomembno, saj ga moramo natisniti. Za tiskanje tega na serijski monitor uporabimo knjižnico Serial (knjižnica je koda, ki jo lahko dodamo k naši kodi, da jo pospešimo pri pisanju, samo tako, da jo pokličemo po definiciji).
int lightSensor = A0;
void setup () {// Nastavite pin načine pinMode (lightSensor, INPUT); // dodamo serijsko knjižnico Serial.begin (9600); } void loop () {// Branje senzorja int reading = analogRead (lightSensor); // Natisnite vrednost na monitor Serial.print ("Light:"); Serial.println (branje); // naslednjo zanko zamudimo za 3 sekunde (3000); }
Nekaj novih stvari! Najprej boste videli naslednje:
// To je komentar
S komentarji drugim povemo, kaj počne naša koda. Te bi morali pogosto uporabljati. Prevajalnik teh ne bo prebral in jih pretvoril v kodo.
Zdaj smo s vrstico dodali tudi serijsko knjižnico
Serial.begin (9600)
To je primer funkcije, ki sprejme argument. Poklicali ste knjižnico Serial, nato zagnali funkcijo (vemo, da je funkcija zaradi okroglih oklepajev) in kot argument podali celo število, pri čemer je funkcija Serial nastavila delovanje na 9600baud. Ne skrbite, zakaj - samo vedite, da zaenkrat deluje.
Naslednja stvar, ki smo jo naredili, je bila tiskanje na serijski monitor. Uporabili smo dve funkciji:
// Ta se natisne v serijo brez preloma vrstice (vnos na koncu)
Serial.print ("Svetloba:"); // Ta vstavi prelom vrstice, tako da vsakič, ko beremo in pišemo, gre v novo vrstico Serial.println (branje);
Pomembno je, da ima vsak svoj namen. Prepričajte se, da vaši nizi uporabljajo dvojne narekovaje in da pustite presledek za dvopičjem. To uporabniku pomaga pri berljivosti.
Nazadnje smo uporabili funkcijo zakasnitve, da smo upočasnili zanko in jo brali le enkrat na tri sekunde. To je zapisano v tisočih sekundah. Spremenite ga v branje le enkrat na 5 sekund.
Super! Gremo!
6. korak: Simulacija
Z simulacijo vedno preverite, ali stvari delujejo. Za to vezje boste morali odpreti simulator, da preverite njegovo delovanje in preverite svoje vrednosti.
Zaženite simulacijo in preverite serijski monitor. Spremenite vrednost svetlobnega senzorja tako, da kliknete nanj in vrednost spremenite z drsnikom. Spremembo vrednosti bi morali videti tudi na serijskem monitorju. Če se to ne zgodi, ali če ob pritisku na gumb Start Simulation dobite napake, se previdno vrnite in preverite vso kodo.
- Osredotočite se na vrstice, označene v rdečem oknu za odpravljanje napak, ki vam bo predstavljeno.
- Če je vaša koda pravilna in simulacija še vedno ne deluje, preverite ožičenje.
- Znova naložite stran - morda imate nepovezano napako sistema/strežnika.
- Stisnite pest proti računalniku in ponovno preverite. To počnejo vsi programerji. Vse. The. Čas.
7. korak: Priključite senzor temp
Predvidevam, da ste zdaj na pravi poti. Pojdite naprej in priključite temperaturni senzor, kot kaže slika. Upoštevajte postavitev žic 5V in GND v istem prostoru kot tiste za svetlobo. To je v redu. Je kot vzporedno vezje in ne bo povzročilo težav v simulatorju. V dejanskem vezju morate za boljše upravljanje napajanja in povezave uporabiti odklopno ploščo ali ščit.
Zdaj posodobimo kodo.
Koda senzorja temp
To je nekoliko bolj zapleteno, vendar le zato, ker moramo narediti nekaj matematike, da pretvorimo branje. Ni tako hudo.
int lightSensor = A0;
int tempSensor = A1; void setup () {// Nastavite pin načine pinMode (lightSensor, INPUT); // dodamo serijsko knjižnico Serial.begin (9600); } void loop () {// Temp senzor // Ustvarjanje dveh spremenljivk v eni vrstici - oh učinkovitost! // Float var za shranjevanje decimalne plavajoče napetosti, stopinjC; // preberemo vrednost zatiča in ga pretvorimo v odčitek od 0 - 5 // V bistvu napetost = (5/1023 = 0,004882814); napetost = (analogRead (tempSensor) * 0,004882814); // Pretvori v stopinje C stopinjC = (napetost - 0,5) * 100; // Natisni na serijski monitor Serial.print ("Temp:"); Serijski.tisk (stopinjeC); Serial.println ("oC"); // preberite odčitavanje int senzorja = analogRead (lightSensor); // Natisnite vrednost na monitor Serial.print ("Light:"); Serial.println (branje); // naslednjo zanko zamudimo za 3 sekunde (3000); }
Kodo sem posodobil. Pojdimo skozi njih posamično.
Najprej sem dodal vrstico
int tempSensor = A1;
Tako kot lightSensor moram vrednost shraniti v spremenljivko, da bo pozneje lažje. Če bi moral spremeniti lokacijo tega senzorja (na primer ponovno ožičenje plošče), moram spremeniti samo eno vrstico kode, ne pa iskati po celotni zbirki kod, da spremenim A0 ali A1 itd.
Nato smo dodali vrstico za shranjevanje odčitkov in temp v plavajoči. Upoštevajte dve spremenljivki v eni vrstici.
plavajoča napetost, stopinjeC;
To je zelo koristno, saj zmanjšuje število vrstic, ki jih moram napisati, in pospeši kodo. Napake pa je težje najti.
Zdaj bomo prebrali in shranili, nato pa ga pretvorili v izhodno vrednost.
napetost = (analogRead (tempSensor) * 0,004882814);
stopinjeC = (napetost - 0,5) * 100;
Ti dve vrstici sta videti težki, toda v prvi jemljemo odčitavanje in ga pomnožimo z 0,004…, ker pretvori 1023 (analogno branje vrne to vrednost) v odčitavanje od 5.
Druga vrstica pomnoži to branje s 100 za premik decimalne vejice. To nam daje temperaturo. Lepo!
8. korak: Testiranje in preverjanje
Vse stvari, ki se bodo načrtovale, bi morali imeti delovno vezje. Preizkusite tako, da zaženete simulacijo in uporabite serijski monitor. Če imate napake, preverite, preverite še enkrat in stisnite pest.
Vam je uspelo? Delite in nam povejte svojo zgodbo!
To je zadnje vgrajeno vezje za vas, da lahko igrate/preizkusite končno stvaritev. Hvala, ker ste dokončali vadnico!
Priporočena:
Kako: Namestitev Raspberry PI 4 Headless (VNC) z Rpi-sliko in slikami: 7 korakov (s slikami)
Kako: Namestitev Raspberry PI 4 Headless (VNC) z Rpi-imagerjem in slikami: Ta Rapberry PI nameravam uporabiti v kopici zabavnih projektov v svojem blogu. Vabljeni, da to preverite. Želel sem se vrniti v uporabo Raspberry PI, vendar na novi lokaciji nisem imel tipkovnice ali miške. Nekaj časa je minilo, odkar sem nastavil malino
Alaska Datalogger: 5 korakov (s slikami)
Aljaški podatkovni zapisnik: Aljaska je na robu napredujočih podnebnih sprememb. Njen edinstven položaj, saj ima precej nedotaknjeno pokrajino, poseljeno z različnimi kanarskimi premogovniki, omogoča številne raziskovalne možnosti. Naš prijatelj Monty je arheolog, ki pomaga
Arduino Datalogger z RTC, Nokia LCD in kodirnikom: 4 koraki
Arduino zapisovalnik podatkov z RTC, Nokia LCD in kodirnikom: Deli: Arduino Nano ali Arduino Pro Mini Nokia 5110 84x48 LCD DHT11 senzor temperature/vlažnosti DS1307 ali DS3231 RTC modul z vgrajenim AT24C32 EEPROM Poceni kodirnik s 3 kondenzatorji za odvajanje Funkcije: grafični vmesnik na osnovi LCD LCD in sl
Kako razstaviti računalnik z enostavnimi koraki in slikami: 13 korakov (s slikami)
Kako z enostavnimi koraki in slikami razstaviti računalnik: To navodilo za razstavljanje računalnika. Večina osnovnih komponent je modularnih in jih je enostavno odstraniti. Vendar je pomembno, da ste glede tega organizirani. To vam bo pomagalo preprečiti izgubo delov in tudi pri ponovni montaži
Najcenejši Arduino -- Najmanjši Arduino -- Arduino Pro Mini -- Programiranje -- Arduino Neno: 6 korakov (s slikami)
Najcenejši Arduino || Najmanjši Arduino || Arduino Pro Mini || Programiranje || Arduino Neno: …………………………. PRIJAVITE SE na moj YouTube kanal za več videov ……. .Ta projekt govori o tem, kako povezati najmanjši in najcenejši arduino doslej. Najmanjši in najcenejši arduino je arduino pro mini. Podobno je arduinu