Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Ok, nu vorbește, nu este negru și nu are AI. Dar are acele LED-uri roșii fantezie în față.
Construiesc un robot controlabil WiFi care constă dintr-un Raspberry Pi cu adaptor WiFi și un Arduino Uno. Puteți să SSH în Raspberry Pi și să controlați Arduino cu un script Python Tkinter peste serial. În afară de conducere, puteți controla și luminile din față / spate, puteți semnaliza stânga / dreapta și puteți aprinde acele LED-uri cool Knight Rider!
Pasul 1: Ce este pentru prânz? Instrumente și materiale AKA
O mulțime de materiale sunt disponibile pe BangGood.com. Sunt ieftini și au aproape totul. Restul le puteți găsi pe Ebay și unele în magazinul dvs. local de hardware.
Materiale:
-
Raspberry Pi 2 / B +
- Card micro SD de 8 GB (sau mai mult)
- cablu micro USB
- Adaptor WiFi
- Caz
- Arduino Uno
- Baterie de 9v cu clemă pentru Arduino
- Un lunchbo mișto
- Powerbank USB 5v (12000mAh)
- Panou cu suficiente fire (de la bărbat la bărbat și de la femeie la mascul)
- LED-uri de 5 mm (4 albe, 8 roșii, 4 portocalii)
- Rezistoare 10x 220ohm
- 2x micro servo TowerPro 9g (modificat pentru rotație continuă)
- 4x roți robot 42mm
- Rola de 24 mm
- Bandă cu două fețe
Instrumente:
- Pistol cu lipici fierbinte
- super-lipici
- Şurubelniţă
Important: am folosit servo modificat pentru roți. De asemenea, puteți cumpăra motoare normale, dar va trebui să modificați codul Arduino.
Pasul 2: Pregătirea prânzului
Așa că a trebuit să văd „roțile” false pe care se bazează cutia de prânz.
După aceea am adăugat servo-ul și roțile de pe cutia de prânz (am lipit la cald roțile de pe servo). Am folosit bastoane de gheață pentru că erau perfecte pentru a sta pe servo. După aceea am adăugat powerbank-ul. În partea de sus a powerbank-ului am adăugat 2 bețișoare de gheață cu o ruletă (super-lipit rotița pe bețe de gheață). Pe spatele powerbank-ului vine Arduino Uno. Pe partea de sus a powerbank-ului vine Raspberry Pi (într-o carcasă) și pe deasupra panoul de măsurare. Am fixat totul cu bandă dublă. Ultima dată am înșurubat 2 roți false ale robotului din față.
Pasul 3: Montarea LED-urilor
Am făcut găuri de 5 mm oriunde doream să amplasez LED-uri. LED-urile pe care le-am folosit au un diametru de 5 mm, așa că s-au potrivit perfect! Obisnuiam:
- 2 roșu pentru luminile din spate
- 2 alb pentru luminile de mers înapoi
- 6 roșu pentru LED-urile Knight Rider
- 2 albe pentru luminile din față
- 4 portocalii pentru luminile de semnalizare.
Pasul 4: Cablarea
Ei bine, cea mai grea parte a proiectului a fost montarea cablajului în interiorul cutiei de prânz. Există o mulțime de fire, în special pentru LED-uri. Pentru LED-uri am folosit fire de la masculin la feminin, astfel nu trebuie să lipiți nimic. În rest am folosit bărbat cu bărbat.
Raspberry Pi și Arduino sunt conectate prin USB. Am făcut un exemplu Fritzing și am făcut tot posibilul ca să fie cât mai clar posibil.
Pasul 5: Pregătirea Raspberry Pi
Pentru oricine este puțin familiarizat cu Raspberry Pi și Linux, aceasta ar trebui să fie o liniște de tort. Am folosit Raspian pentru a alimenta Pi. Are python3 cu modulele tkinter și pyserial preinstalate (avem nevoie de asta pentru a controla Arduino)
- Accesați site-ul oficial Raspberry Pi și descărcați cel mai recent Raspbian.
- Descărcați cel mai recent Raspbian micro SD (există un ghid de instalare pe site-ul de descărcare).
- Conectați un cablu de internet și un adaptor WiFi și alimentați Pi.
Acum trebuie să configurăm Pi-ul pentru a se conecta automat pe WiFi atunci când este în modul fără cap.
-
Aflați adresa IP a Raspberry Pi cu una dintre aceste metode.
- Nmap, (acest lucru funcționează cel mai bine pe Linux).
- Conectați-vă la router pentru a vedea dispozitivele conectate.
- Folosiți o aplicație pentru smartphone precum „Fing” pentru a vă scana rețeaua pentru dispozitive conectate.
- Metodă alternativă: conectați-vă Pi la un monitor și tastatură și utilizați comanda ifconfig pentru a vă arăta adresa IP.
- Dacă sunteți pe Linux, puteți utiliza un terminal pentru SSH în pi, dacă pe Windows ar trebui să descărcați chit.
- Odată conectat și conectat (nume de utilizator: parolă pi: zmeură). introduceți următoarele
sudo nano / etc / network / interfaces
Ștergeți liniile existente și lipiți următoarele linii în fișier (înlocuiți SSID cu propriul dvs. SSID și înlocuiți parola cu parola WiFi, păstrați ghilimelele!)
auto lo
iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "SSID" wpa-psk "password"
Reporniți Raspberry Pi și, sperăm, se va conecta automat la rețeaua dvs. WiFi (amintiți-vă că adresa IP se va schimba odată ce sunteți conectat prin WiFi în loc de cablu)
Pasul 6: Codificarea
Puteți obține fișierele de pe github:
github.com/InfiniteFor/KnightRiderRobot
Încărcați fișierul Wifi_BOT.ino pe Arduino
- conectați Arduino la computer / laptop.
- deschideți fișierul WiFi_BOT.ino cu software-ul oficial Arduino și faceți clic pe încărcare.
Copiați scriptul control.py în Raspberry Pi.
- Deschideți control.py cu un editor de text.
- SSH în tine pi și tastează:
nano control.py
Treceți codul din control.py în scriptul Python nou creat și salvați-l
Pasul 7: redirecționare X11 pentru telecomandă
Trebuie să redirecționați X11 pentru ca scriptul Python să funcționeze de pe laptop / PC. Acest lucru se datorează faptului că o sesiune SSH normală nu redirecționează X11 în mod implicit.
Când sunteți pe Linux, acest lucru este foarte simplu. Doar aplicați -X sau -Y (oricare dintre acestea funcționează) în linia de comandă. De exemplu:
ssh -X pi @
Când este pe Windows, trebuie să finalizați o vizualizare, alți pași. Pe lângă chit, trebuie să descărcați și xming. Există un ghid foarte bun despre cum să utilizați xming cu chit.
Pasul 8: ora prânzului
- Porniți Arduino (baterie de 9 v) și Raspberry Pi (banc de alimentare).
- Așteptați pornirea Raspberry Pi.
- SSH în Raspberry Pi (nu uitați să redirecționați X11) și introduceți:
python3 control.py
Bucurați-vă!
Pe lângă butoane, puteți apăsa și tastele de pe tastatură. Acestea vor fi trimise instantaneu către Arduino.
Idei viitoare:
Am avut atât de multă inspirație pentru acest proiect, dar nu le-am putut face pe toate. Iată deci o scurtă listă cu alte lucruri pe care le-ați putea face:
- Conectați o cameră la Raspberry Pi și urmăriți fluxul de pe o pagină web.
- În loc de un script tkinter Python, puteți crea o pagină http pe care o puteți accesa pentru a controla robotul. Puteți afișa chiar feedul camerei în aceeași pagină! (nu este necesară redirecționarea X11 pentru această metodă)
- Cu port-forwarding vă puteți controla robotul de oriunde din lume!
- În loc să conectați Pi la rețeaua dvs. de acasă, puteți crea un hotspot pe Pi. În acest fel, nu vă limitați la rețeaua de acasă.
Vă rog să-mi spuneți dacă vă place acest proiect. De asemenea, nu ezitați să puneți orice întrebări aveți!
Locul doi în concursul Raspberry Pi 2016