vossepiep bouwen

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 9
Geregistreerd: 09 Mrt 2016, 23:45

vossepiep bouwen

Berichtdoor denjamar » 10 Mrt 2016, 00:20

Goede dag heren en dames
zal me even voorstellen ik ben dennis

nou heb ik een vraag wie kan mij helpen?

ik wil een vossepiep bouwen deze moet van 30 sec tot 3 min instelbaar zijn dat hij uitzend maar ook dat hij niet uitzend

tx en rx van de zendbak (27mc) word door een relais geschakeld

ik zit met hoe ik de tijd kan in stellen

wie kan me helpen

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: vossepiep bouwen

Berichtdoor nicoverduin » 10 Mrt 2016, 00:26

wat is een vossepiep?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 9
Geregistreerd: 09 Mrt 2016, 23:45

Re: vossepiep bouwen

Berichtdoor denjamar » 10 Mrt 2016, 10:06

nicoverduin schreef:wat is een vossepiep?

een vossepiep is een piep die word uitgezonden op een kannaal op27mc (zendbak van vroeger) 1min aan dan weer 1 min uit en ga zo door

die staat ergens in het land en die zoek je dan op met een meter en zo.

even kort uit gelegt

Berichten: 9
Geregistreerd: 09 Mrt 2016, 23:45

Re: vossepiep bouwen

Berichtdoor denjamar » 10 Mrt 2016, 10:13

nou was ik al op dreef
maar dan met vaste delay tijd deze wil ik kunnen veranderen
cpp code
/*
* vossepiep
* Version 0.1
* Author: dennis
* Created: 2016/03
*/
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int led_pin = 1;
const int relais_PIN = 8; //pin 8 relais voeding 5 volt naar 12 volt
const int SPKR_PIN = 10; //assigning pin 10 to the speaker
const int MAX_FREQ = 10000; //max frequency of the siren wail
const int MIN_FREQ = 3700; //min frequency of the siren wail

int potRead = 0; //potentiometer read in pin Analog 0
int potValue ; //value for potentiometer read
int FREQ_SKIP ; //frequency skip variable
int DELAY = potValue; // variable for delay linking it to the potValue variable

void setup()
{
pinMode(SPKR_PIN, OUTPUT); //pin 10
pinMode (potRead, INPUT); //pin 0
pinMode(relais_PIN, OUTPUT); //pin 8
pinMode(led_pin, OUTPUT); //pin 1

lcd.clear();
lcd.print("Vossepiep"); // zet op display

updateDisplay();
updatefreqSkip();

}
void updateDisplay() //creating a function we can call that updates the LCD
{
lcd.clear();
// adding some name to the values we want to display:
lcd.print("Rate=");
// calling the values we want to display:
lcd.print(potValue);
lcd.print(" Freq=");
// Print the value of the frequency skip
lcd.print(FREQ_SKIP);
}

void updatefreqSkip() //creating a function we can call that updates the FREQ_SKIP
{
if (potValue >= 8)
{
FREQ_SKIP = 10 ;
}
else
{
FREQ_SKIP = 30 ;
}
}

void starttimer()
{
digitalWrite(8, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(1, HIGH);
delay(60000); // wait for a second
digitalWrite(8, LOW); // turn the LED off by making the voltage LOW
digitalWrite(1, LOW);
delay(60000); // wait for a second

}

void loop()
{
starttimer();
updatefreqSkip();

potValue = analogRead(potRead);
potValue = map(analogRead(potRead), 0, 1023, 0, 10);

updateDisplay();

unsigned long siren_start_time = millis();
int freq;
updatefreqSkip();
updateDisplay();
do
{
for (freq=MIN_FREQ; freq<=MAX_FREQ; freq+=FREQ_SKIP)
{
analogRead(potRead);
DELAY = potValue;
tone(SPKR_PIN, freq);
delay(DELAY);
}
updateDisplay();
updatefreqSkip();

for (freq=MAX_FREQ; freq>=MIN_FREQ; freq-=FREQ_SKIP)
{
analogRead(potRead);
DELAY = potValue;
tone(SPKR_PIN, freq);
delay(DELAY);
}
updateDisplay();
updatefreqSkip();
}
while (millis() - siren_start_time < 5000L);
return;
}

Berichten: 4079
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: vossepiep bouwen

Berichtdoor shooter » 10 Mrt 2016, 11:18

geef DELAY een andere naam is verwarrend delay(DELAY)
uiteraard geld ook voor jou leer wat blink without delay is.
kom je 19 maart ook naar de radiovlooienmarkt in rosmalen?
gebruik 0 en 1 niet want dat is USB
verder is analoog A0 en niet 0
die pinnummers is beter met define want dat kost dan geen variabele en het is een constant.
en 60000 milliseconden is 1 minuut geen seconde
delay=potvalue mag ook niet bovenaan.

begin eens met een lange tijd uit, dan heb jij tijd om terug te keren naar de basis.
dan een timer om de piepjes te starten met een potmeter
dan nog een timer hoe lang het aan moet blijven elke keer

en dan kun je daaronder nog eens morse zetten zodat je een paar zenders kunt hebben die elk een eigen code sturen.

de sirene heeft natuurlijk zijn eigen timer, want die gaat pas aan als de tijd voorbij is,
een bakkie vraagt trouwens best veel stroom hoor. en eigenlijk hoeft de hele bak alleen maar aan te staan als er gezonden wordt. (moet je wel het kanaal vast kunnen zetten.
paul deelen
shooter@home.nl

Berichten: 9
Geregistreerd: 09 Mrt 2016, 23:45

Re: vossepiep bouwen

Berichtdoor denjamar » 11 Mrt 2016, 08:30

bedankt voor de tip ik ben er bijna uit

Berichten: 9
Geregistreerd: 09 Mrt 2016, 23:45

Re: vossepiep bouwen

Berichtdoor denjamar » 11 Mrt 2016, 09:44

nog een vraag

hoe kan ik een geluid onder een knop continu laten lopen

voorbeeld geluid 1 onder knop 1 sirene
geluid 2 onder knop 2 sirene 2

en ga zo maar door

kan iemand een klein voorbeeld geven in de code

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: vossepiep bouwen

Berichtdoor nicoverduin » 11 Mrt 2016, 09:56

Ik zie wel in je code staan delay(60000). Met de opmerking delay 1 seconde. Dat is dus een minuut heh.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 9
Geregistreerd: 09 Mrt 2016, 23:45

Re: vossepiep bouwen

Berichtdoor denjamar » 11 Mrt 2016, 10:03

ja sorry ik heb een andere code gemaakt zie hier onder
cpp code
//vossepiep
//versie 0.1
//dennis gijsbertsen
// 10/03/2016

// piep pin 8 and ground

#define wait 3
#define time 10
int freq = 0;

const int relaisPin = 10; // pin 10 relais

int relaisState = LOW; // relais statis

unsigned long previousMillis = 0; // bij 0 relais update hi /low


const long interval = 60000; // interval (milliseconds)60 sec

void setup() {

pinMode(8, OUTPUT); //geluid uitgang
}

void loop()

for (freq = 500; freq < 1000; freq += 5) {
tone(8, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 1000; freq > 500; freq -= 11) {
tone(8, freq, time); // Beep pin, freq, time
delay(wait);
}



// set the digital pin as output:
pinMode(relaisPin, OUTPUT);


unsigned long currentMillis = millis();

if (currentMillis - previousMillis >= interval) {

previousMillis = currentMillis;

// if the relais is off turn it on and vice-versa:
if (relaisState == LOW) {
relaisState = HIGH;

} else {
relaisState = LOW;

}

digitalWrite(relaisPin, relaisState);
}
}

Berichten: 4079
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: vossepiep bouwen

Berichtdoor shooter » 11 Mrt 2016, 16:19

pinmode moet in setup niet in de loop
zet die for loop om in een functie die je aanroept en gebruik dan geen for loop maar +=5
maak nog een timer voor die toon
time is een gereserveerd woord dus andere bedenken
nu staat het relais dus telkens 1 minuut aan en dan 1 minuut uit, bedenk dat 1 minuut aan en 9 uit ook een goede is, want dan wordt het wel moeilijk gemaakt.
paul deelen
shooter@home.nl

Volgende

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 16 gasten