Satura rādītājs:

IoT ārstniecības līdzeklis mājdzīvniekiem: 7 soļi (ar attēliem)
IoT ārstniecības līdzeklis mājdzīvniekiem: 7 soļi (ar attēliem)

Video: IoT ārstniecības līdzeklis mājdzīvniekiem: 7 soļi (ar attēliem)

Video: IoT ārstniecības līdzeklis mājdzīvniekiem: 7 soļi (ar attēliem)
Video: Exhibition Tour with RIBOCA2 Chief Curator Rebecca Lamarche-Vadel 2024, Novembris
Anonim
Image
Image
IoT ārstniecības līdzeklis mājdzīvniekiem
IoT ārstniecības līdzeklis mājdzīvniekiem

Man ir divi kaķi, un apmēram 3 reizes dienā viņiem jādāvina kārumi kļuva par lielu traucēkli. Viņi paskatījās uz mani ar savām mīļajām sejām un intensīvajiem skatieniem, tad skrēja pie kastes, kas bija pilna ar kaķu zaļumiem, ņaudēja un lūdza viņus. Es biju nolēmis, ka pietiek. Vairs nevajag celties, lai dotu kaķim pāris kārumus. Tagad bija pienācis laiks gardumu izsniegšanas mašīnai, jo, kā saka: "Programmētāji pastāv, lai izgatavotu sarežģītas lietas, lai mazāk veiktu vienkāršas lietas."

DFRobot sponsorēja šo projektu.

Detaļu saraksts:

  • DFRobot Raspberry Pi 3
  • DFRobot Raspberry Pi kameras modulis
  • DFRobot pakāpju motors ar planētu pārnesumu
  • I2C LCD 16x2
  • Barrel Jack uz termināli
  • DRV8825 pakāpju motora vadītājs
  • Kondensators 100 µF
  • Arduino UNO un Genuino UNO
  • Jumper vadi (vispārīgi)

1. darbība. Dizaina izveide

Dizaina veidošana
Dizaina veidošana

Vispirms bija jāizvēlas, kā kontrolēt savu nesen domāto mašīnu. Bluetooth būtu bijis pārāk īss darbības diapazons, tikai 30 pēdas bez šķēršļiem. Ņemot vērā šo informāciju, es izvēlējos izmantot WiFi. Bet tagad, kā es varu izmantot WiFi, lai kontrolētu mašīnu? Raspberry Pi 3 ir iebūvētas WiFi iespējas, ļaujot man izmantot Flask tīmekļa lapas mitināšanai. Nākamais bija iežogojuma tēma un kārumu izsniegšana. Es izlēmu par rotējošu riteņu dizainu, kur kārumi sadalīsies nelielās daļās, tiks pagriezti apkārt, un tad kārumi nokritīs uz rampas un nonāks mašīnas priekšpusē.

2. darbība. Fusion 360 modeļa izgatavošana

Fusion 360 modeļa izgatavošana
Fusion 360 modeļa izgatavošana
Fusion 360 modeļa izgatavošana
Fusion 360 modeļa izgatavošana
Fusion 360 modeļa izgatavošana
Fusion 360 modeļa izgatavošana

Es sāku, izveidojot kāruma trauka bāzes modeli. Kārumi iekrīt mini bunkurā, kur tos paņem rotējošā ritenī.

Tālāk es pievienoju Raspberry Pi 3 Fusion dizainam kopā ar citu elektroniku, ieskaitot LCD un Raspberry Pi kameras moduli. Es arī izveidoju piltuvi, kurā varēja uzglabāt papildu kārumus.

Kārumu dozatora sienas paredzēts izgriezt no 1/4 collu saplākšņa uz CNC maršrutētāja. Tam ir 7 gabali, 4 sienas, grīda un augšējais un vāka gabals, ko var atvērt un aizvērt, lai atklātu kārumus.

Visbeidzot, es izveidoju "iedomātu" rokturi, lai atvērtu vāku.

3. darbība: Pi iestatīšana

DFRobot sazinājās ar mani un nosūtīja savu Raspberry Pi 3 un Raspberry Pi kameras moduli. Tāpēc pēc kastīšu atvēršanas es varēju sākt darbu, iestatot SD karti. Vispirms es devos uz Raspberry Pi lejupielādes lapu un lejupielādēju jaunāko Raspbian versiju. Pēc tam es izvilku failu un ievietoju ērtā direktorijā. Jūs nevarat vienkārši kopēt/ielīmēt.img failu SD kartē, tas ir "jāsadedzina" kartē. Jūs varat lejupielādēt dedzinošu utilītu, piemēram, Etcher.io, lai viegli pārsūtītu OS attēlu. Pēc tam, kad.img fails bija manā SD kartē, es ievietoju to Raspberry Pi un iedevu tai jaudu. Pēc apmēram 50 sekundēm es atvienoju vadu un izņemu SD karti. Tālāk es ievietoju SD karti atpakaļ savā datorā un devos uz sāknēšanas direktoriju. Es atvēru Notepad un saglabāju to kā tukšu failu ar nosaukumu "ssh" bez paplašinājuma. Bija arī fails, kuru es pievienoju ar nosaukumu "wpa_supplicant.conf" un ievietoju tajā šo tekstu: network = {ssid = psk =} Tad es saglabāju un izņemu karti un ievietoju to atpakaļ Raspberry Pi 3. Tagad tam vajadzētu ļaut SSH izmantošana un savienojums ar WiFi.

4. solis: programmatūras instalēšana

Ir vairākas dažādas programmatūras, kas var straumēt video, piemēram, VLC un kustība, bet es nolēmu izmantot mjpeg-streamer zemās latentuma un vienkāršās uzstādīšanas dēļ. Saskaņā ar vietnē sniegtajiem norādījumiem rīkojieties šādi: git clone https://github.com/jacksonliam/mjpg-streamer.git Mapē, pēc tam ierakstiet: sudo apt-get install cmake libjpeg8-dev Lai instalētu nepieciešamās bibliotēkas. Nomainiet direktoriju lejupielādētajā mapē un pēc tam ierakstiet: make Seko: sudo make install Lai apkopotu programmatūru. Visbeidzot ievadiet: export LD_LIBRARY_PATH =. Un, lai to palaistu, ierakstiet:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Jūs varat piekļūt straumei, dodoties uz: https:// The Pi's local ip: 8080/stream. html Lai skatītu straumi.

5. darbība: tīmekļa servera iestatīšana

Lai iekārtu varētu ārēji kontrolēt ar WiFi, man bija nepieciešams tīmekļa serveris. Tīmekļa serveris pamatā apkalpo tīmekļa lapas pēc pieprasījuma, parasti pārlūkprogrammā. Es gribēju kaut ko ātri un vienkārši uzstādīt un lietot, noņemot Apache no galda. Es arī vēlējos sasaistīt tīmekļa serveri ar Python, lai es varētu kontrolēt Arduino Uno ar PySerial. Šis meklējums galu galā noveda mani līdz kolbai - jaukai Python bibliotēkai, kas lietotājiem ļaus ātri izveidot tīmekļa serveri. Pilns kods ir pievienots šai projekta lapai. Python skripts pamatā izveido 2 tīmekļa lapas, vienu, kas tiek mitināta saknes direktorijā “/”, bet otru - “/dispense”. Indeksa lapā ir HTML veidlapa, kas pēc iesniegšanas nosūta nosūtīšanas pieprasījumu uz izsniegšanas lapu. Izvadīšanas lapa pēc tam pārbauda, vai ziņas vērtība ir pareiza, un vai tas ir ziņojums “D / n” tiek nosūtīts sērijveidā uz Arduino Uno.

6. darbība: IO kontrole

IO kontrole
IO kontrole
IO kontrole
IO kontrole
IO kontrole
IO kontrole
IO kontrole
IO kontrole

Es nolēmu izmantot DRV8825, lai vadītu manu pakāpju motoru, galvenokārt tāpēc, ka tam vajadzīgas tikai 2 IO tapas, kā arī regulējams strāvas ierobežojums. Es mēģināju izmantot L293D, bet tas nevarēja izturēt pakāpju motora slodzi. DRV8825 tiek kontrolēts, pulsējot STEP tapu caur PWM, un virzienu kontrolē, pavelkot DIR tapu augstu vai zemu. Pakāpju motoram, kuru izmantoju, ir 1,2 ampēri, tāpēc es noregulēju VREF spriegumu līdz.6V. Nākamais bija LCD. Es gribēju izmantot I2C, lai samazinātu nepieciešamo IO daudzumu un vienkāršotu kodu. Lai instalētu bibliotēku, vienkārši atrodiet "LiquidCrystal_I2C" un instalējiet to. Visbeidzot, Arduino Uno pārbauda, vai sērijas buferī nav jauna informācija un vai tā atbilst “D”. Ja tā notiek, Uno liek soļu motoram pārvietoties par 180 grādiem un pēc tam -72 grādiem, lai novērstu kārumu iekļūšanu.

Ieteicams: