Mam okablowany łatwy obwód, z diodą LED podłączoną do pinu 18 na tablicy BOARD. Uruchamiam prosty program, aby ustawić pin 18 na WYSOKI, co włącza diodę LED, a następnie kilka sekund później ustawiam pin 18 na NISKI, a na koniec kończę program za pomocą GPIO.cleanup ().
W tym momencie dioda LED jest wyłączona, co oznacza, że pin 18 jest wyłączony (LOW). Teraz ponownie uruchamiam lub ponownie uruchamiam Raspberry Pi, a kiedy uruchamia się ponownie, dioda LED na pinie 18 włącza się ponownie, nawet jeśli pin był wyłączony przed ponownym uruchomieniem Raspberry Pi.
Dlaczego tak się dzieje? Jak skonfigurować konkretny pin, np. Pin 18, aby był wyłączony po uruchomieniu Raspberry Pi? I nie chcę, aby żadne piny GPIO były WYSOKIE, gdy Raspberry Pi się uruchomi.
Martwię się tym problemem, ponieważ powiedzmy, że pin 18 jest podłączony do silnika prądu stałego w robocie, a gdy Raspberry Pi uruchomi się, silnik włączy się, a to nie jest coś, czego chcę, ponieważ to zakłóca cała konstrukcja robota, a niektóre silniki mogą się uruchomić, a inne nie, w zależności od pinów, do których są podłączone. Chcę ręcznie włączyć wszystkie silniki w sposób zsynchronizowany.
Inną rzeczą jest to, że nie wszystkie piny mają ten problem. Niektóre pozostają wyłączone, gdy Raspberry Pi uruchamia się, ale inne nie.
/sys/class/gpio
i wyeksportujesz pin 18, w jakim stanie system powie, że jest, jeśli nic nie zmienisz?
echo
, który pisze, czyli ustawia coś. Po jego wyeksportowaniu chcesz się od tego powstrzymać i po prostu użyj cat
, który czyta, aby sprawdzić kierunek i wartość.