Arvutiteaduse instituut
  1. Esileht
  2. Noored Koodi
EN
Logi sisse

Noored Koodi

<- Kõik kursused

  • Linux ja Raspberry Pi kursus
  • Olulisemad mõisted ja kiirteed
  • I osa. Sissejuhatus Linuxisse
  • II osa. Linuxi töölaud
  • III osa. Käsurida 101
  • IV osa. Ubuntu tarkvara
  • V osa. Käsurida 202
  • VI osa. Failiõigused ja käsurea kordamine
  • VII osa. Turvalisus
  • VIII osa. Windowsi programmid Linuxis ja töölaua keskkonnad
  • IX osa. Kordamine ja kuidas Linuxit oma arvutis tööle panna
  • X osa. Linuxi Kontrolltöö


  • XI osa. Raspberry Pi tutvustus ja sissejuhatus
  • XII osa. Raspberry Pi puutetundlik ekraan ja LED tuled
  • XIII osa. Raspberry Pi ja Sense HAT
  • XIV osa. Raspberry Pi kaamera moodul
  • XV osa. Raspberry Pi kasutamine eemalt (SSH ja VNC)
  • XVI osa. Raspberry Pi oma projekt ja huvitavad näited

Raspberry pi Camera V2

<- eelmine peatükk järgmine peatükk ->


Selles praktikumis uurime, kuidas kasutada Raspberry Pi’le mõeldud kaamerat ning põnevat sellega teha saab.

Tee läbi kaamera ühendamine järgneva juhendi järgi. Ühendamisel jälgi, et Sinu mikroarvuti ei oleks ühendatud vooluvõrku. Seejärel jätka juhendiga kuni pildiefektide osani.

 Juhend

Käsurea skript, mis teeb iga teatud aja tagant pildi

Järgnevalt vaatame skripti, mis skripti käivitamisel teeb iga kahe sekundi tagant pildi ning salvestab selle töölauale. Kui Skript on teinud ära 5 pilti, siis algab ring algusest peale ning eelnevad pildid kirjutatakse üle. Skripti lugedes on lihtne leida üles numbrid, mis muudavad kahe pildistamise vahelist aega ning mälus hoitavate piltide arvu.
1. Ava käsurida ning kirjuta käsklus nano pildiring.sh
2. Järgnevalt kirjuta kood faili:

#!/bin/bash
while :
do
	for i in {0..5}
	       do
			echo “Pildi number tsuklis $i “
			raspistill -n -o /home/pi/Desktop/img$i.jpg -t 1
			sleep 2
		done
echo “Algab uus tsukkel, eelnevad pildid salvestatakse üle.”
done

3. Salvesta ning sulge fail.
4. Anna failile käivitamisõigused käsuga “sudo chmod +x pildiring.sh”.
5. Käivita skript käsuga “./pildiring.sh”.

Selline skript võib alguses tunduda ebavajalik, aga oletame, et sa oled läinud paariks päevaks kodust ära ning jätnud kassi üksi koju. Järgmises praktikumis õpime, kuidas teha kaugühendust oma Raspberry Pi’ga, see annaks sulle võimaluse lasta Raspberryl teha näiteks iga 15 minuti tagant uus pilt ning hoida mälus viimase kolme tunni pilte. Kaugühenduse loomisel saad vaadata, kuidas lemmikloom elab. Samas ei pea muretsema, et mälukaardi mälu saaks täis, kuna pilte ei looda mõttetult suures koguses.

Proovi muuta ka ise salvestatud piltide arvu ning pildistamise vahemikku. Uuri käsu “raspistill” erinevaid parameetreid ning katseta mõnda neist. Kui kogemata juhtub, et Raspberry teavitab sind probleemist seoses kaameraga või ei tee enam pilte, siis tee operatsioonisüsteemile reboot ning vaata oma käsklus uuesti üle - ilmselt läks midagi valesti.

Isetehtud fotoboks (Pythoniga)

Allikas:https://www.facebook.com/stimdisain/photos/a.1442584205879622/1474862692651773/?type=3&theater

Vaatame koodi, mis teeb iga 10 sekundi tagant pildi (kokku viis korda).

NB! Pane tähele, et pilte salvestatakse desktopil asuvasse kausta “peopildid”. Loo selline kaust.

from picamera import PiCamera
from time import sleep
camera = PiCamera()

camera.start_preview(alpha=220)
for i in range(5):
    sleep(10)
    camera.capture('/home/pi/Desktop/peopildid/image%s.jpg' % i)
camera.stop_preview()

Fotoboksi põhimõte on toimida iseseisvalt. Kujuta näiteks ette, kui Sinu kooli kooliballil või muul üritusel oleks selline kaamera, mis teeb külalistest ise pilti ning salvestab need mälukaardile. Järgnevalt on Sinu ülesanne kirjutada kood, mis kuvaks kogu aeg ekraanil kaamera pilti ning iga klahvi “enter” vajutuse peale ootaks viis sekundit ja teeks seejärel pildi. Tehtud pildid tuleks salvestada kausta “peopildid”, iga pilt eraldi nimega. Järgnevalt on toodud mõned vihjed, mis aitavad Sul sellist lahendust kirjutada.

1.

n = 0
while True:
	n += 1

	if n == 10:
		break #lõpetab while-tsükli töö 
print(“While-tsükkel sai läbi.”)

2.

kasutaja_vastus = input(“Sisesta oma nimi (kui ei soovi oma nime avaldada, siis vajuta enterit): “)
if kasutaja_vastus == “Mari”:
	print(“Sul on lahe nimi, Mari”)
if kasutaja_vastus == “”:
	print(“Pole hullu, võid oma nime enda teada jätta”)

Kui aega jääb üle

Liikumisanduriga turvakaamera

Kujuta ette, et lähed perega paariks päevaks kodust ära. Kes siis kodu valvama peaks? Raspberry pi valvab. Selleks loome turvakaamera, mis pildistab vaid siis, kui liikumisandur tuvastab ruumis liikumist.

Ühenda vajalikud sensorid alloleva joonise järgi. Ühele LEDile, takistile, helitekitajale ning kahele juhtmele on oranži värviga rist peale tehtud. Neid pole vaja ühendada.

Seejärel käivita Raspberry pi ning kirjuta Pythonis järgnev kood (kontrolli, et failitee oleks Sinule sobiv, vajadusel loo selleks uus kaust töölauale):

from gpiozero import MotionSensor
from time import sleep
from picamera import PiCamera
cam = PiCamera()
pir = MotionSensor(17)
print("Programm ootab, kuni andur ei tuvasta liikumist.")
pir.wait_for_no_motion()
print("Programm alustab tööd.")
pildi_number = 0
while True:
    pir.wait_for_motion()
    cam.capture("/home/pi/Desktop/pildid2/piltNR%s.jpg" % pildi_number)
    print("Tuvastati liikumine")
    pildi_number+=1
    pir.wait_for_no_motion()
    sleep(1)

Pane kood tööle. Proovi ka pildi asemel salvestada viie-sekundiline video liikumise tuvastamisel.



<- eelmine peatükk järgmine peatükk -> \\

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Tartu Ülikooli arvutiteaduse instituudi kursuste läbiviimist toetavad järgmised programmid:
euroopa sotsiaalfondi logo