Simple kontakter Accelorometer Example sensors Lysfølsomme modstande RFID reader & tags Temperaturfølsomme modstande Flex Sensor Ultralyds afstandsmåler Piezo Pressure/vibration
Piezo Sound/buzzer Peltier element (varmepumpe) DC motor (Bevægelse) Example actuators Ligth Emitting Diodes LEDs Relæ (Tænd/Sluk) Ventilator (Bevægelse i luft) AkvariePumpe (Bevægelse i vand)
Voresopdagelsesrejse 4 basaleinput/output modes Digital Output Analog Output Digital Input Analog Input
Lysdiode (LED) Light EmittingDiode OBS! Det korte ben på en lysdiode (LED) skal sluttes til jord (GND).
Blink digitalwrite //Blinking LED intledpin= 13; // LED connected to digital pin 13 void setup() { pinmode(ledpin, OUTPUT); // sets the digital pin as output } void loop() { digitalwrite(ledpin, HIGH); // sets the LED on delay(100); // waits for 100 ms digitalwrite(ledpin, LOW); // sets the LED off delay(100); // waits for 100 ms }
Voresopdagelsesrejse 4 basaleinput/output modes digitalwrite(pinnummer, HIGH/LOW) Digital Output Analog Output Digital Input Analog Input
// Knight Rider intnumleds= 5; intpinarray[] = {2, 3, 4, 5, 6}; intcount = 0; inttimer = 100; // each LED is on for the time specified in timer void setup() { for (count=0; count<=4; count++) { pinmode(pinarray[count], OUTPUT); } } void loop() { for (count=0; count<=4; count++) { digitalwrite(pinarray[count], HIGH); delay(timer); digitalwrite(pinarray[count], LOW); delay(timer); } for (count=4; count=0; count--) { digitalwrite(pinarray[count], HIGH); delay(timer); digitalwrite(pinarray[count], LOW); delay(timer); } }
AT arbejde sammen med en lynhurtig idiot/pedant No Start Edit Verify (Compile OK? Edit- Compile- Upload- Run Cycle No Syntaks Check Logisk Check OK? Yes Reset & Upload Run Yes Stop
Digitalt Input HIGH/LOW val = digitalread(inpin)
En lille snak om Elektronik Introduktion til grundlæggende begreber og målemetoder
Strøm André Marie Ampére Fysisk størrelse Måles i I Strømstyrke Ampere (A) Elektrisk strøm er bevægelsen af elektrisk ladning.
Spænding Alessandro Volta Fysisk størrelse Måles i U Spændingsfald Volt (V) Spændingsfald er forskellen på elektrisk spænding mellem 2 punkter i et elektrisk kredsløb. Spænding kan forstås som elektrisk tryk.
Modstand Georg Simon Ohm Fysisk størrelse Måles i R Modstande (Resistans) i serie Ohm Modstande (Ω) i parallel Elektrisk resistans er en egenskab ved en elektrisk leder, som forårsager et tab af elektrisk energi.
Ohms Lov U = R I Georg Simon Ohm Serie Parallel
Størrelsen på en modstand Georg Simon Ohm 4-bånds modstand 1. og 2. streg viser værdien af modstandens 2 første cifre. 3. streg viser hvilket tal der skal ganges med. 4. streg indikerer tolerancen. 5-bånds modstande 1., 2. og 3. streg viser værdien af modstandens 3 første cifre. 3. streg viser hvilket tal der skal ganges med. 4. streg indikerer tolerancen.
Der er 3 ting Spænding måles På tværs Strøm måles På langs modstand måles På tværs af modstanden
Lysdioder (LED) Det korte ben på en lysdiode (LED) skal sluttes til jord (GND).
Forbinde en lysdiode(led) Leder strømmen i en retning men spærrer i den anden retning Ingen modstand i en lysdiode (i lederetningen). Sæt en modstand i serie for at undgå kortslutning (alt for meget strøm).
Breadboard
Switch LED intledpin= 13; // pin for the LED intinpin= 7; // pin for the pushbutton intval= 0; // variable for reading the pin status void setup() { pinmode(ledpin, OUTPUT); // declare LED as output pinmode(inpin, INPUT); // declare pushbutton as input } void loop() { val= digitalread(inpin); // read input value if (val== HIGH) { // check if the input is HIGH (button released) digitalwrite(ledpin, HIGH); // turn LED ON } else { digitalwrite(ledpin, LOW); // turn LED OFF } }
Der er 3 ting ting If For.
Voresopdagelsesrejse 4 basaleinput/output modes digitalwrite(pinnummer, HIGH/LOW) Digital Output Analog Output Digital Input Analog Input minvar = digitalread(pinnummer)
Voresopdagelsesrejse 4 basaleinput/output modes digitalwrite(pinnummer, HIGH/LOW) Digital Output Analog Output Digital Input Analog Input minvar = digitalread(pinnummer) minvar = analogread(pinnummer)
Hvis de værdier man skal detektere ikke er så simple som 0 eller 5 volt
Spændingsdeler med kendte/faste modstande
Spændingsdeler kontakt som special tilfælde (uendelig vs. 0 modstand)
Spændingsdeler med ukendt/variabel modstand Lysfølsom modstand Flexsensor Etc.
Potmeter -Variabel modstand som eksempel på analogt input De 3 ben på Potmetret passer i breadboardet!
Serial Monitor når man gerne vil følge lidt med Send værdier til PC en og vis dem i det vindue der hedder serial monitor To linier kode : Serial.begin(9600) en gang i starten af programmet Serial.println(x) de steder/tidspunkter hvor man gerne vil have vist værdien af variablen x Når programmet kører skal serialmonitor vinduet åbnes
Seriel monitorering af analogt input
Modstand varierer med lysstyrke
Flexing Modstand varierer ved bøjning
Hvad gør et accelerometer F= m a Acceleration : en vektor med 3 komponenter
Hvordan læses fra et accelerometer Læs de analoge værdier mellem 0 1023 på 3 analoge inputpins Ex: int axval = 0; int axpin = 0;.. axval = analogread(axpin);
Ultralyds sensor Læs de analoge værdier mellem 0 1023 på 1 analog inputpin Ex: int distval = 0; int distpin = 0;.. distvak = analogread(distpin);
Voresopdagelsesrejse 4 basaleinput/output modes digitalwrite(pinnummer, HIGH/LOW) Digital Output Analog Output Digital Input Analog Input minvar = digitalread(pinnummer) minvar = analogread(pinnummer)
Voresopdagelsesrejse 4 basaleinput/output modes digitalwrite(pinnummer, [HIGH/LOW]) Digital Output analogwrite(pinnummer, [0,255]) Analog Output Digital Input Analog Input minvar[high,low] = digitalread(pinnummer) minvar[0,1023] = analogread(pinnummer)
Digitalt Output Det har vi allerede gjort: digitalwrite(ledpin, HIGH)
Men hva med alt det ind imellem digitalwrite(12,high) // 5 volt på pin 12 digitalwrite(12,low) // 0 volt på pin 12 Hvad med alle de værdier der ligge imellem 0 volt og 5 volt? Analogt output
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 3,5,6,9,10,11 PWM værdier fra i intervallet [ 0.. 255] svarende til 8 bits opløsning
LED Fading using analogwrite PWM værdier fra i intervallet [ 0.. 255] svarende til 8 bits opløsning
Lav en Light dimmer?
Voresopdagelsesrejse 4 basaleinput/output modes digitalwrite(pinnummer, HIGH/LOW) Digital Output analogwrite(pinnummer, [0,255]) Analog Output Digital Input Analog Input minvar = digitalread(pinnummer) minvar = analogread(pinnummer)
End of day2
Måling Spændingsfald (V) måles i parallel. Strøm (A) måles i serie. Modstand måles uden tilsluttet strømkilde.