Vis indlæg

Denne sektion tillader dig at se alle indlæg oprettet af dette medlem. Bemærk at du kun kan se indlæg der er oprettet i områder du i øjeblikket har adgang til.


Emner - Jakobsen

Sider: [1]
1
Generel Elektronik / Strømvagt
« Dato: August 30, 2019, 18:26:35 »
Hej
Leder efter en færdig unit der kan sende en alarm ved strømsvigt.

Har lige haft en ven hvor HFI var gået i deres sommerhus sikker pga lyb og dermed ingen støm på køle / frys. Og en del måtte smides ud.

Tænker noget der sender sms eller lignende

Der er internet i huset og dermed kunne man evt have noget i skyen der pinger wan ip, fejler den så sendes der en sms eller mail.

Nogen forslag?

2
Generel Elektronik / Kondensator til LK wireless IHC lampeudtag
« Dato: August 10, 2019, 18:26:48 »
Hej
Jeg har en kammerat som har 3 stk. LK  IHC wireless Lampeudtag med Relæ on/off model: 505DA504
De er en af gangen begyndt at tænde / slukke af sig selv ... sidder i en installation der ca. er 6 år gammel, hvor de er monteret inde i et skab hvor der forment ligt godt kan blive varmt.

Jeg har taget dem alle ud for egentligt bare at købe nogle nye.... men inden da har jeg lige skilt en ad, og efter lidt måling er de  tydeligt at der sidder en Vishay 0.27uF 400V MKT373 kondensator i serie med Fase til "strømforsyning" i enheden og den har nu kun ca. 0.1 uF over sige ... jeg har loddet den ud og "hængt" en 0.33uF 600V på istedet som jeg lige havde liggende og så virker den fint igen.....

Så er det bare lige at finde den rigtige kondensator der passer printet og som kan være i enheden.

Når jeg leder rundt omkring kan jeg sagtens finde kondensatoren, men der er 13 ugers levering på 0.27uF version og hvis jeg stepper op på 0.33uF så har f.eks mouser den, men her kommer der lige $20 på levering

https://www.mouser.dk/ProductDetail/594-2222-373-51334

Er der nogen der har en ide til at skaffe en 3-5 stykker til en rimelig pris?

Ca. mål 17x13x6mm og ca 15mm mellem benene


3
Generel Elektronik / Relæ styret af Google Calendar eller IFTTT
« Dato: December 20, 2017, 13:08:06 »
Hej

Er her nogen der ved om der findes et DIN relæ som styres tilslutter via wifi til f.eks Google Calendar eller IFTTT ifttt.com eller andre løsninger?

Jeg har brug for noget varmestyring som kan som kan betjenes på en remote adresse.
Jeg vil helst undgå rasperry pi / esp8266  da det gerne skal sidde i en el-tavle

Det skal også være en løsning der forbinder indefra og ud så der ikke skal opsættes forwarding af porte i router

Det der er målet er af få en brugerflade som er simpel at betjene for ikke tekniske folk

Mvh Jakobsen

4
Arduino & Lign. / Audio Spectrum analyzer FFT / Disco lys
« Dato: Maj 18, 2017, 19:20:57 »
Hej

Jeg roder lidt med at lave noget styring af en programmerbar RGB led strip baseret på HL1606 .
Jeg benytter Arduino UNO.
Jeg kan sagten styre LED som jeg gerne vil med forskellige effekter (løb, blink mm)

Men nu kommer det lidt mere kompliceret, at styre det til musik,
Jeg har en electret mikrofon og en op-amp LM324 (single supply 5V) hvor jeg har laver en Virtuel GND på 2,5V, så jeg kan få et fint analog signal som er offset omkring 2,5v for at gøre Analog indgangen glad på Arduinoen.

I softwaren bruger jeg så #include "arduinoFFT.h"

Først havde jeg tænkt at ville prøve at lave noget "Beat Detect" som kunne finde rytmen i music, efter at have søgt og læst en masse ser det ud til at være mere kompliceret end "bare lige"

Nu har jeg så lavet en mere simpel løsning hvor jeg tænder LED hvis der er over et bestemt niveau på en given frekvens.

Umiddelbar virker det så meget at det blinker til musik, desuden hvis jeg tilslutter en tone generator og sweeper fra f. eks 100Hz til 2Khz så tænder led også ca som forventet, men det virker ikke helt overbevisende.

Så jeg leder efter nogle ideer til at gøre det bedre.

Kode:
#define CHANNEL A0
const uint16_t samples = 128; //This value MUST ALWAYS be a power of 2
double samplingFrequency = 8000;
unsigned int delayTime = 0;
double vReal[samples];
double vImag[samples];

i setup
Kode:
  analogReference(DEFAULT);
   if(samplingFrequency<=1000)
    delayTime = 1000/samplingFrequency;
  else
    delayTime = 1000000/samplingFrequency;
  // nothing to do!
}

i loop kalder jeg Spectrum konstant
Kode:
/**********************************************/
// FFT!
void Spectrum() {

for(uint16_t i =0;i<samples;i++)
  {
   vReal[i]=0;
   vImag[i]=0;
  }
    for(uint16_t i =0;i<samples;i++)
  {
    vReal[i] = double(analogRead(CHANNEL));
    if(samplingFrequency<=1000)
      delay(delayTime);
    else
      delayMicroseconds(delayTime);
  }
  FFT.Windowing(vReal, samples, FFT_WIN_TYP_HAMMING, FFT_FORWARD);  /* Weigh data */
  FFT.Compute(vReal, vImag, samples, FFT_FORWARD); /* Compute FFT */
  FFT.ComplexToMagnitude(vReal, vImag, samples); /* Compute magnitudes */
//  double one_freq = ((5 * 1.0 * samplingFrequency) / samples);v

//    double x = FFT.MajorPeak(vReal, samples, samplingFrequency);
//  Serial.println(x, 6);


       int bass0 = vReal[4]  > 300*2;
       int bass1 = vReal[8]  > 300*2;
       int bass2 = vReal[12]  > 300*2;
       int bass3 = vReal[16]  > 300*2;
       int bass4 = vReal[20]  > 300*2;
       int bass5 = vReal[24]  > 300*2;
       int bass6 = vReal[32]  > 300*2;
       int bass7 = vReal[48]  > 300*2;
       int bass8 = vReal[56]  > 300*2;
       int bass9 = vReal[64]  > 300*2;


  
  if (bass0) { strip.setLEDcolor(0, R);} else { strip.setLEDcolor(0, BLACK);}
  if (bass1) { strip.setLEDcolor(1, R);} else { strip.setLEDcolor(1, BLACK);}
  if (bass2) { strip.setLEDcolor(2, R);} else { strip.setLEDcolor(2, BLACK);}
  if (bass3) { strip.setLEDcolor(3, G);} else { strip.setLEDcolor(3, BLACK);}
  if (bass4) { strip.setLEDcolor(4, G);} else { strip.setLEDcolor(4, BLACK);}
  if (bass5) { strip.setLEDcolor(5, G);} else { strip.setLEDcolor(5, BLACK);}
  if (bass6) { strip.setLEDcolor(6, G);} else { strip.setLEDcolor(6, BLACK);}
  if (bass7) { strip.setLEDcolor(7, B);} else { strip.setLEDcolor(7, BLACK);}
  if (bass8) { strip.setLEDcolor(8, B);} else { strip.setLEDcolor(8, BLACK);}
  if (bass9) { strip.setLEDcolor(9, B);} else { strip.setLEDcolor(9, BLACK);}

strip.writeStrip();  

}

Er dette den rigtige måde at bruge FFT på?

  FFT.Windowing(vReal, samples, FFT_WIN_TYP_HAMMING, FFT_FORWARD);  /* Weigh data */
  FFT.Compute(vReal, vImag, samples, FFT_FORWARD); /* Compute FFT */
  FFT.ComplexToMagnitude(vReal, vImag, samples); /* Compute magnitudes */


Ideer modtages  :)

5
uProcessor / Dødt SD kort fra Raspberry Pi
« Dato: April 19, 2016, 12:34:11 »
Hej, jeg har en Raspberry Pi2 kørende med Kodi (XBMC mediaplayer) sammen med et TV og det virker super fint.

Normalt er der 5 volt på Rpi altid, men det kan ske at stømmen går f.eks ved rengøring.

Jeg opdage så at mit setup ikke virkede og at det var SD kortet (et 8GB Kingston micro HC) der var årsagen. (ved ikke om der evt. har været et strømudfald)

Lagde et nyt image på et kort magen til og Rpi virker fint igen.

Det der undre mig er at kortet slet ikke bliver set på min PC (Win7)  så jeg kan ikke formatere det, jeg kan heller ikke se det i SDformater eller i DiskManager.

Er det bare et defekt kort eller er det blot korrupt på en eller anden måde?

Jeg er klat over at Rpi kan korrupte et kort hvis software er ved at skrive til kortet og strømmen går og at mange "låser" det i read only men det går ikke normalt da linux jo godt kan li at skive på "disken"

Any hints?

6
Programmering / C# TCPIP non blocking client
« Dato: Maj 13, 2015, 13:55:07 »
Hej

Jeg er igang med et project hvor jeg skal styre nogle forskellige enhedder via TCPIP
jeg laver mit styreprogram i C# VS2010

Jeg har brug for hjælp til at i en C# Form at åbne 4 TCP clinet sockets og så sende data til de forskellige enhedder og også modtage fra det tilsluttet udstyr .

Jeg løber dog mod problemer med at min sockets er blocking og dermed går ting i stå hvis der ikke kommer data.

Med nonblocking mode et det lykkes at få 1 socket til at fungere men jeg kan ikke få 4 til at fungere.

Er der nogen der kan hjælpe med et eksempel på flere non blocking sockets samtidig i det samme program?

Jeg savner at det virker som når man har addet en eller flere serial connections

Jeg er meget tidspresset så al input er velkommen :-)


7
Arduino & Lign. / Raspberry Pi / Python / Socket
« Dato: April 08, 2015, 20:58:59 »
Hej
Jeg er igang med et Raspberry Pi projekt hvor jeg har følgende;

En Raspberry pi med i2c gpio expander hvor jeg på 8 bit har led's og 8 andre har push swithces
Jeg ønsker at styre led over IP fra en PC og bruger Socket + et TCP program på PC der kan sende cmd til Pi'en

Jeg har lavet et test program i python og det fungerer i de basale dele
Det venter på en connection og når jeg har connected så kan jeg sende simple cmd's som så tænder led's eller slukker
jeg kan også læse switches.... MEN kun når jeg spørger efter status med "sw" cmd

Problemet er at jeg ønsker at software læser switch status hele tiden så man kan detektere om nogen trykker på en knap, men hvis jeg læser switch status ved den linie der hedder

       data = c.recv(1024)

så læser den kun hver gang det kommer noget data fra PC
med andre ord så "hænger" koden her indtil der kommer data

Jeg kunne godt tænke mig at hvis ikke der er data så kan jeg læse switche alligevel og sende data til PC hvis nogen har trykket på en knap

Håber det giver mening og at der er en der har rodet mere med python end jeg har :-)

Kode:
from socket import *
 ## Import GPIO library
import RPi.GPIO as GPIO
import time ## Import 'time' library. Allows us to use 'sleep'
import serial
import smbus

bus = smbus.SMBus(1)    # 0 = /dev/i2c-0 (port I2C0), 1 = /dev/i2c-1 (port I2C1)

DEVICE = 0x20      #7 bit address (will be left shifted to add the read$
IODIRA = 0x00 # Pin direction register
OLATA  = 0x14 # Register for outputs
GPIOA  = 0x12 # Register for inputs

# Set all GPA pins as outputs by setting
# all bits of IODIRA register to 0
bus.write_byte_data(DEVICE,IODIRA,0x00)

# Set output all 7 output bits to 0
bus.write_byte_data(DEVICE,OLATA,0)

#port1 = serial.Serial("/dev/ttyAMA0", baudrate=115200, timeout=3.0)
port1 = serial.Serial("/dev/ttyAMA0", baudrate=250000, timeout=3.0)

 # Use physical pin numbers
GPIO.setmode(GPIO.BOARD)
#GPIO.setmode(GPIO.BCM)
 # Set up header pin 7 (GPIO7) as an output
GPIO.setup(12,GPIO.OUT)
host = "192.168.1.93"
print host
port = 7777
s = socket(AF_INET, SOCK_STREAM)
#s.setblocking(0)
print "Socket Made"
s.bind((host,port))
print "Socket Bound"
s.listen(5)
print "Listening for connections..."
port1.write("\r\nHello Wold:")

while True:
    c, addr = s.accept() # Establish connection with client.
    print 'Got connection from', addr
    c.send('Thank you for connecting')
    while True:
        data = c.recv(1024)

        if(data == "sw" ):
  # Read state of GPIOA register
         MySwitch = bus.read_byte_data(DEVICE,GPIOA)
         if MySwitch & 0b10000000 == 0b10000000:
          print "Switch 1 was pressed!"
         if MySwitch & 0b01000000 == 0b01000000:
          print "Switch 2 was pressed!"
         else:
          print "NOT pressed"

        if(data[0:3] == "led" ):
            print 'led'
            bus.write_byte_data(DEVICE,OLATA,ord(data[3]))
            print data

        if(data == "on" ):
            print 'pin 12 on'
            GPIO.output(12,True)

        elif(data == 'off' ):
            print 'pin 12 off'
            GPIO.output(12,False) ## Turn off GPIO pin 7

        elif(data == 'close' ):
            print 'closing connection'
            c.close()
            break

        elif(data == 'exit' ):
            print 'closing program'
            c.close()
            s.close()
            break
        else:
            print 'none'
print 'break'
GPIO.cleanup()
c.close()
s.close()

8
R/C & Modeltog / Anki racerbiler
« Dato: Juni 22, 2014, 23:19:17 »
Hej, faldt lige over disse nye racerbaner fra Anki.com
http://techcrunch.com/video/hands-on-with-the-new-anki-drive-2/517973734/
https://www.youtube.com/watch?v=PEGvqkED2iA
Hvordan virker aflæsningen af måtten så bilen kan finde ud af hvor den er er?
Må kunne bruges til mange andre ting  :)

9
Programmering / Altera FPGA Quartus II Cyclone V
« Dato: Juni 16, 2014, 17:14:36 »
Hej
Jeg rodder lidt med FPGA og har et Altera dev kit Cyclone V GT board med  "5CGTFD9E5F35C7" chip.
Jeg tror jeg har rimelig god forståelse for hvordan en FPGA fungere og har lavet en hel del test med verilog og vhdl samt schematics. Kan godt få tingene til at virke så det er også helt fint.

Men så kommer udfordringen, når jeg begynder at presse FPGA'en med højere clock frekvens og større logic løsninger så kan jeg ikke kommer så højt op i frekvens som forventet.
Har rodet med chip planer og placer logic blocks strategisk hvilket hjælper lidt.
Det er lidt ligesom om at det er tilfældigt hvad compileren kommer frem til af løsning fra gang til gang.
Jeg er ganske klar over at det formentlig er routing af signaler mere en den logiske løsning der er problemet.

Næsten lige meget hvad jeg gør kommer jeg ikke meget højere end ca. 250 Mhz
Hvis jeg laver noget meget simpelt kan jeg godt komme over 300Mhz.
Havde faktisk forventet at man kunne fylde FPGA'en meget og så længe man  har register (latch) mellem alle ALM's (LUT's, LE) så kunne den køre fuld hastighed op mod de 400 Mhz.
Håber der er andre herinde der roder med FPGA's og som ved lidt om hvordan man får mest ud af dem :-)
Det er super spændende og der er så mange muligheder

Vh. Jakobsen

Sider: [1]