Агуулгын хүснэгт:

SmartBin: 4 алхам
SmartBin: 4 алхам

Видео: SmartBin: 4 алхам

Видео: SmartBin: 4 алхам
Видео: СВИНАЯ ШЕЯ БОЛЬШИМ КУСКОМ НА УГЛЯХ. ЭТОТ РЕЦЕПТ ХОЧЕТСЯ ПОВТОРЯТЬ! ENG SUB. 2024, Арваннэгдүгээр
Anonim
Image
Image

Энэхүү төслийн гол зорилго нь дор хаяж нэг Raspberry Pi ашигладаг электрон төхөөрөмж бий болгох явдал юм. Баг нь ирээдүйн 5 механик инженер, нэг автоматжуулалтын инженерээс бүрдэнэ. Манай төсөл бол хогийн савны урд талд байрлах хөдөлгөөн мэдрэгчийн доорх хөлийн хөдөлгөөнөөр автоматаар онгойдог, хаагддаг хогийн сав хийхээс бүрдэнэ. Wifi USB зөөгчийг вэбсайт руу мэдээлэл дамжуулахад ашигладаг. Энэ хогийн савыг "SmartBin" гэж нэрлэдэг. Дээрх хошин видео нь бидний шинэлэг SmartBin -ийг танилцуулж байна.

Энэхүү гайхалтай SmartBin төслийг хэрэгжүүлэхийн тулд хэд хэдэн хэрэгсэл шаардлагатай байсан.

  • Нэг метр
  • Хүчтэй цавуу
  • Наалдамхай тууз
  • Модон хөрөө
  • Халив
  • Өрөмдлөгийн машин
  • Хавчаар
  • Хутга

Алхам 1: SmartBin тоног төхөөрөмж

SmartBin төхөөрөмж
SmartBin төхөөрөмж
SmartBin төхөөрөмж
SmartBin төхөөрөмж

SmartBin нь ногоон, улбар шар, улаан өнгийн LED гэрлүүдээс бүрдэх бөгөөд хогийн савны зүүн талд бэхэлгээ дээр байрлуулсан бөгөөд энэ нь хэр дүүрсэн болохыг илтгэнэ. Эдгээр гэрэл нь тодорхой харагдах бөгөөд хогийн уутыг солих шаардлагатай үед хэрэглэгчдэд анхааруулах болно. Програмчлалын хэл бол Python юм. Хогийн савны дүүргэсэн түвшинг дараах вэбсайт руу дамжуулна:

Энд ашигласан элементүүд байгаа боловч та өөр шийдлийг хялбархан олох боломжтой.

  • 1 хогийн сав ("дүүжин таг" хогийн сав)
  • 1 Хогийн савыг онгойлгохын тулд servomotor
  • 1 Raspberry Pi 2
  • Raspberry Pi болон servomotor -ийг нийлүүлэх 2 цахилгаан хангамж (гар утасны 5V цэнэглэгч ба 6V цахилгаан хангамж)
  • 1 Хогийн савны дүүргэлтийн түвшинг хэмжих хэт авианы мэдрэгч
  • Зарим LED нь дүүргэлтийн түвшинг харуулдаг (4 ногоон, 2 улбар шар, 1 улаан)
  • 1 Хэт авианы хөдөлгөөн илрүүлэгч нь хөдөлгөөнийг илрүүлдэг
  • 1 16Gb SD карт
  • Цахилгаан эсэргүүцэл (10.000 Ом, 2000 Ом ба 1000 Ом)
  • Вэбсайт руу утасгүй дамжуулалтыг идэвхжүүлэхийн тулд 1 WiFi USB зөөгч.
  • 1 Breadboard болон зарим Raspberry кабелиуд

Үйлдвэрлэлийн тооцоолсон үнэ 80 € байна.

Алхам 2: Бөөрөлзгөнө хайрцаг болон LED баар үйлдвэрлэх

Raspberry Box болон LED баарны үйлдвэрлэл
Raspberry Box болон LED баарны үйлдвэрлэл
Raspberry Box болон LED баарны үйлдвэрлэл
Raspberry Box болон LED баарны үйлдвэрлэл
Raspberry Box болон LED баарны үйлдвэрлэл
Raspberry Box болон LED баарны үйлдвэрлэл

Бөөрөлзгөнө хайрцгийг үйлдвэрлэхийн тулд модон хөрөө ашиглана уу. Цэвэрхэн харагдуулахын тулд хайрцагны бүх талыг таваар бэхлээрэй. Нэрнээс нь харахад энэ хайрцаг нь зөвхөн Raspberry Pi -ийг агуулахаас гадна доод хэсэгт байрлуулах хөдөлгөөн мэдрэгчийг багтаасан болно. Хайрцгийг барьсны дараа хогийн савтай ижил өнгөөр будна. Энэхүү хайрцгийг бүтээхэд 3D хэвлэх технологийг ашиглаж болно.

LED баар үйлдвэрлэхийн тулд LED гэрлийг суурилуулахын тулд нүх өрөмдөх цахилгаан суваг ашиглана уу. LED баарыг мөн будсан байх ёстой. Бүх зүйл бэлэн болсон үед LED -ийг сувагт суулгаж, цахилгаан холболтыг хий. LED кабель бүрийг наалдамхай туузаар зөв дугаарлахад анхаарлаа хандуулаарай. Энэ нь утас холбох үед LED тус бүрийг тодорхойлоход тусална.

Эцэст нь хайрцаг болон LED баарыг хогийн савныхаа урд талд хавсаргана уу.

Алхам 3: Тагны хэсэг

Тагны хэсэг
Тагны хэсэг
Тагны хэсэг
Тагны хэсэг

Хогийн савны тагны тухайд эхний алхам бол servomotor -ийг таг руу нааж өгөх явдал юм. Хөшүүргийн өргөтгөлийг өмнө нь хийх ёстой. Хөшүүрэг нь өмнө нь гараар хийсэн зогсоолд хүрэх болно. Хэт авианы мэдрэгчийг зөв байрлалд байлгахын тулд шураг хайрцгийг таганд холбож, нүх гарга. Кабелийг таган дээр туузаар зөв хавсаргасан эсэхээ шалгаарай.

Алхам 4: Програм хангамжийн хэсэг ба мэдээлэл олж авах

Програм хангамжийн хэсэг ба мэдээлэл олж авах
Програм хангамжийн хэсэг ба мэдээлэл олж авах
Програм хангамжийн хэсэг ба мэдээлэл олж авах
Програм хангамжийн хэсэг ба мэдээлэл олж авах
Програм хангамжийн хэсэг ба мэдээлэл олж авах
Програм хангамжийн хэсэг ба мэдээлэл олж авах

Програм хангамжийн хэсгийн хувьд бид питон програмчлалын хэлийг ашигласан. Хөтөлбөрийг асаахад Raspberry Pi ажиллуулах SD картанд хадгална. Утасны схемийг дээр дурдсан болно. Gpio тээглүүрийн зургийг доорхи линк дээрх бүх бөөрөлзгөнө хэлбэрээр авах боломжтой.

www.raspberrypi-spy.co.uk/2012/06/simple-g…

Хөдөлгөөн мэдрэгчийг солихын тулд хэт авианы мэдрэгч ашиглах боломжтой бөгөөд та кодонд "if loop" үүсгэх хэрэгтэй.

Дээр дурдсанчлан, хогийн савыг дүүргэсэн түвшний талаархи мэдээллийг wix.com дээр үүсгэсэн вэбсайт руу дамжуулдаг. Энэ вэбсайтаас та багийн гишүүд, техник хангамж, програм хангамжийн танилцуулгыг цуглуулдаг өөр өөр табуудыг олж болно.… Сонирхолтой таб бол үнэндээ SmartBin -ээс хог хаягдлын хэмжээтэй холбоотой мэдээллийг цуглуулж, өгөгдөл бүхий график үүсгэдэг "Мэдээллийн сан" таб юм.. График нь дүүргэлтийн түвшний хувьслыг харуулж байна. Мэдээллийг вэбсайтаас үзэх эсвэл татаж авах боломжтой. Доорх линк нь бидний ашигласан вэбсайт бөгөөд google хуудсан дээр python ашиглан хэрхэн уншиж, бичихээ харуулах болно.

www.makeuseof.com/tag/read-write-google-sh…

Кодын "ажиллуулах хэсэг" -ийн талаар терминал дээр бичнэ үү: sudo nano/etc/xdg/lxsession/LXDE-pi/autostart

Дараа нь дөнгөж нээгдсэн скриптийн төгсгөлд эдгээр хоёр кодын мөрийг бичнэ үү: python /home/pi/main.py & python /home/pi/csvcontrol.py &

Аврорыг хадгалахын тулд: C trl + O Дараа нь дарна уу: Enter Дараа нь дарна уу: C trl + X

Сүүлийн кодын мөрөөр бичнэ үү: sudo reboot

Та мөн төсөлд ашигласан бүрэн питон код болох хавсралтыг татаж авах боломжтой. Хоёр код хоёулаа нэгэн зэрэг ажилладаг!

Энд main.py код байна:

RPi. GPIO -г GPIOimport болгон импортлох цаг импортлох csv

GPIO.setmode (GPIO. BCM)

GPIO.setwarnings (Худал)

CapteurP = 7

servo = 17

GPIO. тохиргоо (servo, GPIO. OUT)

GPIO. тохиргоо (capteurP, GPIO. IN)

pwm = GPIO. PWM (17, 50)

GPIO. тохиргоо (5, GPIO. OUT)

GPIO. тохиргоо (6, GPIO. OUT) GPIO. тохиргоо (13, GPIO. OUT) GPIO. тохиргоо (19, GPIO. OUT) GPIO. тохиргоо (20, GPIO. OUT) GPIO. тохиргоо (21, GPIO. OUT) GPIO. тохиргоо (26, GPIO. OUT)

Триг = 23

Цуурай = 24

GPIO. тохиргоо (Trig, GPIO. OUT)

GPIO. тохиргоо (Цуурай, GPIO. IN)

GPIO.setwarnings (Худал)

GPIO.output (5, Худал)

GPIO.output (6, False) GPIO.output (13, False) GPIO.output (19, False) GPIO.output (20, False) GPIO.output (21, False) GPIO.output (26, False)

GPIO.output (Trig, False)

timeset = time.time ()

зай = 100 санах ой = 0 цаг. унтах (2) pwm. эхлэх (12.5)

үнэн байхад:

timetac = time.time () хэрэв GPIO.input (capteurP) ба timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) memory = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () time.sleep (0.5) if timetac-timeset> 15 or memory> 0.4: if memory> 0.4: pwm. ChangeDutyCycle (2.5) time.sleep (1) in x for range (0, 1): # GPIO.output (Trig), Үнэн) цаг. Унтах (0.01) GPIO. гаралт (Trig, False)

GPIO.input (Echo) == 0 ба timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()

GPIO.input (Echo) == 1 байхад:

finImpulsion = time.time () хэрэв timetac-timeset <17: зай1 = дугуй ((finImpulsion-debutImpulsion) * 340 * 100/2, 1) зай2 = зай бол (зай1-зай2) <1 ба (зай2-зай1) 0.4: dis = дугуй ((60-зайн)*5/6, 1) нээлттэй ('capteur.csv', 'w') csvfile байдлаар: capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime.datetime.now (), '%Y-%m-%d%H:%M:%S') хэвлэх ('Цаг: {0} Quantitee: {1}'. формат (time_str, dis)) capteurwriter. зохиолч ([time_str, dis]) санах ой = -0.1 хэрэв зай <52.5: GPIO.output (5, True) өөр: GPIO.output (5, False) <45: GPIO.output (6, True) өөр: GPIO.output (6, False) if <37.5: GPIO.output (13, True) else: GPIO.output (13, False) if <30: GPIO.output (19, True) else: GPIO.output (19, False) if distance <22.5: GPIO.output (20, True) else: GPIO.output (20, False) if <15: GPIO.output (21, True) else: GPIO.output (21, False) хэрэв зай <7.5: GPIO.output (26, True) өөр: GPIO.output (26, False)

Энд csvcontrol.py код байна. Үүсгэсэн ".json" файлыг main.py -ийн ижил директорт байрлуулахаа бүү мартаарай. ". Json" файлыг google API ашиглан үүсгэсэн болно. Зураг дээр дэлгэцийн агшинг үзэх боломжтой.

импорт datetimeimport цаг импорт csv импорт gspread

oauth2client.service_account импортлохоос ServiceAccountCredentials

цаг импортлох нойр импортлох

timec2 = 'хэхэ'

while True: time.sleep (5) loc = ('capteur.csv') with open (loc) with csvfile: readCSV = csv.reader (csvfile, delimiter = ',') in readCSV: print (мөр [0)]) timec = мөр [0] хэвлэх (мөр [1]) зай = эгнээ [1] зай = хөвөх (str (зай)) хэрэв timec2! = timec: timec2 = timec хэвлэх ('Цаг: {0} Quantitee: { 1} 'формат (цаг, зай))

ХАМРАХ ХҮРЭЭ = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ жолоодох "]

итгэмжлэл = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json', SCOPES) gc = gspread.authorize (итгэмжлэлүүд) wks = gc.open ("график"). хуудас1 wks = wks.append_row ((timec, зай))

Зөвлөмж болгож буй: