Turinys:

Automatinė fotografavimo kabina: 4 žingsniai (su nuotraukomis)
Automatinė fotografavimo kabina: 4 žingsniai (su nuotraukomis)

Video: Automatinė fotografavimo kabina: 4 žingsniai (su nuotraukomis)

Video: Automatinė fotografavimo kabina: 4 žingsniai (su nuotraukomis)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Lapkritis
Anonim
Automatizuotas fotoaparatas
Automatizuotas fotoaparatas

Tai parodys, kaip pasigaminti automatinę fotokabiną, naudojant aviečių pi, ultragarsinį atstumo jutiklį ir keletą kitų priedų. Norėjau atlikti projektą, kuriame naudojama ir sudėtinga aparatinė įranga, ir sudėtinga programa. Aš tyrinėjau tokius projektus kaip „Raspberry pi“išteklių puslapis, kai kurie iš šių projektų yra fizinis skaičiavimas naudojant „python“ir „micro bit selfie“. Vienas iš jų parodė, kaip naudoti aviečių pi kamerą, o kitas - kaip naudoti ultragarsinį atstumo jutiklį.

1 žingsnis: medžiagos

Medžiagos
Medžiagos

Prieš pradėdami kurti grandinę, jums reikės tam tikrų medžiagų:

1 x Raspberry Pi 3

1 x T-Cobbler

1 x Pi kamera

1 x ultragarsinis atstumo jutiklis

3 x RGB šviesos diodai

10 x 330 omų rezistoriai

1 x 560 omų rezistorius

5 x įvairių spalvų kabelių ritė

1 x duonos lenta

2 žingsnis: sukurkite grandinę

„Circuit“statyba
„Circuit“statyba
„Circuit“statymas
„Circuit“statymas
„Circuit“statyba
„Circuit“statyba
„Circuit“statyba
„Circuit“statyba

Štai kaip aš prijungiau savo grandinę:

1. Norėdami sukurti šią grandinę, norite prijungti „Raspberry Pi“kamerą prie atitinkamo lizdo

2. Prijunkite „T-Cobbler“prie duonos lentos.

3. Naudodami pasirinktinio ilgio trumpiklius, prijunkite vieną prie maitinimo bėgio ir vieną prie įžeminimo bėgio

4. Prijunkite ultragarsinį atstumo jutiklį ir įkiškite „vcc“koją į maitinimą, „gnd“į žemę, „trig“į GPIO kaištį ir „aidą“į 330 omų rezistorių, kuris jungiamas prie 560 omų rezistoriaus kuris yra prijungtas prie žemės ir GPIO kaiščio.

5. Įdėkite tris RGB šviesos diodus į duonos lentą, prijungdami šviesos diodų anodą prie maitinimo, ir prijunkite skirtingas kojas, kurios valdo šviesos diodų spalvą, prie 330 omų rezistorių, o tada prie GPIO kaiščių.

3 žingsnis: Kodas

Norėdami, kad „Raspberry Pi“naudotų GPIO kaiščius, mums reikės koduoti kaiščius, kad kažką padarytume. Norėdami sukurti kodą, naudoju „python 3 IDLE“. Mano sukurtas kodas naudoja RPi. GPIO ir „gpiozero“biblioteką. Yra skirtingų spalvų procedūros ir yra funkcija, kuri apskaičiuoja atstumą naudodama ultragarsinį atstumo jutiklį, o kai yra kažkas diapazone, jis atidarys pi fotoaparato peržiūrą, o šviesos diodai skaičiuos atgalinį laiką ir tada bus padaryta nuotrauka.

Štai mano naudojamas kodas:

iš „picamera“importo „PiCameraf“iš „gpiozero“importo mygtuko, šviesos diodas iš laiko importavimo miego režimo importavimo RPi. GPIO kaip GPIO importo laikas

r = [LED (23), LED (25), LED (12)]

g = [LED (16), LED (20), LED (21)] b = [LED (17), LED (27), LED (22)] mygtukas = Mygtukas (24) GPIO.setmode (GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)

def raudona (x):

r [x].ne () g [x].on () b [x].on ()

išjungti (x):

r [x].on () g [x].on () b [x].on ()

atsijungti ():

r [0].on () g [0].on () b [0].on () r [1].on () g [1].on () b [1].on () r [2].on () g [2].on () b [2].on ()

žalias (x):

r [x].į () g [x]. išjungta () b [x].on ()

def mėlyna (x):

r [x].on () g [x].on () b [x]. off ()

def run ():

camera.capture ('selfie.jpg') camera.stop_preview ()

def atstumas ():

GPIO. output (GPIO_TRIGGER, True) time.sleep (0.00001) GPIO. output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time (), o GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () while GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () TimeElapsed = StopTime - StartTime distance = (TimeElapsed *34300) / 2 return distance

išjungtas ()

nors tiesa: d = atstumas (), jei int (d) <= 30: su „PiCamera“() kaip fotoaparatas: kamera. start_preview () raudona (0) miego (1) mėlyna (1) miego (1) žalia (2) miego būsena (1) išjungta () camera.capture ('selfie.jpg') camera.stop_preview ()

Rekomenduojamas: