I detta moment introduceras automatisering och enkel programmering genom ett konkret IoT-exempel. En SBC-PT ansluts till en LED-lampa (actuator) via port D0. Med hjälp av Visual/Block-programmering ska lampans tillstånd ändras automatiskt i en loop.

Syftet med övningen är inte att skapa en avancerad applikation, utan att:
- förstå hur analogWrite fungerar,
- se hur PWM (Pulse Width Modulation) används för att simulera analoga signaler,
- samt koppla samman programlogik, signalteori och fysisk styrning.
Digitala och analoga signaler
Inom elektronik och nätverk skiljer man mellan digitala och analoga signaler.

Digitala signaler:
- har två tillstånd: 0 eller 1
- motsvarar exempelvis AV eller PÅ
- används i funktioner som digitalWrite
Analoga signaler:
- kan anta många olika nivåer
- används för att representera exempelvis ljusstyrka, temperatur eller hastighet
- kräver kontinuerlig variation
I många inbyggda system finns dock inga äkta analoga utgångar. I stället används en teknik som kallas PWM.
PWM – Pulse Width Modulation

PWM är en metod där en digital signal slås av och på mycket snabbt, andelen tid som signalen är PÅ (duty cycle) varierar. Genom att ändra duty cycle uppfattas signalen som:
- svag (låg duty cycle)
- stark (hög duty cycle)
För en LED innebär detta:
- låg duty cycle → svagt ljus
- hög duty cycle → starkt ljus
På SBC-PT används en 10-bitars upplösning, vilket innebär:
- värde 0 → 0 % (släckt)
- värde 1023 → 100 % (full styrka)
analogWrite i SBC-PT

Funktionen analogWrite används för att styra PWM-signalen på en digital pinne. Denna funktion reglerar effekten snarare än bara tillstånd.
Laboration
I denna övning används Visual-programmering:
- slot D0
- main funktion
- While Do loop
- analogWrite slot 0 value X
- delay ms för att göra förändringarna synliga
Genomförande

- Skapa ett nytt projekt i Packet Tracer.
- Placera ut en SBC-PT
- Placera ut en LED-lampa (Actuator)
- Koppla D0 på SBC-PT till D0 på LED-lampan.
- Öppna SBC-PT → fliken Programming.
- Välj Visual / Block Programming.
Programmering – steg för steg

- Skapa main-funktionen.
- Lägg till pinMode slot 0 mode OUTPUT. Detta anger att D0 ska fungera som utgång.
- Från Loops, dra in en While-loop. Använd repeat while do med villkor true. Detta motsvarar en oändlig loop (WHILE DO).
- Inuti while-loopen lägg till blocket analogWrite slot 0 value 0.
- Lägg till delay ms 500
- Duplicera därefter dessa två block och skapa en sekvens med exempelvis följande värden:
- 0
- 200
- 400
- 800
- 1023
- Varje steg följs av: delay ms 500
Kör programmet
- Klicka på Run.
- Observera hur LED-lampan:
- ändrar ljusstyrka stegvis
- når maximal styrka vid 1023
- upprepar sekvensen automatiskt