RaspberryPI button press: Skirtumas tarp puslapio versijų
Jump to navigation
Jump to search
(nerodoma viena tarpinė versija, sukurta to paties naudotojo) | |||
1 eilutė: | 1 eilutė: | ||
Mygtukas reaguoja į paspaudimą ir parašo ekrane tekstą. | Mygtukas reaguoja į paspaudimą ir parašo ekrane tekstą. | ||
− | = Sujungimas = | + | = RaspberryPI Sujungimas = |
Mygtuko prijungimas prie pin 6 ir pin 12 | Mygtuko prijungimas prie pin 6 ir pin 12 | ||
+ | |||
+ | = OrangePI Sujungimas = | ||
+ | |||
+ | Mygtuko prijungimas prie pin 5 ir pin 39 | ||
= Golang Kodas = | = Golang Kodas = | ||
43 eilutė: | 47 eilutė: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Jeigu naudojame OrangePI BoardToPin(pin) pakeičiame į pin 1 (wiring pi pinas). Atrodys taip | ||
+ | WiringPiISR(1, INT_EDGE_FALLING) | ||
[[Category:RaspberryPI]] | [[Category:RaspberryPI]] |
Dabartinė 14:55, 15 kovo 2021 versija
Mygtukas reaguoja į paspaudimą ir parašo ekrane tekstą.
RaspberryPI Sujungimas[keisti]
Mygtuko prijungimas prie pin 6 ir pin 12
OrangePI Sujungimas[keisti]
Mygtuko prijungimas prie pin 5 ir pin 39
Golang Kodas[keisti]
package main
import (
. "github.com/cyoung/rpi"
"fmt"
"time"
)
func main() {
WiringPiSetup()
pin := 12
go func() {
last_time := time.Now().UnixNano() / 1000000
btn_pushed := 0
for pinas := range WiringPiISR(BoardToPin(pin), INT_EDGE_FALLING) {
if pinas > -1 {
n := time.Now().UnixNano() / 1000000
delta := n - last_time
if delta > 800 { //software debouncing
fmt.Println("button pressed")
last_time = n
btn_pushed++
}
}
}
}()
for {
// empty cycle
}
}
Jeigu naudojame OrangePI BoardToPin(pin) pakeičiame į pin 1 (wiring pi pinas). Atrodys taip
WiringPiISR(1, INT_EDGE_FALLING)