Sida 2 av 3

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 12 december 2017, 20:09:18
av Skalis
Tusen tack JohanO.
Skall testa snarast.
:)

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 16 december 2017, 18:20:46
av Skalis
Oj-voj....nu har jag torskat på nått basic igen.

Först kopierade jag hela programmet-texten.
Sen försökte jag mata in det i en Python3 med >>>> promtpen. Det funkade naturligtvis inte.
Döpte om filen till .py
Körde i en terminalfönster.
Ja då gnällde den att jag har glömt initiera pigpiod. Fixade det. Körde i Geany. Funkade inte.
Körde i en terminalförnster å "matade" i siffran 1. Då avslutades programmet som det skulle. Men inget hände.

Nu tror jag att jag måste ju för 7-tsiken fixa GPIO pinnarna åsså innan jag testar. Sätta motsv pinne för servo till utgång samt aktivera den å så.

Eller äre nått annat fel jag lyckas göra? Glömt nått?

I C progget står det gpioServvo (12,2100); det talar om värdet 2100, ett visst läge.
Sedan på nästa rad står det gpioWrite (12,1) å då tror jag att den skickar det värdet ut genom pinnen till servomotorn.
Sedan "nollar" man efter 3 sekunder.
I Py programmet däremot fattas motsv rad. Nånting pulswidth som skall ändras-läggas till?

Det trista är att jag får inte den färdigkompilerade C programmet att snurra heller. Det funkade tidigare.
Suck.

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 16 december 2017, 19:58:16
av lillahuset
Stackars Skalis. :(

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 17 december 2017, 11:44:49
av Skalis
Nä...inte så farligt synd om mig ...du som bor i Lilla Huset. :)
För seddu jag har fått en vän som försöker hjälpa mig med detta.
Tror du känner honom faktiskt! :wink:

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 17 december 2017, 13:48:44
av johano
Skalis skrev:I C progget står det gpioServvo (12,2100); det talar om värdet 2100, ett visst läge.
Sedan på nästa rad står det gpioWrite (12,1) å då tror jag att den skickar det värdet ut genom pinnen till servomotorn.
Sedan "nollar" man efter 3 sekunder.
I Py programmet däremot fattas motsv rad. Nånting pulswidth som skall ändras-läggas till?

Det trista är att jag får inte den färdigkompilerade C programmet att snurra heller. Det funkade tidigare.
Suck.
Nej jag tycker nog pythonkoden gör ganska exakt detsamma som C-koden. Däremot utelämnade jag alla casesatser över 1 då det blev lite upprepande.

Är uppkopplingen rätt gjord. Alla komponenter hela?

/j

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 17 december 2017, 16:46:08
av mrfrenzy
Skalis skrev:Oj-voj....nu har jag torskat på nått basic igen.

Först kopierade jag hela programmet-texten.
Sen försökte jag mata in det i en Python3 med >>>> promtpen. Det funkade naturligtvis inte.
Tänk på att blanksteg och tabbar är viktiga i Python. Det kan bli konstigt när man kopierar och klistrar in kod.

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 17 december 2017, 17:22:55
av Skalis
Tack. Skall kolla igen. Det måste till en del GPIO pinnars config i början.
Grejerna som är upkopplade är okej men det skadar inte att jag kollar genom å letar efter ev glapp å sånt.
Återkommer efter ny test.

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 28 december 2017, 13:57:59
av Skalis
Hoppas ni har tålamod med mig.
Nu har jag gjort nya tester.
Man får tydligen inte vara hur dum som helst, vilket jag var. Glömde skriva ./ alltså:
Terminalfönster: sudo ./programnamnet.
Då startade det fint. Jag har blivit glömsk..
:cry:

Jag har startat pigpiod dvs demonen innan. Kollat med ett kommando ...grep...att den är igång.
Men nu får jag ett fel att:
2017-12-28- "klockslag" gpioWrite; pigpio uninitialised, call gpioinitialise()
Jaha, tack för den, var skall jag initiera gpio å pigpio när demonen körs redan?
Behöver hjälp med detta.
Någon som förstår/kan detta?
Tackar å God fortsättning på helgerna.

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 28 december 2017, 14:51:01
av XorXaX
Hej, och tack detsamma!

Jag har inte själv använt pigpio men det verkar ju inte helt smidigt att användargränssnitt att ha läst dokumentationen.

Jag skulle rekommendera att du använder gpiozero istället om det inte finns nåt i pigpio som du absolut måste använda och som inte finns i gpiozero. Med gpiozero slipper du allt vad initiering etc. heter, det sköts i biblioteket.

Det finns massor med information kring gpiozero både på ovan nämnda länk och i flera nummer av The MagPi och dess specialnummer.

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 28 december 2017, 15:24:47
av Skalis
Tack för tipset Xor....
Det har funkat enkelt å bra för mig med pigpio. Bara skrivit pigpiod å sedan glömt alltihop å det har funkat/snurrat på. Det är enkelt tycker jag åsså att "tala" om vilka pinnar som skall vara ut/in samt att deras startläge skall vara hög/låg.

(Jäsiken, nu kom jag på det, glömt kanske att sätta tillståndet till hög/resp låg?)

En stor anledning annars är att jag har en liten servomotor som vrider ett spjäll å därmed reglerar luften. Provade ut empiriskt vissa positioner för spjället när det brann å sedan tagit reda på deras motsvarande siffra att skicka till "servo.pigpio" nånting.Sedan ställer programmet spjället i de lägen allt efter behov.

Jag har inte hittat nått annat lika bra för att göra samma jobb. Pajens eget inbyggda PWM ger sk "darr", servon står inte stilla. Det gör det inte med pigpio som Joan har skrivit.

Tack för svaret, nu skall jag botanisera vidare å se om jag kan kolla om GPIO pinnen i fråga skulle sättas hög/låg innan programmet exekveras. Kanske det som var felet.

Fast å andra sidan, programmet funkade tidigare? :humm:

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 29 december 2017, 10:42:18
av johano
Är det C eller Python du försöker med nu?
Kan du posta exakt den kod som gav ditt senaste felmeddelande?
I den C-kod du postade tidigare anropades ju gpioInitialize() på rad 6 i main() - görs det i din kod??

Jag använder själv pigpio i Python och det funkar alldeles förträffligt.

/j

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 29 december 2017, 11:00:26
av Gimbal
Skalis skrev: I C progget står det gpioServvo (12,2100); det talar om värdet 2100, ett visst läge.
Sedan på nästa rad står det gpioWrite (12,1) å då tror jag att den skickar det värdet ut genom pinnen till servomotorn.
Har precis själv börjat med pigpio (i C) så är ingen expert, men här är min tolkning:

gpioservo(12,2100); startar servopulserna på pinne 12.

gpiowrite(12,1) kommer sätta utgång 12 till 1, och därmed stoppa servopulserna.
Ska med andra ord förmodligen INTE stå precis efter gpioservo.

Men allra först i programmet måste gpioInitialise() anropas.

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 29 december 2017, 13:51:00
av Skalis
Hej Johano...
Jag rör till det...nu var det faktiskt C-kod programmet jag testade på nytt. Å då borde det funka för det står ju "initialisera" på rad 6 som du skrev. Därav min fundering-konfus.
Men hörrni. Jag har bytt fläkt under den här tiden å jag måste hitta nya PWM värden att skicka till servomotorn å måste pröva ut lägena på spjället empiriskt för att få dessa tal/värden.
Så jag måste avvakta med just detta å köra lite direktkommandon i en Python3 tolk/fönster först. Om jag fastnar där så återkommer jag å ber om hjälp med just den saken.
Tack för tipset om gpiozero, skall kolla runt lite.
Tills dess Gott Nytt År å Tack.
Skalis.

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 29 december 2017, 14:03:58
av Gimbal
Igen då,

I case sats 0 så använder du gpioWrite direkt efter gpioServo, det kan inte gärna vara rätt.
I de andra case satserna använder du inte gpioWrite, det ser bättre ut.

Min gissning är att case sats 0 inte fungerar. I alla fall flyttar det inte på servot.

Re: Python programmeirngshjälp för Raspberry pajen

Postat: 4 januari 2018, 17:12:56
av Skalis
Hej alla!
Tack för hjälpen så här långt.
Testade å löste det hela så här.
Först öppnade jag ett terminalfönster å startade pigpio demonen
Sudo pigpiod
Sedan startade jag Pythontolken.
Python3
Obs inget mellanslag mellan python å sifffran 3.
Sedan skrev jag kommando efter python prompten>>>

import pigpio
pi = pigpio.pi() # Connect to local Pi.
pi.set_mode(12, pigpio.OUTPUT)
pi.set_servo_pulsewidth(12, 1550) #closed
pi.set_servo_pulsewidth(12,1400) #open a little

pi.set_servo_pulsewidth(12,0)
pi.stop()

Så nu funkar det å jag jobbar vidare med annat. Problemet löst så här långt.
Återkommer i annan tråd med nästa problem.....för det lär dyka upp fler eller hur?
:D