← Område 1 Stationer · för den som är klar Korten

Teknik 1 · område 1 · när du är klar med dagens uppgift

Stationerna

Tio små byggen med sensorkitet. Välj en, hämta delarna i lådan, bygg. Varje kort har delarna, målet och en ledtråd – men ingen färdig kod. Det är meningen: det här är problem att lösa, inte kod att skriva av.

Så kopplas sensorkitets moduler

Modulerna har tre stift: S (signal) till en GP-pinne, + till 3V3, − till GND. Analoga moduler (ljus, NTC, joystick) måste ha S på GP26, GP27 eller GP28. Digitala kan sitta var som helst.

Svårighet: ★ klarar du direkt efter dagens genomgång · ★★ kräver att du kombinerar två saker · ★★★ kräver något nytt, kortet ger ledtråden.

S1 · Trafikljus ★

Delar: röd, gul och grön LED, 3 × 220 Ω. Stretch: tryckknapp.
Mål: rätt svensk sekvens: röd → röd+gul → grön → gul → röd. Använd variabler för tiderna.
Stretch: fotgängarknapp – trycker man blir det rött inom tre sekunder.
Ledtråd: tre Pin-objekt, en while True, och sleep mellan varje läge. Knappen läses där det är grönt.

S2 · Nattlampa med dimmer ★

Delar: ljussensormodul (S → GP26), LED.
Mål: ju mörkare, desto starkare lyser LED:n. Inte av/på – glidande.
Ledtråd: read_u16() ger 0–65535. En LED som är PWM(Pin(15)) har duty_u16() som tar 0–65535. Vad händer om du skickar in det ena i det andra? Och om det blir tvärtom: 65535 - varde.

S3 · Reaktionsspel ★★

Delar: LED, tryckknapp.
Mål: LED:n är släckt. Efter en slumpmässig tid (1–5 s) tänds den. Mät tiden till knapptrycket och skriv ut den i millisekunder.
Stretch: bästa tiden sparas. Tjuvstart (tryck innan LED:n tänds) ger "Tjuvstart!".
Ledtråd: import random och random.uniform(1, 5) ger ett slumptal. time.ticks_ms() ger klockan i millisekunder – läs av före och efter, och time.ticks_diff(efter, fore) ger skillnaden.

S4 · Termometer med varning ★★

Delar: NTC-modul (S → GP27), buzzer, LED.
Mål: skriv ut temperaturen varje sekund. Larma över 30 °C (håll fingret på sensorn).
Rimlighet: om din formel ger 250 °C – vad är fel? Rummet är omkring 20 °C. Kalibrera mot det.
Ledtråd: NTC:ns värde sjunker när det blir varmt. En enkel modell: temp = 20 + (rumsvarde - varde) / k. Mät rumsvarde först. Hitta k genom att jämföra med en riktig termometer, eller med fingret (ungefär 32 °C på ytan).

S5 · Stöldlarm ★★

Delar: tiltsensor eller vibrationssensor, buzzer, LED, tryckknapp.
Mål: i larmat läge tjuter det om någon rör breadboarden – tills knappen trycks. Knappen larmar av och på.
Ledtråd: en variabel larmat som är True eller False, som toggle-lampan. Tre lägen att skilja på: larmat och stilla, larmat och rörd (tjuter), olarmat. Tiltsensorn är digital – läs den som en knapp.

S6 · Varvräknare ★★★

Delar: optisk läsgaffel, en pappskiva med ett hål eller en tunga, något som snurrar (för hand går bra).
Mål: räkna hur många gånger pappen passerar gaffeln. Skriv ut varv per minut.
Ledtråd: räkna bara när värdet går från 1 till 0 – inte medan det är 0. Spara förra värdet i en variabel och jämför med det nya varje varv i loopen.
Stretch: Pin.irq() låter Pico:n räkna själv i bakgrunden. Sök på micropython pin irq.

S7 · Joystick-RGB ★★

Delar: joystick (X → GP26, Y → GP27), RGB-LED-modul (tre stift R, G, B till tre GP-pinnar).
Mål: joystickens läge bestämmer färgen. I mitten är den släckt.
Ledtråd: två read_u16(), tre PWM med duty_u16(). X kan styra rött, Y grönt. Vad ska styra blått? I mitten är båda ungefär 32000 – hur blir det "släckt" där?

S8 · Morse-sändare ★★★

Delar: LED eller buzzer.
Mål: text = "SOS" överst i programmet – och programmet blinkar morse för varje bokstav.
Ledtråd: en dictionary kopplar bokstav till mönster: morse = {"S": "...", "O": "---"}. Sedan for bokstav in text: och inuti den for tecken in morse[bokstav]:. Punkt är kort, streck är långt.
Stretch: input() i terminalen – skriv vad som helst.

S9 · Magnetlås ★

Delar: magnetkontakt eller hallsensor, LED (två färger, eller röd/grön-modulen), buzzer.
Mål: grönt när magneten är nära (dörren stängd). Rött och ett pip när den tas bort.
Ledtråd: sensorn är digital. Läs den som knappen. Prova först med print vilket värde "nära" ger.

S10 · Knack-kod ★★★

Delar: knacksensor, LED.
Mål: tre knackningar inom två sekunder tänder LED:n. Andra mönster gör ingenting.
Ledtråd: spara tidpunkten för varje knack (ticks_ms()) i en lista med append. Hur många av tiderna i listan ligger inom de senaste 2000 ms? En knack studsar också – vänta 0,1 s efter varje.

Stationer jag klarat

Kryssen sparas i din webbläsare.

Skriv om det i loggboken

En station som gick är värd två rader. En station som inte gick, och varför, är värd fyra.