Агуулгын хүснэгт:
- Алхам 1: SmartBin тоног төхөөрөмж
- Алхам 2: Бөөрөлзгөнө хайрцаг болон LED баар үйлдвэрлэх
- Алхам 3: Тагны хэсэг
- Алхам 4: Програм хангамжийн хэсэг ба мэдээлэл олж авах
Видео: SmartBin: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Энэхүү төслийн гол зорилго нь дор хаяж нэг Raspberry Pi ашигладаг электрон төхөөрөмж бий болгох явдал юм. Баг нь ирээдүйн 5 механик инженер, нэг автоматжуулалтын инженерээс бүрдэнэ. Манай төсөл бол хогийн савны урд талд байрлах хөдөлгөөн мэдрэгчийн доорх хөлийн хөдөлгөөнөөр автоматаар онгойдог, хаагддаг хогийн сав хийхээс бүрдэнэ. Wifi USB зөөгчийг вэбсайт руу мэдээлэл дамжуулахад ашигладаг. Энэ хогийн савыг "SmartBin" гэж нэрлэдэг. Дээрх хошин видео нь бидний шинэлэг SmartBin -ийг танилцуулж байна.
Энэхүү гайхалтай SmartBin төслийг хэрэгжүүлэхийн тулд хэд хэдэн хэрэгсэл шаардлагатай байсан.
- Нэг метр
- Хүчтэй цавуу
- Наалдамхай тууз
- Модон хөрөө
- Халив
- Өрөмдлөгийн машин
- Хавчаар
- Хутга
Алхам 1: 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 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, зай))
Зөвлөмж болгож буй:
Ухаалаг мотоциклийн HUD прототип (алхам алхмаар навигаци хийх гэх мэт): 9 алхам
Ухаалаг мотоциклийн HUD прототип (ээлжлэн навигаци хийх гэх мэт): Сайн байна уу! Энэхүү зааварчилгаа нь миний мотоциклийн дуулга дээр суурилуулах зориулалттай HUD (Heads-Up Display) платформыг хэрхэн бүтээж, бүтээсэн тухай түүх юм. Үүнийг " газрын зураг " уралдааны хүрээнд бичсэн болно. Харамсалтай нь би үүнийг бүрэн дуусгаж чадаагүй
Arduino машины урвуу зогсоолын дохиоллын систем - Алхам алхамаар: 4 алхам
Arduino машины урвуу зогсоолын дохиоллын систем | Алхам алхамаар: Энэ төсөлд би Arduino UNO болон HC-SR04 хэт авианы мэдрэгч ашиглан Arduino автомашины урвуу зогсоолын мэдрэгчийн энгийн хэлхээг зохион бүтээнэ. Энэхүү Arduino дээр суурилсан Автомашины Урвуу дохиоллын системийг бие даасан навигаци, роботын хүрээ болон бусад хүрээний зориулалтаар ашиглаж болно
Arduino Uno ашиглан акустик левитаци Алхам алхам (8 алхам): 8 алхам
Arduino Uno-тай акустик Levitation Алхам алхамаар (8 алхам): хэт авианы дууны дамжуулагч L298N Dc эмэгтэй адаптерийн эрэгтэй тэжээлийн тэжээлийн хангамж Arduino UNOBreadboard Энэ нь хэрхэн ажилладаг вэ: Нэгдүгээрт, та кодыг Arduino Uno-д байршуулдаг (энэ нь дижитал төхөөрөмжөөр тоноглогдсон микроконтроллер юм. кодыг хөрвүүлэх аналог портууд (C ++)
DIY Arduino робот гар, Алхам алхам: 9 алхам
DIY Arduino робот гар, алхам алхмаар: Эдгээр заавар нь танд робот гарыг хэрхэн яаж хийхийг зааж өгөх болно
SmartBin: 8 алхам
SmartBin: Este é ямар ч шаардлага хангагдаагүй, ямар ч шаардлага хангаагүй, ямар ч шалгуур үзүүлээгүй, хэн нэгэн нь тодорхой хэмжээгээр танилцуулж өгсөн болно