
Iako se radi o dvije različite platformeIstina je da obje tehnologije Izvrsne su opcije za razviti bilo koji DIY projekt. Ovi uređaji dijele mnoge pozitivne aspekte; oni su od niska cijena i jednostavno programiranje.
Ali nema smisla uvijek ih postavljati na suprotne strane. To je zato što se mogu koristiti zajedno. što optimizira funkcioniranje oba, koristeći najbolje aspekte svakog od njih.
Dok arduino ploče y Malina Uz malo iskustva, prilično ih je lako koristitiZa njihovo zajedničko korištenje potreban je vodič poput onog koji ćemo vam ponuditi u nastavku.
Koje su prednosti kombiniranja Arduina i Raspberry Pi-ja?
Prednosti kombiniranja Arduina s Raspberry Pijem su brojne. Potrebno je samo navesti pozitivne aspekte svakog od njih, budući da se međusobno ne suprotstavljaju.
Što vam pokazujemo u nastavku:
- Dvije karte Dijele prenosivost njihovih dimenzija. To jest, puno su manji i lakši od bilo kojeg prijenosnog računala.
- Samo ako Arduino Ima otvoreni hardver, Oba projekta imaju softver otvorenog koda kontrolirati ploče.
- Kombiniranjem obojega možemo dobiti veću računalnu snagu koju nude mikroračunala Malina, s jednim velika svestranost za upotrebe kao što su mikrokontroleri Arduino.
- Korištenjem obje platforme zajedno, Moguće je bez laptopa ili radnu površinu. To je zato što trenutne Raspberry Pi ploče imaju dovoljno priključaka za periferne uređaje poput tipkovnica i monitora. Također nude ugrađenu Wi-Fi povezivost.
- Još jedna prednost korištenja obje ploče za kuhanje na komplementaran način je broj dostupnih alata u smislu programskih kodova. To je zbog snažne podrške i članova zajednice koji ih koriste zajedno. Osim toga, postoje brojni pribor i projekti koji su već stvoreni za vježbanje i razvoj vlastitih ideja.
- Sa svoje strane, Arduino ploče omogućuju bolju i raznovrsniju upotrebu senzora i čipovaAli, prije svega, ako tek počinjete u svijetu programiranja, Arduino IDE Ovo je odličan prvi korak, jer je jednostavniji za korištenje nego Linux.
Naučite korak po korak kako instalirati Arduino na Raspberry Pi od nule
Glavne stavke koje će vam trebati za Počnite instalirati Arduino IDE u a Raspberry Pi ploča To su upravo oni. Ali također je potrebno imati USB podatkovni kabel a Internetska vezaTreba imati na umu da se potonji može zamijeniti instalacijskim programom za Arduino koji se preuzima na vanjski uređaj za pohranu.
Potreban softver možete pronaći na službenoj Arduino web stranici, stoga ćete morati slijediti ove korake:
- Otvorite preglednik i upišite URL u adresnu traku.
https://www.arduino.cc/en/softwareZatim potražite opcija preuzimanja za verziju Linux operativnog sustava na temelju procesora ARM 32-bitni. - Nakon što je programsko okruženje preuzetoMorat ćete spojiti obje ploče putem USB kabela i učiniti isto s napajanjima.
- zatim, već iz Raspberry Pi sučelja Raspakirajte datoteku u novu mapu.
- Pokreneš datoteku u terminalu "install.sh".
U slučaju korištenja udaljeno povezivanje s Raspberry Pi-jemOpćenito, ako nemate zaseban monitor, ploču trebate spojiti putem SSH terminal ili s VNC preglednikom.
U oba slučaja, izvršavate sljedeće naredbe za ažuriranje popisa programa u repozitoriju:
sudo apt-get updatesudo apt-get upgrade
Zatim instalirajte Arduino pomoću naredbe i pričekajte da se proces završi. Za to ćete morati upisati:
sudo apt-get install arduino arduino-core
Nakon što to učinite, softver možete pronaći putem izbornika "Programiranje". Vrijeme je da provjerite je li instalacija i softvera i hardvera bili ispravni.
Za to ćete koristiti naredbu:
dmesg | grep ttyACM
Ako je tako, morat ćete dobiti odgovor:
ttyACM0: USB ACM device
Preostaje samo testirati funkcionalnost obje ploče s bilo kojim projektom dostupnim na mreži; na primjer, možete koristiti ove programske kodove za internetsku pristupnu točku:
-apt-get install lshw lshw -C konfiguracija mreže Podržani načini sučelja: IBSS managed AP AP/VLAN WDS monitor mesh point apt-get install hostapd iface wlan0 inet static address 10.0.0.1 netmask 255.255.255.0 DAEMON_CONF="/etc/hostapd/hostapd.conf" # Prvo konfiguriramo sučelje na kojem ćemo slušati interface=wlan0 # Sučelje na kojem ćemo slušati driver=nl80211 # Upravljački program koji koristi WiFi adapter, može biti drugačiji za svakoga ctrl_interface=/var/run/hostapd ctrl_interface_group=0 # Ova 2 su samo parametri kako bi se hostap daemon pokrenuo. # Sada o važnoj WiFi konfiguraciji ssid=RaspAP # Prvo, SSID ili naziv mreže. To je ono što će drugi uređaji vidjeti kada se pokušaju spojiti. hw_mode=g # Postavljam ovo na bežični G način rada. Ovdje su dostupni A, B i G. channel=8 # Ovo postavlja kanal na kojem je WiFi uključen, valjani kanali su od 1-11 ili 1-14, ovisno o lokaciji. # Sigurnosne postavke Wifija wpa=2 # Ovo postavlja sigurnosne postavke na WPA2 wpa_psk=928519398acf811e96f5dcac68a11d6aa876140599be3dd49612e760a2aaac0e # Gornji redak postavlja wpa lozinku na "raspiwlan", to se dobiva putem naredbe wpa_passphrase. # Međutim, možete postaviti i lozinku kao u retku ispod. #wpa_passphrase=raspiwlan wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP rsn_pairwise=CCMP # Postavio sam ih na WPA-PSK kako bih naznačio da koristimo unaprijed dijeljeni ključ s CCMP enkripcijom. # Inače, hostapd također ima ugrađeni RADIUS poslužitelj koji možemo koristiti za autentifikaciju # Ali to ću ostaviti za drugu objavu. # Ostale postavke beacon_int=100 # Ovo postavlja koliko često će WiFi slati beacon. auth_algs=3 wmm_enabled=1
Popis najboljih Arduino i Raspberry Pi projekata koje biste trebali znati
S ovim projektima postići ćete neovisnost od računala i podići prenosivost na višu razinu, pogledajmo neke od projekata na kojima možete raditi:
Octoprint.org
To je softver otvorenog koda koji se uglavnom koristi za upravljanje 3D printerima. Usput, većina ih je izgrađena na ili bazirana na Arduino pločama. Međutim, skuplji komercijalni strojevi imaju značajke poput daljinskog upravljanja i bežične povezivosti koje osnovniji nemaju. Zato je dodavanje Raspberry Pi ploče u upravljački sustav jedan od najpopularnijih projekata među proizvođačima.
Ovo dopušta Bežično upravljanje ispisom putem webaNadalje, moguće je kontrolirati farmu pisača (više strojeva na jednoj lokaciji) s jednog računala. Raspberry Pi nudi mogućnost spojite web kamere koje prate rad na proizvodnoj linijiKodove i sve potrebne dodatne informacije možete pronaći na službenoj web stranici OctoPrinta.
Nadzorna kamera sa senzorom pokreta
Kućni sigurnosni sustavi obično su vrlo skupi za kupnju. Dodajte tome mjesečne troškove održavanja. Ali Zahvaljujući Arduinu i Raspberry Piju, moguće je stvoriti vlastiti jeftin strujni krug.
Vidjeli smo da je moguće Spajanje web kamere na Raspberry Pi pločuDostupni su i adapteri za istovremeno korištenje nekoliko njih. Ali ovo je vrlo osnovno. Što se događa ako dodate element koji će dodatno poboljšati sigurnosni krug? Na primjer, senzore pokreta spojene na Arduino. Na ovaj način možete odrediti da se određena kamera aktivira kada detektira kretanje na određenom mjestu. Također će poslati upozorenje na vaš mobilni telefon kada niste kod kuće.
Pogledajte ove kodove koje možete vježbati:
rom picamera import PiCamera import time import cv2 # Inicijaliziraj kameru s rezolucijom 640x480 camera = PiCamera() resolution = (640, 480) framerate = 32 rawCapture = PiRGBArray(camera, size=(640, 480)) # Vrijeme čekanja da kamera krene spavati(0.5) # Inicijaliziraj prvi kadar za pražnjenje. # Ovo će nam pomoći da dobijemo pozadinu background = None # Snimamo kadar po kadar s kamere za kadar u camera.capture_continuous(rawCapture, format="bgr", use_video_port=True): # Dobivamo niz u NumPy formatu image = frame.array # Pretvaramo u sive tonove gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # Primjenjujemo zaglađivanje kako bismo uklonili šum gray = cv2.GaussianBlur(gray, (21, 21), 0) # Ako još nismo dobili pozadinu, dobivamo je # To će biti prvi kadar koji dobijemo ako je pozadina None: background = gray # Izračun razlike između pozadine i trenutnog kadra subtraction = cv2.absdiff(background, gray) # Primjenjujemo prag threshold = cv2.threshold(subtraction, 25, 255, cv2.THRESH_BINARY)[1] # Proširujemo threshold kako bismo popunili rupe threshold = cv2.dilate(threshold, None, iterations=2) # Kopiramo prag za detekciju kontura contoursimg = threshold.copy() # Tražimo konture na slici contours, hierarchy = cv2.findContours(contoursimg,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) # Prolazimo kroz sve pronađene konture za c u konturama: # Uklanjamo najmanje konture ako je cv2.contourArea(c) < 500: continue # Dobivamo granice konture, veći pravokutnik koji obuhvaća konturu (x, y, w, h) = cv2.boundingRect(c) # Crtamo granice rectangle rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2) # Prikazujemo različite snimke imshow("Slika u pokretu", image) imshow("Prag", threshold) imshow("Oduzimanje", oduzimanje) imshow("Konture", contoursimg) key = cv2.waitKey(1) & 0xFF # Resetiraj sirovu datoteku za sljedeće snimanje truncate(0) # Izlaz iz aplikacije sa slovom s if key == ord("s"): break
Arduino joystick za igranje igara na Raspberry Pi-ju putem Scratcha
To je Vrlo zabavan način za vježbanje programiranja i testiranjePogotovo ako vas zanimaju videoigre. Hvala na Zagrebite što je programski jezik osmišljen za razvoj vještina u ovom području kod djece i tinejdžera koji tek počinju.
kroz didaktičnije i vizualnije sučeljeje moguće stvarajte jednostavne kodove pa čak i cijele igre. Korištenje Raspberry Pi-ja kao fizičke platforme gdje će se utakmica održati, povezan s Joystick baziran na ArduinuZbog niske cijene dodatne opreme poput modula, to je izvrsna alternativa za početak u ovom svijetu.
Unesite ove kodove:
f#uključi #define Joystick_ joystick; void setup() { pinMode(2,INPUT_PULLUP); pinMode(3,INPUT_PULLUP); begin(); // Za korištenje joysticka, analogni pinovi X i Y osi Joysticka i kroz Joystick.h void loop() { joystickDerX = analogRead(A0); joystick setRxAxis(joystickDerX); joystickDerY = analogRead(A1); joystick setRyAxis(joystickDerY); } for(int i = 2; i<=buttons; i++) { if(digitalRead(i) == LOW) { pressButton(i-2); } else { releaseButton(i-2); } delay(10); }
















