ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ํ”„๋กœ์ ํŠธ] ์ฐจ๋‹จ๊ธฐ ๋งŒ๋“ค๊ธฐ
    ๋กœ๋ด‡๊ต์œก/5ํšŒ์ฐจ_์„œ๋ณด๋ชจํ„ฐ 2021. 1. 22. 23:57

    1. ์ฐจ๋‹จ๊ธฐ ํ”„๋กœ์ ํŠธ

      ํ‰์†Œ ์ฃผ์ฐจ์žฅ์—์„œ ์ฐจ๋‹จ๊ธฐ๊ฐ€ ์˜ฌ๋ผ๊ฐ€๊ณ  ๋‚ด๋ ค๊ฐ€๋Š” ๋ชจ์Šต์„ ๋ณธ์ ์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„œ๋ณด๋ชจํ„ฐ์™€ ์ดˆ์ŒํŒŒ์„ผ์„œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฐจ๋‹จ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด ์›€์ง์ด๋„๋ก ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

     

     ๊ฐ€. ์„œ๋ณด๋ชจํ„ฐ ์—ฐ๊ฒฐ

     

      ์„œ๋ณด๋ชจํ„ฐ๋ฅผ HAT 7๋ฒˆ ํ•€์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•œ ์„œ๋ณด๋ชจํ„ฐ๋ฅผ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์›€์ง์—ฌ 90๋„๋กœ ๋งž์ถ”์–ด ์ค๋‹ˆ๋‹ค.

     

    PCA9685.py
    0.00MB

      ์œ„ ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ์•„๋ž˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ”„๋กœ๊ทธ๋žจ์ด ์ €์žฅ๋˜๋Š” ํด๋”์— ๊ฐ™์ด ๋„ฃ์–ด์ฃผ์„ธ์š”.

     

    from PCA9685 import *

    pwm = PCA9685()
    pwm.setPWMFreq(50)

    pwm.setServoPulse(7,90)   
    sleep(1)

     

      90๋„๋กœ ๋งž์ถ˜ ์„œ๋ณด๋ชจํ„ฐ์— ๋‚ ๊ฐœ ๋ชจ์–‘์„ ๋‹ฌ์•„ ๊ณ ์ •ํ•˜์—ฌ ์ค๋‹ˆ๋‹ค.

     

     

     ๋‚˜. ์ดˆ์ŒํŒŒ์„ผ์„œ ์—ฐ๊ฒฐ

     

    ์ดˆ์ŒํŒŒ์„ผ์„œ์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์•„๋ž˜ ๋งํฌ ์ฐธ์กฐ

    2020/10/02 - [์ฝ”๋”ฉ์œตํ•ฉ๊ต์œก/7~8์ฃผ์ฐจ] - [7~8์ฃผ์ฐจ-2] 4์กฑ ๋กœ๋ด‡ ๋ณดํ–‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์‘์šฉ๋™์ž‘

     

      HC-SR04P ์ดˆ์ŒํŒŒ์„ผ์„œ๋Š”  3.3V์—์„œ๋„ ๋™์ž‘์„ ํ•˜๋ฏ€๋กœ ์œ„์™€ ๊ฐ™์€ ํšŒ๋กœ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๋™์ž‘์‹œํ‚ต๋‹ˆ๋‹ค.

     

      HC-SR04P ์ดˆ์ŒํŒŒ์„ผ์„œ๋ฅผ FF์ „์„ ์„ ์ด์šฉํ•˜์—ฌ HAT์— ์žˆ๋Š” ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ํ•€์— ๋ฐ”๋ฅด๊ฒŒ ์—ฐ๊ฒฐ์„ ํ•ฉ๋‹ˆ๋‹ค.

    ์˜ˆ์ œ ์†Œ์Šค(11_2_Distance.py)  
    from gpiozero import DistanceSensor 
    from time import sleep 

    sensor = DistanceSensor(echo=23,trigger=24

    while True
        print('Distance to nearest object is', round(sensor.distance*100,1),'cm')
        sleep(1)





    #round(), ๊ฐ’์„ n์ž๋ฆฌ๊นŒ์ง€ ๋‚˜ํƒ€๋‚ด๋„๋ก ๋ฐ˜์˜ฌ๋ฆผ
     

      ์œ„ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์‹คํ–‰์‹œํ‚ค๋ฉด ์ดˆ์ŒํŒŒ์„ผ์„œ๊ฐ€ ์ธ์‹ํ•˜๋Š” ๊ฑฐ๋ฆฌ์˜ ๊ฐ’์„ cm ๋‹จ์œ„๋กœ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋ฉ€๋ฆฌ ์ธ์‹๋˜๋Š” ๊ฑฐ๋ฆฌ๋Š” 100cm์ž…๋‹ˆ๋‹ค.

     

     

     ๋‹ค. ์ฐจ๋‹จ๊ธฐ ๋งŒ๋“ค๊ธฐ

     

    ์ข…์ด์ปต์— ์„œ๋ณด๋ชจํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๋„๋ก ์„ ์„ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.
    ๊ทธ๋ฆฐ ์„ ์„ ๋”ฐ๋ผ ๊ฐ€์œ„๋กœ ์ž˜๋ผ์ค๋‹ˆ๋‹ค.
    ์ข…์ด์ปต ๊ตฌ๋ฉ์— ์„œ๋ณด๋ชจํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ํ…Œ์ดํ”„๋กœ ๊ณ ์ •ํ•˜์—ฌ ์ค๋‹ˆ๋‹ค.
    ์ดˆ์ŒํŒŒ์„ผ์„œ๋ฅผ ์ ๋‹นํ•œ ์œ„์น˜์— ๊ณ ์ •ํ•˜์—ฌ ์ฐจ๋‹จ๊ธฐ๋ฅผ ์™„์„ฑํ•ฉ๋‹ˆ๋‹ค.

     

    PCA9685.py
    0.00MB

      ์œ„ ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ์•„๋ž˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ”„๋กœ๊ทธ๋žจ์ด ์ €์žฅ๋˜๋Š” ํด๋”์— ๊ฐ™์ด ๋„ฃ์–ด์ฃผ์„ธ์š”.

     

    ์˜ˆ์ œ ์†Œ์Šค(11_3_Project_gate.py)  
    from PCA9685 import
    from gpiozero import DistanceSensor 
    from time import sleep 

    pwm = PCA9685() 
    pwm.setPWMFreq(50

    sensor = DistanceSensor(echo=23,trigger=24

    while True
        if round(sensor.distance*100,1)<14:     
            pwm.setServoPulse(7,180)                   
            sleep(5
        else
            pwm.setServoPulse(7,90)                     
            sleep(1









    #๊ฑฐ๋ฆฌ๊ฐ€ 14cm๋ณด๋‹ค ์ž‘์œผ๋ฉด
     
    #์ฐจ๋‹จ๊ธฐ๋ฅผ ์˜ฌ๋ฆฌ๊ณ 


    #์•„๋‹ˆ๋ฉด ์ฐจ๋‹จ๊ธฐ๋ฅผ ๋‚ด๋ ค๋ผ 

    ๋Œ“๊ธ€

Designed by Tistory.