TĂ€rning
TÀrning startas med en svepande hand över en ultraljud distansmÀtare
Detta bygge börjar med en tÀrning som startas med en tryckknapp.
Bygget byggs ut och startas med en ultraljuds distansmÀtare.
Börja med att ta bort den gamla startmetoden.
Ta bort kabeln som gÄr mellan strömbrytaren och stift 9 pÄ UNO-kortet.
Ta bort strömbrytaren frÄn experimentplattan.
Om du vill kan du ta bort en av GND-kablarna och flytta en sÄ du bara har tvÄ GND-punkter pÄ experimentplattan.
Du hittar mer om butiken pÄ pchbutik.se.
Video: TĂ€rning som startas med svepande hand och ultraljudssensor.

En HC-SR04 Àr inkopplad till UNO-kortet och lysdioderna Àr bytta till gröna.
Det gÄr att anvÀnda lysdioder med en framspÀnning frÄn 1.8 Volt till 3.5 Volt.
UNO-kortet klarar att driva 40 mA per utgÄng, och en lysdiod Àr normalt 20 mA.

Bilden visar inte alla inkopplingar, utan endast hur HC-SR04 kopplas till UNO-kortet.

Arduino-kod
main.cpp
/*
Experiment med tarning pa UNO R3
En tryckknapp som sluter vid tryckning kopplas.
En av pinnarna till GND
Andra pinnen till 9
En aktiv ton-summer pa 85 dB 5V.
Montera summer mellan lang pinne(plus) pa pinne 11
och kort pinne pa GND
7 st lysdioder kopplas med motstand.
Lysdiod kopplas med lang pinne till 2 och kort pinne till
470 ohm motstand och sedan andra andan pa motstandet till GND.
Gor samma med alla pinnar 3 till 8.
2 5
3 8 6
4 7
*/
#define pinneSummer 11
#define pinneKnapp 9
#define Av 0
#define Rullar 1
int TarningStatus = Av;
int RullFordrojning = 100;
int Num1[] = {0, 0, 0, 0, 0, 0, 8};
int Num2[] = {2, 0, 0, 0, 0, 7, 0};
int Num3[] = {2, 0, 0, 0, 0, 7, 8};
int Num4[] = {2, 0, 4, 5, 0, 7, 0};
int Num5[] = {2, 0, 4, 5, 0, 7, 8};
int Num6[] = {2, 3, 4, 5, 6, 7, 0};
void setup() {
pinMode(pinneSummer, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(pinneKnapp, INPUT_PULLUP);
randomSeed(analogRead(0));
}
void loop() {
int ServoVal = digitalRead(pinneKnapp);
if (TarningStatus == Av) {
if (ServoVal == 0) {
TarningStatus = Rullar;
RullFordrojning = 50;
pipKort();
}
}
if (TarningStatus == Rullar) {
pipKort();
switch (random(1, 7)) {
case 1:
TandLeds(Num1);
break;
case 2:
TandLeds(Num2);
break;
case 3:
TandLeds(Num3);
break;
case 4:
TandLeds(Num4);
break;
case 5:
TandLeds(Num5);
break;
case 6:
TandLeds(Num6);
break;
}
delay(RullFordrojning);
RullFordrojning = RullFordrojning + 10;
if (RullFordrojning > 300) {
TarningStatus = Av;
delay(2000);
pipKort();
}
}
}
void TandLeds(int Num[7]) {
SlackAllaLED();
int i;
for (i = 0; i < 7; i = i + 1) {
digitalWrite(Num[i], HIGH);
}
}
void TandAllaLED() {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
}
void SlackAllaLED() {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
// Piper en kort.
void pipKort() {
digitalWrite(pinneSummer, HIGH);
delay(10);
digitalWrite(pinneSummer, LOW);
}
Denna sida Àr konverterad med hjÀlp av AI.
En sida för dig som bygger elektronik sjÀlv, experimenterar och laborerar.
Skapad av Per-Anders Hult för PchButik.se.




