Სარჩევი:
- ნაბიჯი 1: SmartBin აღჭურვილობა
- ნაბიჯი 2: ჟოლოს ყუთისა და LED ბარის დამზადება
- ნაბიჯი 3: სახურავის ნაწილი
- ნაბიჯი 4: პროგრამული უზრუნველყოფის ნაწილი და მონაცემთა მოპოვება
ვიდეო: SmartBin: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ამ პროექტის მთავარი მიზანია შექმნას ელექტრონული მოწყობილობა, რომელიც იყენებს მინიმუმ ერთ Raspberry Pi- ს. გუნდი შედგება 5 მომავალი მექანიკოსის და ერთი ავტომატიზაციის ინჟინრისგან. ჩვენი პროექტი შედგება ნაგვის ურნის დამზადებისაგან, რომელიც იხსნება და იხურება ავტომატურად, რაც გამოწვეულია ფეხის მოძრაობით მოძრაობის დეტექტორის ქვეშ, რომელიც მდებარეობს ცენტრში ნაგვის ურნის წინა მხარეს. Wifi USB ჯოხი გამოიყენება ვებ – გვერდზე მონაცემების გასაგზავნად. ამ ურნას ჰქვია "The SmartBin". იუმორისტული ვიდეო წარმოგიდგენთ ჩვენს ინოვაციურ SmartBin- ს.
ამ პროექტისა და ამ შესანიშნავი SmartBin– ის განსახორციელებლად რამდენიმე ინსტრუმენტი იყო საჭირო:
- მეტრი
- ძლიერი წებო
- წებოვანი ლენტი
- ხის ხერხი
- ხრახნიანი
- საბურღი მანქანა
- დამჭერი
- Დანა
ნაბიჯი 1: SmartBin აღჭურვილობა
SmartBin შედგება მწვანე, ნარინჯისფერი და წითელი LED ნათურებისგან, რომლებიც მოთავსებულია სანაგვეზე მარცხენა მხარეს, რაც მიუთითებს რამდენად არის შევსებული. ეს შუქები აშკარად ხილული იქნება და გააფრთხილებს მომხმარებელს, როდესაც საჭიროა ნაგვის ჩანთის გამოცვლა. პროგრამირების ენა გამოიყენება პითონი. ურნის შევსების დონე გადაეცემა შემდეგ ვებგვერდს:
აქ არის ელემენტები, რომლებიც გამოყენებულია, მაგრამ თქვენ შეგიძლიათ მარტივად იპოვოთ ალტერნატიული გადაწყვეტა:
- 1 ურნა ("საქანელის საფარი" ურნა)
- 1 სერვომოტორული ნაგვის გასახსნელად
- 1 ჟოლო პი 2
- 2 დენის წყარო (5V მობილური ტელეფონის დამტენი და 6V დენის წყარო) ჟოლოს პიისა და სერვომოტორების მიწოდებისთვის
- 1 ულტრაბგერითი სენსორი ურნის შევსების დონის გასაზომად
- ზოგიერთი LED აჩვენებს შევსების დონეს (4 მწვანე, 2 ნარინჯისფერი და 1 წითელი)
- 1 ულტრაბგერითი მოძრაობის დეტექტორი მოძრაობის გამოსავლენად
- 1 16 გბ SD ბარათი
- ელექტრული რეზისტორები (10.000 Ohms, 2000 Ohms და 1000 Ohms)
- 1 WiFi USB ჯოხი ვებსაიტზე უკაბელო გადაცემის გასააქტიურებლად.
- 1 პური და ჟოლოს რამდენიმე კაბელი
წარმოების სავარაუდო ფასია 80 ევრო.
ნაბიჯი 2: ჟოლოს ყუთისა და LED ბარის დამზადება
ჟოლოს ყუთის დასამზადებლად გამოიყენეთ ხის ხერხი. მიამაგრეთ ყუთის ყველა მხარე მოქლონებით, რათა გამოიყურებოდეს სუფთა. როგორც მისი სახელი გვთავაზობს, ამ ყუთში ის იქნება არა მხოლოდ Raspberry Pi, არამედ ასევე იქნება მოძრაობის სენსორი, რომელსაც თქვენ განათავსებთ ბოლოში. ყუთის აშენების შემდეგ, შეღებეთ იგი იმავე ფერით, როგორც ურნა. 3D ბეჭდვის ტექნოლოგია შეიძლება გამოყენებულ იქნას ამ ყუთის შესაქმნელად.
LED ბარის წარმოებისთვის გამოიყენეთ ელექტრული სადინარი, რომელშიც ბურღავთ ხვრელებს, რათა შესაძლებელი იყოს LED ნათურების დაყენება. LED ბარი ასევე უნდა იყოს შეღებილი. როდესაც ყველაფერი მზად არის, დააინსტალირეთ LED- ები სადინარში და გააკეთეთ ელექტრული კავშირი. ყურადღება მიაქციეთ თითოეული LED კაბელის სწორად დანომვლას წებოვანი ლენტით. ეს დაგეხმარებათ თითოეული LED- ის იდენტიფიცირება გაყვანილობის დროს.
დაბოლოს, მიამაგრეთ ყუთი და LED ზოლი თქვენი ურნის წინა მხარეს.
ნაბიჯი 3: სახურავის ნაწილი
ურნის სახურავთან დაკავშირებით, პირველი ნაბიჯი არის სერვომოტორული სახურავის წებო. ბერკეტის გაფართოება უნდა გაკეთდეს ადრე. ბერკეტი მოხვდება გაჩერებას, რომელიც ადრე იყო ხელნაკეთი. მიამაგრეთ ხრახნიანი ყუთი სახურავზე და გააკეთეთ ხვრელი მასში, რათა დაიჭიროთ ულტრაბგერითი სენსორი სწორ მდგომარეობაში. დარწმუნდით, რომ სწორად მიამაგრეთ კაბელები სახურავზე ლენტით.
ნაბიჯი 4: პროგრამული უზრუნველყოფის ნაწილი და მონაცემთა მოპოვება
რაც შეეხება პროგრამულ ნაწილს, ჩვენ გამოვიყენეთ პითონის პროგრამირების ენა. პროგრამა ინახება SD ბარათში, რომელსაც გაუშვებს Raspberry Pi, როდესაც ის ჩართულია. გაყვანილობის სქემა ხელმისაწვდომია ზემოთ. Gpio ქინძისთავების სურათი ხელმისაწვდომია ჟოლოს ყველა ტიპისთვის ქვემოთ მოცემულ ბმულზე:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
შესაძლებელია ულტრაბგერითი სენსორის გამოყენება მოძრაობის დეტექტორის შესაცვლელად, თქვენ უბრალოდ უნდა შექმნათ "თუ მარყუჟი" კოდში.
როგორც ზემოთ აღვნიშნეთ, მონაცემები, თუ რა დონეზეა სავსე ურნა გადაეცემა wix.com– ზე შექმნილ ვებგვერდს. ამ ვებგვერდზე შეგიძლიათ იპოვოთ სხვადასხვა ჩანართი, სადაც თავმოყრილია გუნდის წევრები, აპარატურისა და პროგრამული უზრუნველყოფის პრეზენტაცია… საინტერესო ჩანართი არის „მონაცემთა ბაზის“ჩანართი, რომელიც აგროვებს ინფორმაციას უშუალოდ SmartBin– დან ნაგვის რაოდენობის შესახებ და ქმნის გრაფიკს მონაცემებით რა გრაფიკი აჩვენებს შევსების დონის ევოლუციას. შესაძლებელია ვებგვერდიდან მონაცემების ნახვა ან ჩამოტვირთვა. ქვემოთ მოყვანილი ბმული არის ვებგვერდი, რომელიც ჩვენ გამოვიყენეთ და გაჩვენებთ როგორ კითხულობთ და წერთ პითონთან ერთად Google ფურცლებზე:
www.makeuseof.com/tag/read-write-google-sh…
რაც შეეხება კოდის "autorun ნაწილს", ჩაწერეთ ტერმინალში: sudo nano/etc/xdg/lxsession/LXDE-pi/autostart
შემდეგ, სკრიპტის ბოლოს, რომელიც ახლახანს გაიხსნა, ჩაწერეთ ეს ორი კოდის ხაზი: python /home/pi/main.py & python /home/pi/csvcontrol.py &
Aurorun- ის შესანახად დააჭირეთ: C trl + O შემდეგ, დააჭირეთ: Enter შემდეგ, დააჭირეთ: C trl + X
ჩაწერეთ როგორც ბოლო კოდის ხაზი: sudo reboot
თქვენ ასევე შეგიძლიათ ჩამოტვირთოთ დანართი, რომელიც არის პითონის სრული კოდი, რომელიც გამოიყენება პროექტისათვის. ორივე კოდი მუშაობს ერთდროულად!
აქ არის main.py კოდი:
იმპორტი RPi. GPIO როგორც GPIOimport თარიღი დრო იმპორტი დრო იმპორტი csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (ყალბი)
capteurP = 7
სერვო = 17
GPIO.setup (servo, GPIO. OUT)
GPIO.setup (capteurP, GPIO. IN)
pwm = GPIO. PWM (17, 50)
GPIO.setup (5, GPIO. OUT)
GPIO.setup (6, GPIO. OUT) GPIO.setup (13, GPIO. OUT) GPIO.setup (19, GPIO. OUT) GPIO.setup (20, GPIO. OUT) GPIO.setup (21, GPIO. OUT) GPIO.setup (26, GPIO. OUT)
გააქტიურება = 23
ექო = 24
GPIO.setup (Trig, GPIO. OUT)
GPIO.setup (ექო, 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 = დრო. დრო ()
მანძილი = 100 მეხსიერება = 0 დრო. ძილი (2) pwm. დაწყება (12.5)
მართალია:
timetac = time.time () თუ GPIO.input (capteurP) და timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) დრო. ძილი (0.2) მეხსიერება = -0.5 pwm. ChangeDutyCycle (0) timetac = დრო. დრო () დრო. ძილი (0.5) თუ timetac-timeset> 15 ან მეხსიერება> 0.4: თუ მეხსიერება> 0.4: pwm. ChangeDutyCycle (2.5) დრო. ძილი (1) x დიაპაზონში (0, 1): # GPIO.output (Trig, ჭეშმარიტი) დრო. ძილი (0.01) GPIO. გამომავალი (გააქტიურება, ყალბი)
ხოლო GPIO.input (Echo) == 0 და timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()
ხოლო GPIO.input (ექო) == 1:
finImpulsion = დრო. დრო () თუ timetac-timeset <17: distance1 = რაუნდი ((finImpulsion-debutImpulsion) * 340 * 100 /2, 1) distance2 = მანძილი if (distance1-distance2) <1 და (distance2-distance1) 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} რაოდენობრივი: {1}'. ფორმატი (time_str, dis)) capteurwriter. authorow ([time_str, dis]) მეხსიერება = -0.1 თუ მანძილი <52.5: GPIO.output (5, True) სხვა: GPIO.output (5, False) თუ მანძილი <45: GPIO.output (6, True) სხვა: GPIO.output (6, False) თუ მანძილი <37.5: GPIO.output (13, True) სხვა: GPIO.output (13, false) თუ მანძილი <30: GPIO.output (19, True) სხვა: GPIO.output (19, მცდარი) თუ მანძილი <22.5: GPIO.output (20, True) სხვა: GPIO.output (20, False) თუ მანძილი <15: GPIO.output (21, True) სხვა: 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 = 'lol'
ხოლო True: time.sleep (5) loc = ('capteur.csv') with open (loc) as csvfile: readCSV = csv.reader (csvfile, delimiter = ',') for read row CSV: print (row [0]) timec = row [0] print (row [1]) distance = row [1] distance = float (str (distance)) if timec2! = timec: timec2 = timec print ('Time: {0} Quantitee: { 1} '. ფორმატი (დრო, მანძილი))
SCOPES = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ მართე "]
რწმუნებათა სიგელები = ServiceAccountCredentials.fr_json_keyfile_name ('client_secret.json', SCOPES) gc = gspread.authorize (credentials) wks = gc.open ("graph"). sheet1 wks = wks.append_row ((timec, distance))
გირჩევთ:
ნახევარი ნაბიჯი: 5 ნაბიჯი (სურათებით)
სემინარი: IntroduçãoNeste projeto, você construirá um an sistema de semáforos: არსებობს 3 LED ნათურები სხვადასხვა ბირთვით (verde, amarelo e vermelho) para imitar os semáforos dos carros; არსებობს 2 LED ნათურები სხვადასხვა ბირთვით (verde და vermelho) იმისთვის, რომ გააკეთოთ
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი!: 6 ნაბიჯი
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი! შინაური ცხოველების მქონე ადამიანებს, ალბათ, იგივე პრობლემა ჰქონდათ, როგორც მე: შვებულება და დავიწყება. მე მუდმივად მავიწყდებოდა ჩემი თევზის გამოკვება და ყოველთვის ვცდილობდი ასე გამეკეთებინა სანამ ის წავიდოდა
აკუსტიკური ლევიტაცია Arduino Uno– ით ეტაპობრივად (8 ნაბიჯი): 8 ნაბიჯი
აკუსტიკური ლევიტაცია Arduino Uno– სთან ერთად ეტაპობრივად (8 საფეხური): ულტრაბგერითი ხმის გადამცემები L298N Dc მდედრობითი ადაპტერი დენის წყაროს მამაკაცის dc pin Arduino UNOBreadboard და ანალოგური პორტები კოდის გადასაყვანად (C ++)
ნაბიჯი: 4 ნაბიჯი
聲納: 改作: https: //aboutsciences.com/blog/arduino-radar-using … 我 在 原本 聲納 的 ar ar ar ar ar: arduino uno, 感測器, 馬達, 喇叭: 掃描 到 物品 加速 並 傳 述 cm cm cm cm cm cm cm 10 სმ 時 喇叭 會
SmartBin: 8 ნაბიჯი
SmartBin: Este é um projeto para um sistema inteligente de coletas, no qual os caminh õ es de lixo Recebem dados das lixeiras, identificando და quantidade de lixo presente em cada uma delas, e uma rota de coleta tra ç ada, com base nas nasa