INHOUDSOPGAWE:
- Stap 1: gereedskap en materiaal
- Stap 2: Bou dit
- Stap 3: Berei die sagteware voor
- Stap 4: Los 'n Rubik's Cube op
- Stap 5: Die bronkode
Video: BricKuber -projek - 'n Raspberry Pi Rubiks -kubusoplossingsrobot: 5 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Die BricKuber kan 'n Rubik -kubus in minder as 2 minute oplos.
Die BricKuber is 'n open source Rubik se kubusoplossingsrobot wat u self kan bou
Ons wou 'n Rubiks -kubusoplossingsrobot bou met die Raspberry Pi. In plaas daarvan om vinnig te gaan, het ons eenvoudig gegaan: as u 'n Raspberry Pi, 'n BrickPi -stel en 'n standaard LEGO Mindstorms EV3 of NXT -kit het, moet u maklik in ons voetspore kan volg. Die sagteware is in die Python -programmeertaal geskryf. U kan al die bronkode op Github hier sien.
Agtergrond Die Rubik se kubus het onlangs begin terugkeer. Dit is in 1974 uitgevind en is die wêreld se topverkoper-speelding. Maar om dit op te los verg gedagtes, moeite en vaardigheid… so hoekom laat 'n robot dit nie doen nie? In hierdie projek neem ons 'n Framboos Pi, 'n BrickPi en 'n stel LEGO Mindstorms en bou ons 'n Rubik's kubusoplossingsrobot. Plaas eenvoudig 'n onopgeloste Rubik -kubus in die oplossing, voer die luislangprogram uit en u Rubik -kubus is opgelos! Die projek gebruik die Pi om die Rubik -kubus direk op te los. Die BrickPi3 neem die onopgeloste Rubik -kubus en die Raspberry Pi neem 'n foto van elke kant van die Rubik -kubus met die Raspberry Pi -kamera. Die Pi skep 'n tekskaart van die kleurvierkante wat wys waar hulle op die kubus geleë is. Nadat die kubus die kubus volledig gekarteer het, gebruik die python -biblioteek "kociemba" om die bewegings wat nodig is om die Rubik -kubus op te los, in kaart te bring. Hierdie inligting word deur die Pi en BrickPi3 geneem om die Rubik -kubus op te los met behulp van die LEGO -motors. Die resultaat: 'n opgeloste Rubik -kubus.
Stap 1: gereedskap en materiaal
- BrickPi3 - Ons gebruik die BrickPi om die LEGO -motors te beheer wat die Rubik se kubusoplosser oplos.
- Raspberry Pi - Die Pi sal die verwerking doen, foto's neem en die BrickPi beveel.
- Raspberry Pi -kamera - Die Pi -kamera neem 'n foto van die onopgeloste Rubiks -kubus.
- Ethernet -kabel - u moet u masjien aan die internet koppel. As u dit via wifi wil doen, is dit ook goed!
- Raspbian for Robots SD -kaart - Die sagteware wat die Raspberry Pi bestuur. Dit bevat die meeste sagteware wat nodig is vir hierdie tutoriaal. U kan ook die sagteware gratis aflaai.
- LEGO Mindstorms EV3 Kit (31313) - Jy benodig 'n stapel LEGO en twee groot motors, een servomotor en die ultrasoniese sensor.
- A Rubik's Cube - Ons het een gevind wat redelik vrylik hier draai. U kan egter omtrent enige 9x9x9 Rubik -kubus gebruik.
Stap 2: Bou dit
Die bou van die Oplosser
Hierdie ontwerp is geïnspireer deur die MindCub3r -ontwerp vir LEGO EV3. Om die BricKuber te bou, begin met die bou van die MindCub3r. Die volledige LEGO -bouinstruksies kan hier gevind word.
Die Rubiks -kubusoplosser -ontwerp het drie belangrike bewegende dele. Die eerste is 'n wieg om die Rubik -kubus vas te hou. Die tweede is die skommelaar, 'n arm wat gebruik word om die Rubik -kubus om te draai.
Laastens voeg ons 'n kameraarm by. In die oorspronklike ontwerp van MindCubr het dit die EV3 -kleursensor oor die Rubik -kubus gehou. In ons aangepaste ontwerp het dit 'n Raspberry Pi -kamera oor die Rubik -kubus. Ons gebruik twee LEGO Mindstorms -motors om die kubus te manipuleer: die eerste sit onder die wieg om die kubus te draai, en die tweede beweeg die skuifarm om die kubus op 'n teenoorgestelde as te draai.
Monteer die BrickPi3
U kan die monteerinstruksies vir die BrickPi3 hier vind. Ons moet die omhulsel monteer, die BrickPi3, die Raspberry Pi, die Raspberry Pi -kamera heg, 'n SD -kaart byvoeg en batterye byvoeg. Om die installering van die sagteware makliker te maak, bevat Raspbian for Robots die meeste sagteware wat u benodig. U benodig ten minste 'n 8 GB SD -kaart, en u wil die skyf uitbrei om die volle grootte van die SD -kaart te pas.
Heg die BrickPi3 aan
Ons voeg die BrickPi3 by die LEGO -samestelling. Ons het die LEGO EV3 "vlerke" gebruik om die BrickPi3 te ondersteun en dit gelyk te maak met die BricKuber -liggaam. Dit is 'n goeie stap om 8XAA -batterye by die kragbron te voeg en die BrickPi3 -kragbron aan die LEGO -eenheid te koppel. Vir programmering kan u die BrickPi3 via USB -krag na die Raspberry Pi voed, maar om die motors te beweeg, moet u die Power Pack voorsien.
Koppel die motors aan op die BrickPi3
Koppel die skommelmotor aan die motorpoort “MD”. Koppel die wiegmotor aan die “MA” -poort op die BrickPi3. Koppel die kamerasensormotor aan die "MC" -poort (dit is die kleiner servo-agtige motor). Alhoewel ons nie die kamera beweeg nie, wil u die ligging van die kamera met die motors aanpas.
Heg die Raspberry Pi -kamera aan
Bevestig die kamera met behulp van die LEGO Camera -ondersteuning. Die klein swart lens van die kamera moet tussen die twee LEGO -balkondersteunings pas. Bevestig die kamera aan die LEGO -stutte met 'n bietjie elektriese band. Dit is 'n goeie tyd om seker te maak dat die kamera in posisie is om die hele Rubik -kubus te kan vasvang. U kan 'n toetsfoto neem met die raspistill -opdrag
raspistill -o cam.jpg
Kontroleer of die kubus in die middel van die prentjie goed gesentreer is.
Stap 3: Berei die sagteware voor
U kan enige weergawe van Raspbian of Raspbian vir Robots gebruik, ons persoonlike beeld wat by die BrickPi3 is wat reeds geïnstalleer is. As u 'n standaard weergawe van Raspbian gebruik, kan u die BrickPi3 -biblioteke met die opdrag installeer
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Hierdie stap installeer al die biblioteke wat nodig is om die BrickPi3 op u Raspbian -beeld te laat loop. Slaan hierdie stap oor as u Raspbian for Robots gebruik: die BrickPi3 is reeds geïnstalleer.
Laastens, installeer alle projekafhanklikhede met die opdrag:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
Vir hierdie stap moet u BrickPi3 aan die internet gekoppel wees. Daar is 'n aantal biblioteke waarvan die projek afhanklik is, waaronder enkele belangrike biblioteke van Daniel Walton (@dwalton76) op Github, wat gebruik word om die Rubik -kubus op te los.
Stap 4: Los 'n Rubik's Cube op
Plaas 'n onopgeloste Rubik -kubus in die wieg. Voer die opdrag uit
sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py
Die robot draai die kubus na elke gesig en die kamera neem 6 foto's, aan elke kant van die kubus. Die Raspberry Pi bepaal die kubusopstelling uit die ses foto's. Die kubus -opset word na die kociemba Python -biblioteek gestuur om 'n doeltreffende oplossing te vind. Uiteindelik sal die robot die stappe uitvoer om die Rubik's Cube op te los!
Stap 5: Die bronkode
Al die bronkode vir die BricKuber kan gevind word in ons open source github repo hier.
Hierdie projek gebruik die volgende sagtewarepakkette wat deur die opdrag geïnstalleer is
Aanbeveel:
Raspberry Pi -boks met koelventilator met CPU -temperatuuraanwyser: 10 stappe (met foto's)
Raspberry Pi Box of Cooling FAN Met CPU Temperature Indicator: Ek het framboos pi (Hierna as RPI) CPU temperatuur aanwyser stroombaan in die vorige projek bekendgestel. Die kring wys eenvoudig RPI 4 verskillende CPU temperatuur vlakke soos volg.- Groen LED aangeskakel wanneer CPU temperatuur is binne 30 ~
Funksionele USB Flash Drive Rubiks Cube: 7 stappe (met foto's)
Funksionele USB Flash Drive Rubiks Cube: In hierdie tutoriaal gaan ek u wys hoe u u eie Rubik USB Flash Drive kan maak. U kan die voltooide produk in die volgende video sien:
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: 7 stappe (met foto's)
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: ek is van plan om hierdie Rapsberry PI te gebruik in 'n klomp prettige projekte in my blog. Kyk gerus daarna. Ek wou weer my Raspberry PI gebruik, maar ek het nie 'n sleutelbord of muis op my nuwe plek gehad nie. Dit was 'n rukkie sedert ek 'n Framboos opgestel het
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer