# Mit welchen Pins funktioniert setpull?

**URL:** <https://forum.calliope.cc/t/mit-welchen-pins-funktioniert-setpull/1097>\
**Category:** Hardware Fragen und Probleme\
**Created:** [17. März 2019 um 14:46 UTC](https://forum.calliope.cc/t/mit-welchen-pins-funktioniert-setpull/1097 "2019-03-17T14:46:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![klmi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/klmi/32/763_2.png) [@klmi](https://forum.calliope.cc/u/klmi)\
**Post date:** [17. März 2019 um 14:46 UTC](https://forum.calliope.cc/t/mit-welchen-pins-funktioniert-setpull/1097/1 "2019-03-17T14:46:36Z")

</div>

Welche Pins sind denn mit Pull-Up Widerständen beschaltet.  
Ich möchte für das GameZIP Events über pinonpulsed ausgelöst bekommen mithilfe von setpull usw. Das funktioniert auch bei P0,P1,P2 wunderbar, mit den anderen Pins aber irgendwie nicht.  
meine Custom.ts:

// % weight=0 color=#0fbc11 icon="\uf11b"  
// block=“GameZIP”  
namespace gameZIPjoystick {

```
export enum JoystickBitPin {
    //% block="Left"
    P12 = 13, //C12
    //% block="Right"
    P13 = 11, //C5
    //% block="Down"
    P14 = DigitalPin.C6,
    //% block="Up"
    P8 = DigitalPin.C4,
    //% block="Fire1"
    P15 = DigitalPin.P0,
    //% block="Fire2"
    P16 = DigitalPin.P3
}

export enum ButtonType {
    //% block="gedrückt"
    down = PulseValue.High,
    //% block="losgelassen"
    up = PulseValue.Low
}

/**
* initialization joystick:bit
*/
//% blockId=initJoystick block="Initialisiere Joystick"
export function initJoystick(): void {
    pins.setPull(13, PinPullMode.PullUp)
    pins.setPull(DigitalPin.C4, PinPullMode.PullUp)
    pins.setPull(11, PinPullMode.PullUp)
    pins.setPull(DigitalPin.C6, PinPullMode.PullUp)
    pins.setPull(DigitalPin.P0, PinPullMode.PullUp)
    pins.setPull(DigitalPin.P3, PinPullMode.PullUp)
}

/**
* get Button
*/
//% blockId=getButton block="button %button is pressed"
export function getButton(button: JoystickBitPin): boolean {
    return (pins.digitalReadPin(<number>button) == 0 ? true : false)
}

/**
* Registers code to run when a joystick:bit event is detected.
*/
//% blockId=onButtonEvent block="Wenn Knopf %button | %event|" blockExternalInputs=false
export function onButtonEvent(button: JoystickBitPin, event: ButtonType, handler: Action): void {
    pins.onPulsed(<number>button, <number>event, handler);
}

/**
* vibration motor
* @param time describe parameter here, eg: 100
*/
//% blockId=Vibration_Motor block="motor vibrate for %time ms"
export function Vibration_Motor(time: number): void {
    pins.digitalWritePin(DigitalPin.C17, 0)
    basic.pause(time)
    pins.digitalWritePin(DigitalPin.C17, 1)
}

```

}

Im Hauptprogramm ist natürlich die LED-Matrix ausgeschaltet:  
led.enable(false)

Ideen oder Infos?

---

<div class="post-metadata">

**Author:** ![joern.alraun](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/joern.alraun/32/7_2.png) [@joern.alraun](https://forum.calliope.cc/u/joern.alraun)\
**Post date:** [21. März 2019 um 14:05 UTC](https://forum.calliope.cc/t/mit-welchen-pins-funktioniert-setpull/1097/2 "2019-03-21T14:05:00Z")

</div>

Hi Michael,

schau doch mal bitte, klappt das so, wie du dir gedacht hast?

Beste Grüße  
Jörn[mini-Pulldown.hex](https://canada1.discourse-cdn.com/flex027/uploads/calliope/original/2X/7/73f08c0766c906d1513479a90b89a99dc51a6f8b.hex) (591,3 KB)

---

<div class="post-metadata">

**Author:** ![klmi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/klmi/32/763_2.png) [@klmi](https://forum.calliope.cc/u/klmi)\
**Post date:** [21. März 2019 um 14:35 UTC](https://forum.calliope.cc/t/mit-welchen-pins-funktioniert-setpull/1097/3 "2019-03-21T14:35:41Z")

</div>

Danke Jörn,  
dank deines Programms die Lösung gefunden: Ich kann alle Pins pullen! Wenn ich allerdings z.B. C5 nehme und das Display ausgeschaltet habe mit  
led.enable(false)  
dann geht garnichts mehr. (Ich habe statt Bildern natürlich Töne genommen).

Ich werde also das Display an lassen und am Wochenende nochmal ran gehen!
