Halloweenpumpa

Berätta om dina pågående projekt.
Användarvisningsbild
Repaterion
Inlägg: 539
Blev medlem: 4 februari 2011, 00:57:32
Ort: Gustavsfors (Lite till vänster om världens utkant)

Halloweenpumpa

Inlägg av Repaterion »

Tjenis på er.

Vet inte om jag startade en likanade tråd i fjol? I så fall så ber jag om ursäkt.
Men likväl så har jag tagit upp detta projekt i år med då fjolårets pumpa snabbt och enkelt avslutades innan det knappt han starta då en väggböld tyckte att 8Vdc på USB till RPi 1 var en bra idé.... :roll:

Ny paj och nya tag.
De komponenter jag anvnänder är en Paj 1,2 B+ och ultraljudssensor HC-SR04 (vilka tydligen finns som kina skit och buggar en del) vet faktiskt inte vilken jag har. Tror jag köpte dessa på Electrokit så jag hoppas de är av rätt virke. =D Har testat två olika med samma resultat.

Problem nummer 1:
Kan inte får kortare pulstider än ca 200uS vilket inte är ett jätteproblem egentligen i detta fall då startpulsen skall vara minst 10uS.

Nummer 2:
Svaren eller tiden är helt galen den är i storleksordningen 1,2265684646e+13 så avstånden blir ju miljontals km.

Nummer3:
Den gör allt mellan 5 tilll 500 mätningar sedan börjar tiden adderas eller liknande, och vips så stannar hela scriptet på while GPIO.input == 0:
Just detta har jag haft bekymmer med på Arduino då flera saker (tror vi) har anropat samma timer, men det är enbart biblioteket time som används och det är blockerande via time.sleep() så det borde inte störa.
Ett annat lustigt beteende som är , är att håller jag mig utanför ca 20cm går det "stabilt" men flyttar jag handen närmare hänger sig skriptet, vilket kanske har att göra med trögheten i skriptet så att den missar pulsen tillbaka men det borde ju inte frysa för det, eller?


de variablerna pulse_XXXX lades till för att python gnällde på att pulse_start används innan det är skapat... Nej det är det inte. :roll: Så dessa blir dubbelt.

Tänker testa samma bygga med en Arduino och se om det blir samma beteende där, då är det väll troligen sensorn och inte pajjen eller koden.

Kod: Markera allt



 1 #!/usr/bin/python3.7
 2
 3 import RPi.GPIO as GPIO
 4 import time
 5
 6 GPIO.setmode(GPIO.BOARD)
 7
 8 # GPIO
 9
10 ECHO = 18
11 TRIG = 16
12
13 # GPIO-KONFIGURATION
14 GPIO.setup(TRIG, GPIO.OUT)
15 GPIO.setup(ECHO, GPIO.IN)
16
17 # VARIABLER
18 tids_koff = 17150 # Ljudets hastighet 343m/s / 2 = 171,5m/s = 17150 cm/s
19
20
21 def measurment():
22     GPIO.output(TRIG, False)
23     print("Stabilisering utav sensor.")
24     time.sleep(2)
25     pulse_start = 0
26     pulse_end = 0
27     pulstid = 0
28     avstand = 0
29     try:
30         while True:
31             time.sleep(1)
32             GPIO.output(TRIG, True)
33             time.sleep(0.001)
34             GPIO.output(TRIG, False)
35             print("INIT")
36             while GPIO.input(ECHO)==0:
37                 pulse_start = time.time()
38                 #print("PULS START")
39
40             while GPIO.input(ECHO)==1:
41                 pulse_end = time.time()
42                 #print("PULS STOPP")
43             pulstid = (pulse_end - pulse_start)
44             print(pulstid)
45             avstand = pulstid * tids_koff
46             print(avstand)
47             pulstid = 0
48     except KeyboardInterrupt:
49         GPIO.cleanup()
50     #return avstand
51
52
53 #data = measurment()
54
55 #print(data)
56
57 measurment()
58
59
Så här kan det se ut, skalan skall bli cm om allt stämmer så 20-25cm stämmer nog ganska bra.
Skärmbild 2023-08-19 171706.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Repaterion
Inlägg: 539
Blev medlem: 4 februari 2011, 00:57:32
Ort: Gustavsfors (Lite till vänster om världens utkant)

Re: Halloweenpumpa

Inlägg av Repaterion »

Okej.

En sensor var död eller fungerar inte som den skall. :x
Den andra tuffar på bra på arduinon stabilt utan avbrott. :humm:
Skriv svar