Guide: Kontroller LED’er og motorer med din Raspberry Pi

Guide: Kontroller LED’er og motorer med din Raspberry Pi

Share

Vi har samlet en kvartet af 10 minutters projekter, som du kan lave ved hjælp af Explorer HAT Pro til Raspberry Pi. Man kan blande disse fire projekter, og vi vil bruge analoge inputs med potentiometre og digitale input/outputs med LED’er og knapper. Vi skal også bruge en H Bridge-controller til at køre vekselstrømsmotorer med kortet.

Før vi tænder for Raspberry Pi, skal vi forbinde Explorer HAT Pro til alle de 40 GPIO-pins. Kortet bør sidde oven på Raspberry Pi og matche Pis udstrækning. Tænd nu din Raspberry Pi, og boot til Pixel-miljøet. Når den er klar, åbner du en Terminal og skriver den følgende kommando for at installere Explorer HAT Pro-bibliotekerne:
$ curl https://get.pimoroni.com/explorerhat | bash

Følg installationsanvisningerne. Hvis du bliver bedt om at genstarte, skal du gøre det og vende tilbage til Pixel-miljøet. Gå nu til hovedmenuen, og begiv dig til “Programming”-menuen. Klik “Python 3” for at åbne editoren, og klik så “File > New” for at komme i gang.

1 Tænd for led’en

Her vil vi bruge de kapacitive touchknapper (1-4) på Explorer HAT Pro til at udløse de indbyggede LED’er. Idet vores tomme dokument er åbent, klikker vi “File > Save” og gemmer filen som “Project1-LED-Toggle.py”, før vi fortsætter. Husk at gemme ofte.

Se også:  TP-Link LB120/LB130 LED-pære [TEST]: Smart lys fra netværksfolk

» Vi indleder koden ved at importere biblioteket “Explorer HAT Python3”, hvorefter vi omdøber det til “eh”, så det bliver nemmere at arbejde med. Vi importerer også “sleep”-funktionen fra “time”-biblioteket: import explorerhat as eh from time import sleep

» Opret nu en endeløs løkke, der skal rumme kodens hoveddel:
while True:

» Så arrangerer vi en række betingelsestest for at se, om de kapacitive touchknapper (1-4) er blevet aktiveret. For hver knap tildeler vi en LED-farve, der bliver slået til/fra ved tryk på knappen. Derefter tilføjer vi en forsinkelse for at forebygge et uønsket dobbelttryk:

if eh.touch.one.is_pressed():
eh.light.blue.toggle()
sleep(0.1)

» Resten af koden følger det samme mønster, men den bruger “elif” til at repræsentere de andre vilkår, der skal testes:

elif eh.touch.two.is_pressed():
eh.light.yellow.toggle()
sleep(0.1)
elif eh.touch.three.is_pressed():
eh.light.red.toggle()
sleep(0.1)
elif eh.touch.four.is_pressed():
eh.light.green.toggle()
sleep(0.1)

» Klik “Run > Run Module” for at afvikle koden. Tryk nu 1-4-tasterne på Explorer HAT Pro for at tænde LED’erne.

2 Et blink i øjet

 

Billede A

 

Til dette projekt skal du bruge potentiometeret og tre jumperkabler. Forbind dem som på diagrammet [Billede A]. Vores potentiometer er tilsluttet pin’en ANALOG1, og det sender spændingen igennem den variable resistor, når der bliver drejet på knappen. Ved fuld spænding er den lige over 5 V.

Se også:  Guide: Retro-programmering

» Opret en ny tom fil ved navn “Project2-Analog-Blink.py”, og importer “Explorer HAT”-biblioteket:

import explorerhat as eh

» I en “while True”-løkke opretter vi nu to variabler, der skal aflæse spændingen på ANALOG1 og gemme den til senere brug:
while True:

on = eh.analog.one.read()
off = eh.analog.one.read()

» Dernæst opretter vi et lille hack, der forhindrer Python-koden i at crashe på grund af en divide by zero-fejl, der bygger på de analoge aflæsninger. Hvis værdien af vores variabler “on” og “off” nogensinde når nul, ændrer vi værdierne til at være 0,01:

if on == 0 and off == 0:
on = 0.01
off = 0.01

» Vores sidste kodelinje tænder de indbyggede LED’er med en tænd/sluk-tid, som svarer til den spænding, der bliver læst ved ANALOG1. Det betyder, at lav spænding får LED’erne til at blinke hurtigere, mens høj spænding får dem til at blinke langsommere.

eh.light.blink(on,off)

» Klik “Run > Run Module” for at køre koden. Drej nu potentiometerets knap og indstil, hvor hurtigt LED’erne skal blinke.

Del denne