Raspberry Pi projekt: Moderna lösningar kräver fler moderna lösningar!

Den här veckan ger vi dig några mycket modern Raspberry Pi projekt!

Har du någonsin sett memen som lyder "Moderna problem kräver moderna lösningar"?

Men vad händer om dina moderna lösningar skapar moderna problem?

Då behöver du en modern lösning.

Moderna lösningar kräver därför moderna lösningar.

Ibland är dock dessa problem så små att tillverkarna inte bryr sig om att skapa en lösning åt dig.

Lyckligtvis är vår uppfinningsrikedom som Raspberry Pi-entusiaster oändlig.

moderna lösningar kräver moderna lösningar

Inaktivera automatisk start och stopp av motorn

Bensinkörsträckan är ganska viktig idag med bensinpriser som går utanför diagrammen.

Till deras heder har biltillverkarna skapat en lösning som stänger av motorn när den upptäcker att bilen går på tomgång. Detta hjälper verkligen din bil att spara bensin när den står stilla.

Men vissa människor föredrar att inte ha den på sig och jag förstår varför.

För ett tag sedan satt jag i en modern hyrbil. Jag upptäckte att med autostopp-startsystemet aktiverat var jag tvungen att "planera" mitt bromstryck så att jag kunde starta motorn innan ljuset blev grönt.

Ibland glömde jag bort det och blev stående vid en green längre än jag ville. Jag skulle kompensera genom att trampa hårdare på gasen. Rekommenderas inte.

Vissa biltillverkare ger dig inte något val när det gäller att avaktivera funktionen för automatisk stopp-start. Om du vill avaktivera den måste du trycka på knappen varje gång du kör.

Inte nu längre!

Projektbeskrivning

servo trycker på tangentbordsknapp
Raspberry Pi Pico med servo på tangentbordet.

Det du ser i videon ovan är en kommersiell produkt, men det kan enkelt åstadkommas med en Raspberry Pi Pico och ett SG90-servo. Strömförsörjningen till Raspberry Pi Pico kan ske via bilens USB-portar.

Den grundläggande MicroPython-koden är denna och förutsätter att du anslöt servons signalledning till GPIO 16.

from time import sleep

from machine import Pin

from machine import PWM

pwm = PWM(Pin(16))

pwm.freq(50)

pwm.duty_ns(2000000)

sleep(0.5)

pwm.duty_ns(500000)

Det finns några utmaningar med detta:

Först måste du justera servovinkeln. Detta justeras av värdet som skickas in i pwn_duty_ns, som är i nanosekunder.

2 miljoner nanosekunder (2.000.000) motsvarar ett helt varv och 500.000 motsvarar ett helt varv i motsatt riktning.

I slutändan använde jag bara 1.000.000 till 2.000.000 nanosekunder, snarare än servots hela intervall.

För det andra måste du veta hur du avaktiverar bilens start-stopp-funktion. Vissa kräver att du trycker och håller in, och då måste du justera sova längd.

För det tredje vill du bara att den ska fungera när motorn är påslagen, och inte när du startar radion. Detta är förmodligen den största utmaningen eftersom det inte finns något enkelt sätt att tala om för Pico när motorn är på.

raspberry pi pico servo
Koppla ihop Raspberry Pi Pico med en trådlös styrenhet så behöver du aldrig mer resa dig från sängen för att släcka lamporna!

Men samma projekt - att styra ett servo med Raspberry Pi Pico kan faktiskt vara mycket fördelaktigt för många andra projekt, till exempel en omkopplare. Jag använder exakt den här metoden för att stanna kvar i sängen och släck lamporna i sovrummet.

raspberry pi pico keyboard servo controller anti idle
Hindra skärmsläckaren från att dyka upp med den här!

Eller så kan den användas för att stoppa en skärmsläckare genom att trycka på en slumpmässig knapp (som INSERT).

OpenMower: GPS-styrd robotgräsklippare

OpenMower GPS-styrd Raspberry Pi gräsklippare
Delar från OpenMower, den GPS-styrda gräsklipparen. Skärmdump från Clemens Elfleins YouTube.

"Robotgräsklippare suger!"

Det är vad Clemens Elflein, skaparen av OpenMower, säger.

Hans invändning är att dessa robotgräsklippare är för dumma.

"I princip alla dessa robotar kör i en slumpmässig riktning tills de når gränsen till gräsmattan, roterar under en slumpmässig tid och upprepar. Jag tror att vi kan göra det bättre!"

Så istället för en slumpmässig gräsklippningsmetod sökte Clemens efter något mer exakt genom att integrera GPS. Fördelen med detta är att robomowern även kan navigera till bakgården och klippa gräs där!

En robotgräsklippare är en modern lösning för att minska den repetitiva uppgiften att klippa en gräsmatta. Men det är inte tillräckligt bra.

Kom ihåg varför du läser det här... moderna lösningar kräver mer moderna lösningar!

Projektmål

Clemens använde en kommersiell produkt som heter YardForce Classic 500 och installerade en Raspberry Pi 4 och en Raspberry Pi Pico.

Som framgår av hans GithubDet här är hans mål:

Autonom gräsklippning: Självklart ska enheten kunna klippa gräsmattan automatiskt.

  • God säkerhet: Enheten måste vara säker, t.ex. nödstopp om den lyfts eller kraschar.
  • Ingen begränsningskabel behövs: Vi vill vara flexibla och stödja flera klippområden.
  • Låg kostnad: Produkten ska vara billigare än en hyllvara i mellanklassen
  • Öppen: Jag vill dela med mig av kunskap och göra det möjligt för andra att också bygga en OpenMower.
  • Trevlig att titta på: Du behöver inte skämmas över att ha en OpenMower som klipper din gräsmatta.
  • Undvik hinder: Klipparen ska upptäcka hinder och undvika dem under klippningen.
  • Detektering av regn: Enheten ska kunna upptäcka dåliga väderförhållanden och pausa klippningen tills de blir bättre.

Kan du göra det?

Clemens har skapat en Discord-grupp och folk deltar dagligen.

Han rekommenderar inte att du gör det om du inte vet vad du gör.

Han gör det väldigt tydligt med en friskrivningsklausul att om något går fel, kom inte och knacka på hans dörr.

Gå med i OpenMowers Discord eller se deras GitHub.

Inget bajs, Sherlock: överengineering av hur man blir av med hundbajs på gården

Caleb Olson har en corgi som lämnar spillning över hela hans trädgård.

Till att börja med utformade han ett system som markerar var hans hund Twinkie släpper bajs och markerar det på en bild. En modern lösning.

Men den moderna lösningen visade sig vara "alldeles för jobbig" eftersom han måste använda sin telefon för att få en uppfattning om var platserna finns.

Så vad gjorde han? Han installerade en robotarm med en laser som pekar ut var bajset finns.

Moderna lösningar kräver mer moderna lösningar.

caleb olson hundbajsdetektor laser raspberry pi
Den röda pricken representerar lasern som leder Caleb Olson till de platser där hans hund bajsade. Skärmdump från Calebs YouTube.
Caleb Olson (skärmdump från hans YouTube)

Datorseende är avgörande för den här uppgiften eftersom det startar bajslaserstyrningen. Genom att korsa armarna startar datorn styrsystemet genom att peka på den första bajsplatsen.

När han sedan böjer sig ner för att plocka upp den upptäcker OpenCV detta och flyttar honom till nästa bajsplats.

Har ni några av de där... projekten?

Jag går dagligen igenom Reddit, Twitter och andra webbplatser för att hitta intressanta projekt att presentera i PiCockpit Newsletter.

Du kan också kolla in vår serie Paragon Projects här.

Om du känner till ett intressant projekt, lämna en kommentar nedan 👇

Om du gillar den här serien, prenumerera på vårt nyhetsbrev nedan 👇

Lämna en kommentar