VMBO MVI > Prikbord > Algemene vragen

Skratch 3 vraag


Beantwoord


Hoi allen,
 
We blijven stoeien met die @#^%$%@$# Pi.
Wie kan mij de sequence vertellen in Skratch 3 van het volgende:
Grove Base hat met
de druksensor / motionsensor (is dat een verschil in commando?) op D5
lampje op D16
Pieper op D18
We starten met de vlag: check
Dan moet alles uit blijven totdat: of de hand voor de motionsensor gaat of de touch sensor wordt aangeraakt.
Als dat gebeurt dan moet het lampje gaan branden en het geluid af gaan.
Na 3 seconden gaat het lampje uit en het geluid ook.
We hebben natuurlijk de Pi GPIO geactiveerd dus de groene blokjes zijn beschikbaar:
– When GPIO 0 (dus nu 5) is high
Nou ja etc.
Wie heeft de oplossing…..
 



8 antwoorden

Probeer eens pullen high ipv alleen maar high? Dus ander blokje van de Raspberry Pi GPIO gebruiken in het programma.

Charlotte GLR op 08-03-2023 13:56

Pulled ipv Pullen (autocorrectie….)

Arnoud Warschauer X11 op 08-03-2023 15:10

Yes! Charlotte heeft gelijk. 

Soms hangt het systeem namelijk er op dat de stroom niet goed gemeten kan worden. 

Wanneer je een sensor of knop aansluit op de GPIO-pinnen van de Raspberry Pi, kan het voorkomen dat de sensor of knop niet goed werkt als deze een open-collector of open-drain uitgang heeft. Dit komt omdat deze uitgangen alleen “trekken” (op een logische “1” zetten) en niet “duwen” (op een logische “0” zetten). Dit is voor meerdere soorten grove onderdelen alleen verschillend.  
Als de Raspberry Pi een sensor of knop met een open-collector of open-drain uitgang detecteert zonder de juiste instellingen, kan de spanning op de GPIO-pinnen niet goed worden geïnterpreteerd. Dit kan leiden tot onjuiste resultaten of helemaal geen reactie van de sensor of knop. Vaak probeer ik gewoon allebei de opties input low en high.
Om dit probleem op te lossen, kun je in Scratch GPIO de “set input pulled low” of “set input pulled high” blokken gebruiken. Als je “set input pulled low” selecteert, zal de Raspberry Pi een weerstand tussen de input-pin en de aarde zetten wanneer de sensor of knop niet actief is. Als je “set input pulled high” selecteert, zal de Raspberry Pi een weerstand tussen de input-pin en de voedingsspanning zetten wanneer de sensor of knop niet actief is.
Door de juiste instelling te selecteren, zorgt de Raspberry Pi ervoor dat de spanning op de GPIO-pinnen correct wordt geïnterpreteerd en de sensor of knop goed werkt.

Arjan TC op 09-03-2023 07:45

Ik begrijp het niet helemaal.
Zie mijn foto. 
Motion sensor op 5
Lampje op 16
Lampje gaat branden zonder dat de motion sensor er aan te pas komt. Wie geeft de juiste sequence?
01
02

Raymond Triade op 09-03-2023 20:01

Je kan beginnen met een ander code block. Dus niet met de groene vlag. 
 
Zo komt je code er dan uit te zien:
 
When gpio 5 is high (de aller bovenste in je gpio uitbreiding)
set gpio 16 to output (lamp) high
Set gpio 18 to output (buzzer) high
wacht 3 sec 
set gpio 18 to output (buzzer) low.  
Set gpio 16 to output (lamp) low
 
Je gebruikt dus geen pulled high of low
 
 
 

Arjan TC op 13-03-2023 10:37

Dat werkt! Thanks.
Gelijk nog een vraag: Hoe krijgen we die led lampjes aan de praat?
https://flic.kr/ps/41QjU6
 

Raymond Triade op 13-03-2023 18:35

Of je hebt de led er verkeerd om inzitten. Of de gele knop staat te ver naar rechts gedraait. Even met een schroevendraaier de gele knop helemaal naar links draaien. Dan moet alles werken

Herman MVL op 23-03-2023 14:39

Met een kruiskop de oranje knop zo draaien dat het nummer (in dit geval l 0 3 ?) tegenover de J1 zit, dus kwart slag linksom.
Voor de ledjes gebruik ik trouwens liever de Raspberry Pi Simple Electronics blokken dan de Raspberry Pi GPIO blokken. De eerste zijn voor ledjes (maar ook andere doeleinden) vind ik veel makkelijker.

Je antwoord