Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 21:11
CurlyMo schreef op maandag 22 februari 2016 @ 11:31:
Precies. Je geeft op dat het om een RaspberryPi 2 gaat. Dan weet wiringX welke SoC daarbij hoort en hoe de GPIO van de SoC zich vertalen naar de fysiek beschikbaar GPIO van het apparaat.

Zo zou je GPIO 1 van de SoC op de BananaPi fysiek GPIO 6 kunnen zijn, maar op de PCDuino GPIO 3. Of bepaalde GPIO kunnen helemaal niet extern bereikbaar zijn gemaakt.
Hmm, ik zit een beetje door je code te grasduinen, maar ik snap 1 ding niet helemaal.

in bananapi.c staat het volgende stukje code:
C:
1
2
3
4
5
6
7
8
#define SUNXI_GPIO_BASE     (0x01C20800)
//--snip--
        if(wiringBPMode == WPI_MODE_PINS)//wordt gezet in de setup
            pin = pinToGpioR3[pin];//Dit is 272 als we GPIO 6 willen hebben op de BananaPi. Dit is GPIO PI16 op de Allwinner A20 van de BPI
//--snip--
            bank = pin >> 5;//dit is 8
        i = pin - (bank << 5);//dit is 16
        phyaddr = SUNXI_GPIO_BASE + (bank * 36) + 0x10; // +0x10 -> data reg


Maar ik kom er niet uit, als ik dit 'met de hand' uitreken kom ik op een physaddr van 0x1C20930. Kijk ik in de datasheet dan zitten de bitjes van gpio PI16 op bit 0-2 van register PI_CFG2. Deze heeft een offset van 0x128.
Als ik dan deze offset neem van de GPIO_BASE (0x01C20800) kom ik uit op 0x01C20928. Dit is een verschil van 0x08. Dus ik vraag mij een beetje af waar ik de mist in ga...

***edit***
Klein detail, de configure registers in de A20 zijn 16bit. In de Allwinner R8, die op de C.H.I.P. gebruikt wordt zijn deze 32bit.

[ Voor 4% gewijzigd door Vuikie op 23-02-2016 17:26 ]


Acties:
  • 0 Henk 'm!
Op het punt dat ik dit gewoon gekopieerd heb van de code van BananaPi zelf. De enige module die ik echt zelf heb gemaakt is de Hummingboard. Ik zou zelf ook de documentatie in moeten duiken om hier antwoord op te hebben.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 21:11
WOW, jij bent snel :P
CurlyMo schreef op dinsdag 23 februari 2016 @ 17:25:
Op het punt dat ik dit gewoon gekopieerd heb van de code van BananaPi zelf. De enige module die ik echt zelf heb gemaakt is de Hummingboard. Ik zou zelf ook de documentatie in moeten duiken om hier antwoord op te hebben.
hmmm is wel een leuk excuus om er 1 te bestellen :o

[ Voor 69% gewijzigd door Vuikie op 23-02-2016 17:29 ]


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Als je een Python script wil maken dat alléén een interrupt in de gaten moet houden en a.d.h. daarvan telkens iets moet doen, hoe kun je er dan voor zorgen dat het script tussen de interrupts wel actief blijft maar "niets" doet dat de Pi2 belast?

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!
Raven schreef op maandag 29 februari 2016 @ 13:18:
Als je een Python script wil maken dat alléén een interrupt in de gaten moet houden en a.d.h. daarvan telkens iets moet doen, hoe kun je er dan voor zorgen dat het script tussen de interrupts wel actief blijft maar "niets" doet dat de Pi2 belast?
Precies wat je al zegt eigenlijk :) Gewoon via een blocking read de interrupt laten lezen. Zolang er geen interrupts zijn, dan zal hij ook geen resources vragen.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

CurlyMo schreef op maandag 29 februari 2016 @ 13:21:
[...]

Precies wat je al zegt eigenlijk :) Gewoon via een blocking read de interrupt laten lezen. Zolang er geen interrupts zijn, dan zal hij ook geen resources vragen.
Korte Google zoektocht later: GPIO.wait_for_edge() ? Het gaat hier overigens alleen om het detecteren van rising edge, niet beide.

[ Voor 8% gewijzigd door Raven op 29-02-2016 13:25 ]

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • +1 Henk 'm!

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Raven schreef op maandag 29 februari 2016 @ 13:25:
[...]

Korte Google zoektocht later: GPIO.wait_for_edge() ? Het gaat hier overigens alleen om het detecteren van rising edge, niet beide.
GPIO.wait_for_edge(<pin>,GPIO.RISING) kun je gebruiken om alleen de rising edge te pakken.
Simpel voorbeeldje hier: http://raspi.tv/2013/how-...raspberry-pi-and-rpi-gpio

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Acties:
  • 0 Henk 'm!
Kern is natuurlijk of het dan ook een blocking read is?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

u_nix_we_all schreef op maandag 29 februari 2016 @ 13:27:
[...]

GPIO.wait_for_edge(<pin>,GPIO.RISING) kun je gebruiken om alleen de rising edge te pakken.
Simpel voorbeeldje hier: http://raspi.tv/2013/how-...raspberry-pi-and-rpi-gpio
Ah, thanks :) Daar later maar eens naar kijken. * Raven maakt notitie.
CurlyMo schreef op maandag 29 februari 2016 @ 13:28:
Kern is natuurlijk of het dan ook een blocking read is?
De hele "wait_for_edge" functie lijkt dat te zijn, ongeacht wat er achter staat(?). Althans, dat is wat ik zo gauw kan vinden.

[ Voor 93% gewijzigd door Raven op 29-02-2016 13:29 ]

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!
Vuikie schreef op dinsdag 23 februari 2016 @ 17:22:
Hmm, ik zit een beetje door je code te grasduinen, maar ik snap 1 ding niet helemaal.
Zullen we komende dagen even samen de GPIO van de BananaPi aanpakken? Niet helemaal ontopic in een RPi topic, maar ook wel GPIO genoeg :p

Documentatie over de A20 vinden we volgens mij hier:
http://www.haoyuelectroni...10%20PIO%20Controller.pdf

Het doel is een zo basis mogelijke aansturing van alle GPIO die de A20 te bieden heeft, dus zonder rekening te houden met het apparaat dat de SoC implementeert.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 21:11
CurlyMo schreef op maandag 29 februari 2016 @ 22:51:
[...]

Zullen we komende dagen even samen de GPIO van de BananaPi aanpakken? Niet helemaal ontopic in een RPi topic, maar ook wel GPIO genoeg :p

Documentatie over de A20 vinden we volgens mij hier:
http://www.haoyuelectroni...10%20PIO%20Controller.pdf

Het doel is een zo basis mogelijke aansturing van alle GPIO die de A20 te bieden heeft, dus zonder rekening te houden met het apparaat dat de SoC implementeert.
Ik zal kijken of ik daar donderdag tijd voor heb, maar ik zit deze week krap in tijd. Volgende week zit ik 2 weken in Hong Kong voor werk en dat ben ik deze week aan het voorbereiden.

Dat gezegd hebbende, ik heb er ook 1 gekocht op E-bay en die komt:
Geschatte levering : wo. 16 mrt. - ma. 4 apr.
kan ik gelijk kijken of het werkt :D :P

Wat de documentatie voor de A20 betreft, ik had de datasheet van GitHub getrokken ;)
https://github.com/allwinner-zh/documents/tree/master/A20

Zo kwam ik erachter dat de A20 16bit registers gebruikt tegenover nieuwere Allwinner SOC's die 32bit registers hebben voor de GPIO.

[ Voor 13% gewijzigd door Vuikie op 01-03-2016 08:50 ]


Acties:
  • 0 Henk 'm!
Eerste paar GPIO van de Allwinner A10 heb ik uitgezocht vanuit de PCDuino 1:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <sys/mman.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>

#define PAGE_SIZE       (4*1024)
#define BASE_ADDR   0x01C20000
#define PIO                 0x00000800

struct layout {
    char *name;
    struct {
        unsigned long offset;
        unsigned long bit;
    } configure;
    struct {
        unsigned long offset;
        unsigned long bit;
    } data;
} layout[] = {
    { "PI18_SELECT",    { 0x128,    8       }, { 0x130, 18  } },    // PCDuino GPIO 1
    { "PI3_SELECT",     { 0x120,    12  }, { 0x130, 3       } },    // PCDuino GPIO 6
    { "PI10_SELECT",    { 0x124,    8       }, { 0x130, 10  } }     // PCDuino GPIO 10
};  
    
int main(void) {
    int fd = 0;
    if((fd = open("/dev/mem", O_RDWR | O_SYNC )) < 0) {
        printf("error\n");
        return -1;
    }   
    printf("%d\n", fd);
    const char *b = NULL;
    
    void *gpio = (unsigned char *)mmap(0, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, BASE_ADDR);
    
    struct layout *pin = &layout[0];

    printf("%s\n", pin->name);

    *((unsigned long *)(gpio + PIO + pin->configure.offset)) = *((unsigned long *)(gpio + PIO + pin->configure.offset)) | (1 << pin->configure.bit);
    *((unsigned long *)(gpio + PIO + pin->configure.offset)) = *((unsigned long *)(gpio + PIO + pin->configure.offset)) & ~(1 << (pin->configure.bit+1));
    *((unsigned long *)(gpio + PIO + pin->configure.offset)) = *((unsigned long *)(gpio + PIO + pin->configure.offset)) & ~(1 << (pin->configure.bit+2));

    /* Write */
    while(1) {
        *((unsigned long *)(gpio + PIO + pin->data.offset)) = *((unsigned long *)(gpio + PIO + pin->data.offset)) | (1 << pin->data.bit);
        usleep(100000);
        *((unsigned long *)(gpio + PIO + pin->data.offset)) = *((unsigned long *)(gpio + PIO + pin->data.offset)) & ~(1 << pin->data.bit);
        usleep(100000);
    }
}

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 21:11
CurlyMo schreef op woensdag 02 maart 2016 @ 23:59:
Eerste paar GPIO van de Allwinner A10 heb ik uitgezocht vanuit de PCDuino 1:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <sys/mman.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>

#define PAGE_SIZE       (4*1024)
#define BASE_ADDR   0x01C20000
#define PIO                 0x00000800

struct layout {
    char *name;
    struct {
        unsigned long offset;
        unsigned long bit;
    } configure;
    struct {
        unsigned long offset;
        unsigned long bit;
    } data;
} layout[] = {
    { "PI18_SELECT",    { 0x128,    8       }, { 0x130, 18  } },    // PCDuino GPIO 1
    { "PI3_SELECT",     { 0x120,    12  }, { 0x130, 3       } },    // PCDuino GPIO 6
    { "PI10_SELECT",    { 0x124,    8       }, { 0x130, 10  } }     // PCDuino GPIO 10
};  
    
int main(void) {
    int fd = 0;
    if((fd = open("/dev/mem", O_RDWR | O_SYNC )) < 0) {
        printf("error\n");
        return -1;
    }   
    printf("%d\n", fd);
    const char *b = NULL;
    
    void *gpio = (unsigned char *)mmap(0, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, BASE_ADDR);
    
    struct layout *pin = &layout[0];

    printf("%s\n", pin->name);

    *((unsigned long *)(gpio + PIO + pin->configure.offset)) = *((unsigned long *)(gpio + PIO + pin->configure.offset)) | (1 << pin->configure.bit);
    *((unsigned long *)(gpio + PIO + pin->configure.offset)) = *((unsigned long *)(gpio + PIO + pin->configure.offset)) & ~(1 << (pin->configure.bit+1));
    *((unsigned long *)(gpio + PIO + pin->configure.offset)) = *((unsigned long *)(gpio + PIO + pin->configure.offset)) & ~(1 << (pin->configure.bit+2));

    /* Write */
    while(1) {
        *((unsigned long *)(gpio + PIO + pin->data.offset)) = *((unsigned long *)(gpio + PIO + pin->data.offset)) | (1 << pin->data.bit);
        usleep(100000);
        *((unsigned long *)(gpio + PIO + pin->data.offset)) = *((unsigned long *)(gpio + PIO + pin->data.offset)) & ~(1 << pin->data.bit);
        usleep(100000);
    }
}
Die kloppen als een bus. Ik heb hier de datasheet van de A10.

Op de github van Allwinner kan denk ik al veel info vanaf worden gehaald d:)b

edit Ik heb hier een Olimex A10-OlinuXino-LIME hier voor mij liggen. Ook maar eens mee gaan knoeien ;)

[ Voor 3% gewijzigd door Vuikie op 03-03-2016 14:48 ]


Acties:
  • 0 Henk 'm!
Ik heb alle Digitale GPIO op de PCDuino 1 nu uitgezocht. Wat ik niet helemaal kan vinden is hoe het zit met de Analoge IO. Of dit nu aangestuurd wordt door de A10 of door een aparte ADC.

Ook de mapping:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
struct layout {
    char *name;
    struct {
        unsigned long offset;
        unsigned long bit;
    } configure;
    struct {
        unsigned long offset;
        unsigned long bit;
    } data;
} layout[] = {
    { "PB2_SELECT",     { 0x24, 8       }, { 0x34,  2       }   }   // PCDuino GPIO 5
    { "PH5_SELECT",     { 0xFC, 20  }, { 0x10C, 5       }   },  // PCDuino GPIO 9
    { "PH6_SELECT",     { 0xFC, 24  }, { 0x10C, 6       }   },  // PCDuino GPIO 3
    { "PH7_SELECT",     { 0xFC, 28  }, { 0x10C, 7       }   },  // PCDuino GPIO 2
    { "PH8_SELECT",     { 0x100, 0  }, { 0x10C, 8       }   },  // PCDuino GPIO 4
    { "PH9_SELECT",     { 0x100, 4  }, { 0x10C, 9       }   },  // PCDuino GPIO 7
    { "PH10_SELECT",    { 0x100, 8  }, { 0x10C, 10  }   },  // PCDuino GPIO 8
    { "PH11_SELECT",    { 0x100, 12 }, { 0x10C, 11  }   },  // PCDuino GPIO 14
    { "PH12_SELECT",    { 0x100, 16 }, { 0x10C, 12  }   },  // PCDuino GPIO 15
    { "PH13_SELECT",    { 0x100, 20 }, { 0x10C, 13  }   },  // PCDuino GPIO 16
    { "PH14_SELECT",    { 0x100, 24 }, { 0x10C, 14  }   },  // PCDuino GPIO 17
    { "PH15_SELECT",    { 0x100, 28 }, { 0x10C, 15  } },    // PCDuino TX LED
    { "PH16_SELECT",    { 0x104, 0  }, { 0x10C, 16  }   },  // PCDuino RX LED
    { "PI3_SELECT",     { 0x120, 12 }, { 0x130, 3       } },    // PCDuino GPIO 6
    { "PI9_SELECT",     { 0x124, 4  }, { 0x130, 11  } },    // PCDuino GPIO 13
    { "PI10_SELECT",    { 0x124, 8  }, { 0x130, 10  } },    // PCDuino GPIO 10
    { "PI12_SELECT",    { 0x124, 16 }, { 0x130, 12  } },    // PCDuino GPIO 11
    { "PI13_SELECT",    { 0x124, 20 }, { 0x130, 13  }   },  // PCDuino GPIO 12
    { "PI18_SELECT",    { 0x128, 8  }, { 0x130, 18  } },    // PCDuino GPIO 1
};  

[ Voor 80% gewijzigd door CurlyMo op 03-03-2016 23:08 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 21:11
CurlyMo schreef op donderdag 03 maart 2016 @ 23:07:
Ik heb alle Digitale GPIO op de PCDuino 1 nu uitgezocht. Wat ik niet helemaal kan vinden is hoe het zit met de Analoge IO. Of dit nu aangestuurd wordt door de A10 of door een aparte ADC.

--snip--
Wat ik zo 123 gevonden heb is dat de ADC van de A10 zelf gebruikt wordt. De A10 heeft 2 ADC's zie hier: http://linux-sunxi.org/A10/PIO en scroll naar onderen.

In de datasheets heb ik deze ook terug gevonden. De eerste ADC noemt Allwinner een LRADC(Low Resolution Analog to Digital Converter) Dit zijn 2 6bit ADC's. Op de PCduino is dit ADC0 en 1. ADC2-5 is een 4 kanaals 12bit ADC. Allwinner omschijft dit als een 'touchpanel input' en zijn eigenlijk bedoeld om per 2 inputs een 24bit analoge positie bepaling te doen op een touchscreen.
PCduino misbruikt deze als 4 kanaal ADC.

De LRADC staat in de A10 usermanual beschreven vanaf pagina 266 en de TP-controller vanaf pagina 272.

Deze 2 functies vallen dus buiten de normale GPIO. Daar zal dus een aparte tabel voor gemaakt moeten worden.

[ Voor 15% gewijzigd door Vuikie op 04-03-2016 13:14 ]


Acties:
  • 0 Henk 'm!
Ik zie de ADC in de handleiding alleen in verhouding tot audio. Wat ik zoek is een register waar ik kan uitlezen wat het voltage is dat op een analoge pin wordt gezet, wss 0-255 in 8-bits o.i.d.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 21:11
Module: LRADC
Baseadress: 0x01C22800

Module: TP
Baseadress: 0x01C25000

Pagina 266 en 273 van de usermanual ;)

[ Voor 3% gewijzigd door Vuikie op 04-03-2016 14:46 ]


Acties:
  • 0 Henk 'm!
Ik zou daar dus een data register verwachten van 8 bit per kanaal, maar de max die ik zie is 5 bits.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 21:11
CurlyMo schreef op vrijdag 04 maart 2016 @ 14:56:
Ik zou daar dus een data register verwachten van 8 bit per kanaal, maar de max die ik zie is 5 bits.
Vuikie schreef op vrijdag 04 maart 2016 @ 13:11:
[...]
LRADC(Low Resolution Analog to Digital Converter) Dit zijn 2 6bit ADC's. Op de PCduino is dit ADC0 en 1.

ADC2-5 is een 4 kanaals 12bit ADC.

Deze 2 functies vallen dus buiten de normale GPIO. Daar zal dus een aparte tabel voor gemaakt moeten worden.
;)

Acties:
  • 0 Henk 'm!
Was vandaag bezig met de interrupts van de A10. Probleem is alleen dat de PCDuino nogal een klote support heeft qua sysfs GPIO. De benodigde gpio-sunxi kernel module is niet meegeleverd, waardoor ik de standaard methode van interrupt uitlezen van wiringX niet kan gebruiken. Zelf de kernel compileren heb ik geen zin in.

Kan jij op een van die andere A10 apparaten laten weten hoe de sysfs GPIO nummers zich verhouden tot de A10 registers? Dan bouw in ondersteuning gewoon in voor de PCDuino op goed geluk. Volgens deze pagina zouden er maar een beperkt aantal GPIO beschikbaar moeten zijn voor interrupts:
https://github.com/linux-...io/gpio-sunxi.c#L326-L328



Toch maar wel even de kernel gecompileerd :) gpio-sunxi werkt in ieder geval nu.

[ Voor 5% gewijzigd door CurlyMo op 08-03-2016 15:39 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 21:11
CurlyMo schreef op maandag 07 maart 2016 @ 23:06:
Was vandaag bezig met de interrupts van de A10. Probleem is alleen dat de PCDuino nogal een klote support heeft qua sysfs GPIO. De benodigde gpio-sunxi kernel module is niet meegeleverd, waardoor ik de standaard methode van interrupt uitlezen van wiringX niet kan gebruiken. Zelf de kernel compileren heb ik geen zin in.

Kan jij op een van die andere A10 apparaten laten weten hoe de sysfs GPIO nummers zich verhouden tot de A10 registers? Dan bouw in ondersteuning gewoon in voor de PCDuino op goed geluk. Volgens deze pagina zouden er maar een beperkt aantal GPIO beschikbaar moeten zijn voor interrupts:
https://github.com/linux-...io/gpio-sunxi.c#L326-L328



Toch maar wel even de kernel gecompileerd :) gpio-sunxi werkt in ieder geval nu.
Sorry, ik zit op dit moment in Hong Kong, dus ik kan weinig doen op dit moment.

Acties:
  • 0 Henk 'm!
Nieuwe opzet is hier te vinden: https://github.com/wiring...8d8c14aea1b7167472ed565cd

Nieuw ondersteunde apparaten zijn nu de BananaPi M2 (Allwinner A31s) en de PCDuino 1 (Allwinner A10).




Alle apparaten die ik nu hier in huis heb zijn gedaan :)

[ Voor 13% gewijzigd door CurlyMo op 25-03-2016 11:35 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • BastiaanNL
  • Registratie: September 2010
  • Laatst online: 04-09-2023
Hallo allemaal,

ik ben aan het spelen met de pi (eigenaar van een B+), het breadboard en wat ledjes en resistors (had een starterspack besteld zonder jumper cables, zo beginner ben ik...). Maar die zijn als het goed is inmiddels onderweg. Dus snel wat spelen omdat ik niet kan wachten:
Afbeeldingslocatie: http://i67.tinypic.com/bge7f5.jpg
Afbeeldingslocatie: http://i67.tinypic.com/6p3mva.jpg

Nu ben ik beginner met python en wil ik dingen beter begrijpen. Ik heb een stoplichtprogrammatje geschreven. Grappig feitje, hij is iets anders omdat ik in Slovenië woon. In Slovenië heb je prima race stoplichten omdat ze na rood eerst oranje worden voor ze groen worden. :) Haha.


*op de een of andere manier staan er vreemde indents in de loop hieronder, bij mij staat alles hetzelfde indented*
Dit is mijn code voor de Duo traffic light.
Python: DuoTraffic.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)

#leftsidenumbering board pins
redL=26
yellowL=24
greenL=23

#rightsidenumbering board pins
redR=11
yellowR=12
greenR=13

#Activeren van GPIO pins
GPIO.setup(redL,GPIO.OUT)
GPIO.setup(yellowL,GPIO.OUT)
GPIO.setup(greenL,GPIO.OUT)
GPIO.setup(redR,GPIO.OUT)
GPIO.setup(yellowR,GPIO.OUT)
GPIO.setup(greenR,GPIO.OUT)

sequences = int(input("How many traffic light sequences do you wish to see?"))

for i in range(sequences):
    GPIO.output(redL,True)
        GPIO.output(greenR,True)
    time.sleep(5)
    GPIO.output(redL,False)
    GPIO.output(yellowL,True)
    GPIO.output(greenR,False)
    GPIO.output(yellowR,True)
    time.sleep(.5)
    GPIO.output(yellowL,False)
    GPIO.output(greenL,True)
    GPIO.output(yellowR,False)
    GPIO.output(redR,True)
    time.sleep(3)
    GPIO.output(greenL,False)
    GPIO.output(yellowL,True)
    GPIO.output(redR,False)
    GPIO.output(yellowR,True)
    time.sleep(1)
    GPIO.output(yellowL,False)
    GPIO.output(redL,True)
        GPIO.output(yellowR,False)
    GPIO.output(greenR,True)

GPIO.cleanup()

Maar als ik nou bijvoorbeeld 50 sequences wil zien, en dat het programma onderbreek met ctrl + c (via putty remote control) blijven er altijd 2 ledjes branden. Logisch, want de in de loop branden er altijd 2. Maar hoe kan ik de code efficienter schrijven dat als ik het onderbreek de ledjes uitgaan. Ik zat zelf te denken aan een loop in mijn " for i in range(sequences):" dat als het programma wordt onderbroken alle LEDS op False moeten. Tijdens het stellen van de vraag op het antwoord gekomen, dus zal het toch nog even posten omdat ik nu daar weer een vraagje over heb.

Opgelost door de module atexit te gebruiken. Ik heb deze functie gedefinieerd:
def CleanExit():
print("You have cancelled the awesome sequence")
GPIO.cleanup()

en eerste regel in mijn loop is nu:
atexit.register(CleanExit)


Waarom print hij de tekst 2 keer iedere keer dat ik het afsluit? Ben ik te traag met indrukken dat ik de toetsen te lang ingedrukt hou? Hoe kan ik dit bijv voorkomen?? :) :+

Sorry voor deze clownspost.. :+

Acties:
  • 0 Henk 'm!

  • Kraay89
  • Registratie: September 2012
  • Laatst online: 08-09 10:31
BastiaanNL schreef op vrijdag 08 april 2016 @ 09:37:

Wall of text

Waarom print hij de tekst 2 keer iedere keer dat ik het afsluit? Ben ik te traag met indrukken dat ik de toetsen te lang ingedrukt hou? Hoe kan ik dit bijv voorkomen?? :) :+

Sorry voor deze clownspost.. :+
Ik ken de module die je gebruikt niet echt. Maar dit zou een mooi punt kunnen zijn om je te verdiepen in exception handling van python. Als je code stopt met ctrl+c dan gooit python een "KeyboardInterrupt" error. Die kun je opvangen en daarmee er voor zorgen dat je netjes afsluit. :D

Python:
1
2
3
4
5
6
7
try:
    while True:
        #Doe je ding (Hier kun je ook je ook, inplaats van deze [eindeloze] while-loop 
        #de door jou gebruikte forloop plakken)
except KeyboardInterrupt:
    print "Stopping Program"
    GPIO.cleanup()

[ Voor 6% gewijzigd door Kraay89 op 08-04-2016 12:22 ]


Acties:
  • 0 Henk 'm!

  • BastiaanNL
  • Registratie: September 2010
  • Laatst online: 04-09-2023
Kraay89 schreef op vrijdag 08 april 2016 @ 12:18:
[...]


Ik ken de module die je gebruikt niet echt. Maar dit zou een mooi punt kunnen zijn om je te verdiepen in exception handling van python.
Bedankt ga ik doen!!! Dit zijn de tips die ik zoek, zo leer ik begrijpen wat de taal python exact uitvoert en reageert :).

Acties:
  • 0 Henk 'm!

  • Klein_Kipje
  • Registratie: Juni 2007
  • Laatst online: 08:09
Ik gebruik op het ogenblik mijn Pi als squeezeboxradio, ik gebruik een aantal GPIO voor het bedienen van de radio samen met een 3.2"scherm.

Nu heb ik onlangs er een 'aan/uit' knop op gezet die pin 7 en 8 gebruikt. daardoor kom ik twee GPIO tekort voor mijn bediening.

Nu zijn GPIO 2 en 3 nog vrij maar die werken niet als een 'gewone' GPIO (volgens google). Ik kan echter niet via google ontdekken hoe ik deze aan de praat kan krijgen voor een gewone simple input via een schakelaar.

de andere drukknoppen zitten Afbeeldingslocatie: http://www.juulvanhanegem.nl/Knipsel.PNG zo aangesloten en dat werkt gewoon.

Edit:
Na nog te hebben gegoogled begrijp ik (denk ik) dat het opgelost zou zijn als ik die 10K weerstand er van tussen haal. ? Kan iemand dat bevestigen ?

[ Voor 11% gewijzigd door Klein_Kipje op 22-04-2016 15:51 ]

www.weitjerock.com


Acties:
  • +1 Henk 'm!

  • MatsSkoe
  • Registratie: April 2012
  • Laatst online: 05-09 20:53
Klein_Kipje schreef op vrijdag 22 april 2016 @ 15:23:
Ik gebruik op het ogenblik mijn Pi als squeezeboxradio, ik gebruik een aantal GPIO voor het bedienen van de radio samen met een 3.2"scherm.

Nu heb ik onlangs er een 'aan/uit' knop op gezet die pin 7 en 8 gebruikt. daardoor kom ik twee GPIO tekort voor mijn bediening.

Nu zijn GPIO 2 en 3 nog vrij maar die werken niet als een 'gewone' GPIO (volgens google). Ik kan echter niet via google ontdekken hoe ik deze aan de praat kan krijgen voor een gewone simple input via een schakelaar.

de andere drukknoppen zitten [afbeelding] zo aangesloten en dat werkt gewoon.

Edit:
Na nog te hebben gegoogled begrijp ik (denk ik) dat het opgelost zou zijn als ik die 10K weerstand er van tussen haal. ? Kan iemand dat bevestigen ?
Die 10K weerstand zit intern al ingebouwd (iig in een RPi2) en is te configureren met GPIO.setup(..., ..., pull_up_down= ...). In jouw geval wil je een pull-up resistor instellen. Die 1K weerstand is zelfs ook optioneel als je je eigen kennis en precisie vertrouwt, maar kan je altijd als extra bescherming erin zetten. Zie dit handige filmpje.

YouTube: Simple Button Input with the Raspberry Pi

Ik zelf heb nu twee drukknopjes gebouwd die via een python script, opgestart voor OSMC en continu draaiend op de achtergrond, de Philips Hue lampen in mijn huiskamer van kleurschema veranderd.

[ Voor 6% gewijzigd door MatsSkoe op 25-04-2016 10:06 ]


Acties:
  • 0 Henk 'm!

  • Klein_Kipje
  • Registratie: Juni 2007
  • Laatst online: 08:09
de 10K er van tussen laten geeft problemen, dan stopt de pi met werken. Ik moet dus iets doen via GPIO set =up maar weet niet of het dan nog werkt met pikeyd

www.weitjerock.com


Acties:
  • 0 Henk 'm!

  • Sando
  • Registratie: Januari 2007
  • Niet online

Sando

Sandoichi

Ik snap niet hoe die ingebouwde pull up/down technisch werkt.
Zit er dan een verbinding van 10k met de ground aan de I/O in de chip? En is dat veilig genoeg om schade te voorkomen?

En what about een Raspberry die aan het opstarten is, dan is GPIO.setup() nog niet uitgevoerd.

🇪🇺 Buy from EU (GoT)


Acties:
  • 0 Henk 'm!

  • [object Object]
  • Registratie: Augustus 2007
  • Laatst online: 12:25
Hoi allemaal!

Ik ben bezig een deursensor te maken. Nou zie ik kant en klare pakketten voor dat doel, maar ik zit eraan te denken zelf een sensor te maken omdat ik die perfect kan verwerken in het deurkozijn.

Het plan is om dit simpelweg te doen met draadjes en wat aluminiumfolie. Als de uiteinden van de draadjes (aluminiumfolie) contact maken is er niets aan de hand, als er geen contact meer is zou mijn Raspberry dat moeten merken doordat het circuit verbroken wordt.

Ik was wat aan het Googlen, en kwam een volgende setup tegen:
Raspberry PIR
Deze PIR-sensor trekt 5V, en geeft indien er beweging is via de digital out (geel/middelste draad) "3.3V high/low" aldus de productpagina.

Ik zit te denken aan het volgende:
Raspberry contact

De rode/bovenste draad met daarop 3.3V uit de Pi gaat naar mijn custom draadjes-sensor (uitgebeeld als knop), de gele draad gaat richting GPIO 17 (of een willekeurige andere waarop je kunt luisteren). Bij contact wordt de 3.3V die ik via de rode draad krijg doorgestuurd naar de GPIO.

Ziet de Pi dit als een verandering van low naar high? Of bak ik mn Pi dan lekker door?

Mijn dank is groot voor jullie reacties! _/-\o_

Ik ben overigens bezig in 'Electronica voor Dummies'. Echter kan mijn enthousiasme me eigenlijk niet tegenhouden nu al dingen te proberen :+

In the beginning, the universe was created. This made a lot of people very angry and has been widely regarded as a bad move.


Acties:
  • 0 Henk 'm!
Moet lukken ja

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Sando schreef op vrijdag 29 april 2016 @ 12:45:
Ik snap niet hoe die ingebouwde pull up/down technisch werkt.
Zit er dan een verbinding van 10k met de ground aan de I/O in de chip? En is dat veilig genoeg om schade te voorkomen?

En what about een Raspberry die aan het opstarten is, dan is GPIO.setup() nog niet uitgevoerd.
Dat is inderdaad precies wat er gebeurt. En ja dat is veilig. Als je je netjes aan de maximale spanning van 3,3 V houdt, gaat er max 3,3 /10 k = 0,33 mA lopen. Ver onder het maximum. Pas bij een volt of 20 zou deze pullup/down gevaar lopen, maar Dan is je RPi al lang om andere redenen gefrituurd.

Tijdens het opstarten draait je script nog niet en heeft het dus ook geen pullups nodig. Als je circuit ook zonder RPi moet kunnen draaien maar om een of andere reden afhankelijk zou zijn van deze weerstanden, kun je ze misschien beter hardwarematig toevoegen. Ik zie echter niet voor me wanneer dat in de praktijk zo zou zijn.
[object Object] schreef op donderdag 12 mei 2016 @ 21:48:

De rode/bovenste draad met daarop 3.3V uit de Pi gaat naar mijn custom draadjes-sensor (uitgebeeld als knop), de gele draad gaat richting GPIO 17 (of een willekeurige andere waarop je kunt luisteren). Bij contact wordt de 3.3V die ik via de rode draad krijg doorgestuurd naar de GPIO.

Ziet de Pi dit als een verandering van low naar high? Of bak ik mn Pi dan lekker door?
Zou moeten werken ja, maar vergeet niet de (in jouw geval) pulldown. Anders blijft de input zweven en weet je nooit wat er gebeurt.

Acties:
  • 0 Henk 'm!

  • Sando
  • Registratie: Januari 2007
  • Niet online

Sando

Sandoichi

mcDavid schreef op vrijdag 13 mei 2016 @ 10:04:
[...]


Dat is inderdaad precies wat er gebeurt. En ja dat is veilig. Als je je netjes aan de maximale spanning van 3,3 V houdt, gaat er max 3,3 /10 k = 0,33 mA lopen. Ver onder het maximum. Pas bij een volt of 20 zou deze pullup/down gevaar lopen, maar Dan is je RPi al lang om andere redenen gefrituurd.

Tijdens het opstarten draait je script nog niet en heeft het dus ook geen pullups nodig. Als je circuit ook zonder RPi moet kunnen draaien maar om een of andere reden afhankelijk zou zijn van deze weerstanden, kun je ze misschien beter hardwarematig toevoegen. Ik zie echter niet voor me wanneer dat in de praktijk zo zou zijn.
Thx voor de uitleg. Als je +3.3 overal zit via externe voeding kan 'men' ook op de knopjes drukken tijdens het aanzetten/booten van bijvoorbeeld je internetradio. Dus ik denk dat externe weerstanden dan wel noodzakelijk zijn.

Maar is dat bij het booten niet ook zo bij 'interne' voeding? De 3.3 van de GPIO staat toch altijd aan, of je nu een GPIO-script draait of niet?

🇪🇺 Buy from EU (GoT)


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Als je RPi boot, zijn de GPIO's allemaal high impedance (inputs), dus zijn ze veilig. Alleen als je zélf per-ongeluk een pin die nog aan 3v3 of Ground hangt als output set en zo een kortsluiting maakt, zou je een pin (of zelfs de hele SOC) kunnen beschadigen.

Maar als je je daartegen wilt indekken, moet je een weerstand in serie zetten met je pin. Een pullup/down weerstand zal je nergens tegen beschermen.

Acties:
  • 0 Henk 'm!

  • karel1
  • Registratie: Oktober 2004
  • Niet online
Met een RasPi Nano heb ik een Nixie klok gebouwd. De tijd in 6 digits wordt een serie van drie schuifregisters ingeschoven m.b.v. de GPIO. Het werkt prima, maar ... Als ik naar de weergave van de seconden kijk zie ik dat niet elke digit een seconde te zien is. Per 10 seconden zijn er 1 á 2 die net iets korter te zien zijn. En steeds weer andere. Ik vermoed dat wordt veroorzaakt door de NTP/tijd service in RaspBian of in traagheid van het Python programma (http://www.smbaker.com/ra...ixie-tube-clock-prototype). Ik heb natuurlijk gegoogled maar niets gevonden (misschien omdat ik niet goed weet welke vraag ik moet stellen). Heeft iemand een idee wat hier aan de hand is? [de klok als geheel loopt exact goed, dus dat is niet mijn vraag]

Acties:
  • 0 Henk 'm!

  • Mr_gadget
  • Registratie: Juni 2004
  • Laatst online: 16:24

Mr_gadget

C8H10N4O2 powered

De Rpi is niet bepaald een realtime systeem dus daar kan het fout gaan. Zie je CPU spikes als de secondes niet lekker lopen? Je kan je kernel patchen voor meer realtime gedrag.
Maar het kan ook gewoon zijn dat je programma lockt op het moment dat je de tijd opvraagt. Misschien eens naar de structuur kijken.

Acties:
  • 0 Henk 'm!

  • Siegfried.
  • Registratie: Januari 2008
  • Laatst online: 24-05-2023
Maakt het iets uit via wat voor soort kabels je GPIO-signalen verstuurd?

Ik wil een proximity-sensor op een flinke afstand van de Rpi3 gaan gebruiken en als die iets waarneemt, dan gaat er een MP3 spelen via een speaker naast de proximity sensor. In totaal heb ik daar 5 aders voor nodig (3 voor de sensor, 2 voor de speaker), en nu zat ik te denken om dit via een XLR-kabel te doen. Zou dat kunnen?

Acties:
  • 0 Henk 'm!

  • GeeBee
  • Registratie: Maart 2000
  • Laatst online: 26-08 06:43

GeeBee

Oddball

(jarig!)
Kun je dan niet beter de Pi verplaatsen en een lange 220V kabel neerleggen?

[ Voor 45% gewijzigd door GeeBee op 04-07-2016 01:13 ]

Woof, woof, woof! That's my other dog imitation.


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Siegfried. schreef op maandag 04 juli 2016 @ 00:45:
Maakt het iets uit via wat voor soort kabels je GPIO-signalen verstuurd?

Ik wil een proximity-sensor op een flinke afstand van de Rpi3 gaan gebruiken en als die iets waarneemt, dan gaat er een MP3 spelen via een speaker naast de proximity sensor. In totaal heb ik daar 5 aders voor nodig (3 voor de sensor, 2 voor de speaker), en nu zat ik te denken om dit via een XLR-kabel te doen. Zou dat kunnen?
Kwestie van proberen lijkt me. Een xlr kabel lijkt me niet de meest logische keus, maar zolang er maar genoeg aders in zitten moet het kunnen.

Afhankelijk van hoe je met de proximity sensor communiceert kan het wel zijn dat de kabel niet te lang mag zijn. Seriële data-overdracht kan last krijgen van overspraak. Als het gewoon een hoog/laag sensor is zal het weinig uitmaken.

Acties:
  • 0 Henk 'm!

  • Siegfried.
  • Registratie: Januari 2008
  • Laatst online: 24-05-2023
GeeBee schreef op maandag 04 juli 2016 @ 01:11:
Kun je dan niet beter de Pi verplaatsen en een lange 220V kabel neerleggen?
Helaas is verplaatsen geen optie. In totaal zullen er 7 pi's op dezelfde plek draaien en 7 verschillende speakers/sensoren aansturen, die elk op max 3/4m afstand zitten.
mcDavid schreef op maandag 04 juli 2016 @ 08:25:
[...]

Kwestie van proberen lijkt me. Een xlr kabel lijkt me niet de meest logische keus, maar zolang er maar genoeg aders in zitten moet het kunnen.

Afhankelijk van hoe je met de proximity sensor communiceert kan het wel zijn dat de kabel niet te lang mag zijn. Seriële data-overdracht kan last krijgen van overspraak. Als het gewoon een hoog/laag sensor is zal het weinig uitmaken.
Heb je een logischere keus? Mij leek XLR handig vanwege de degelijke kabels en plugs. Zeker omdat de installatie mee moet naar festivals, en dus regelmatig op en afgebouwd moet worden.

Hm, en als hoog/laag beter is, dan kan ik misschien beter gewoon een PIR gebruiken. Scheelt weer analoge waardes omzetten naar digitaal.

[ Voor 6% gewijzigd door Siegfried. op 04-07-2016 10:07 ]


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Ohja dan is een degelijke kabel met degelijke stekkers wel een voordeel. Verder zou ik zeggen gewoon proberen en kijken of het werkt. Problemen oplossen die je helemaal (nog) niet hebt is weinig zinvol.

Acties:
  • 0 Henk 'm!

  • Siegfried.
  • Registratie: Januari 2008
  • Laatst online: 24-05-2023
True, maar wellicht dat iemand er al iets zinnigs over kon zeggen. Ik zag wel een youtube-filmpje van iemand die GPIO-signalen via UTP stuurde, over een kabel van >20 meter. Dat kan ook nog interessant zijn.

Edit: filmpje.

[ Voor 16% gewijzigd door Siegfried. op 04-07-2016 15:01 ]


Acties:
  • 0 Henk 'm!

  • GeeBee
  • Registratie: Maart 2000
  • Laatst online: 26-08 06:43

GeeBee

Oddball

(jarig!)
Zijn hier ook mensen aanwezig die programmeren met Scratch?
Zo op het oog is daar mooi en eenvoudig mee te werken.

https://www.raspberrypi.o...ge/scratch/gpio/README.md
http://simplesi.net/scratchgpio/using-stepper-motors/

Zo ja, dan ben ik benieuwd naar de ervaringen.

[ Voor 9% gewijzigd door GeeBee op 19-08-2016 23:07 ]

Woof, woof, woof! That's my other dog imitation.


Acties:
  • 0 Henk 'm!

  • DeKoeDoeMoe
  • Registratie: September 2003
  • Laatst online: 20-12-2018
Hey allen,

Project: Flowmeter

Doel: RPi 3B gebruiken om data uit te lezen van een flowmeter en deze via wifi automatisch naar de server te versturen

Opstelling: Afbeeldingslocatie: https://tweakers.net/ext/f/DUzzeztf3LZVHuedFAZzsXZ3/full.png

Probleem: Alles werkt zoals het hoort zolang ik de standaard kabeltjes gebruik van de RPi, vanaf de moment dat ik langere kabels gebruik heb ik zoveel verlies dat de flowmeter niet meer wordt gevoed en geen data input meer krijg. Nu had ik gedacht een galvanische scheiding + isolator ertussen te plaatsen, maar ik vind nergens de juiste specs (of ik ben totaal verkeerd aan het zoeken).

Vraag: Wat is de max lengte vooraleer er verlies optreedt en wat is de beste oplossing om dit tegen te gaan?

Specs flowmeter: flowmeterspecs

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 15:09
Volgens mij moet die flowmeter met minimaal 6 volt gevoed worden

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • Steefph
  • Registratie: Juli 2002
  • Laatst online: 01-09 21:30
Maar, dat is een 4-20mA apparaat? Die moet dus 24V gevoed worden en je moet hem analoog uitlezen (bijv over een 250Ohm weerstand) als ik het niet verkeerd zie natuurlijk ;)

Ah, de output kan op puls staan. Op de 4-20mA moet 24V gezet worden en dan gewoon de output zoals je het nu hebt. Dan maakt de afstand niet meer uit.

Outputs: 1 analog and 2 digital
Analog: 4...20mA
Digital Pulse, Frequency, Logic
Nominal voltage: 24V DC
Power supply via 4...20mA: 6...30V DC

[ Voor 48% gewijzigd door Steefph op 19-09-2016 16:39 ]

Alles is terug te redeneren naar 4


Acties:
  • 0 Henk 'm!

  • DeKoeDoeMoe
  • Registratie: September 2003
  • Laatst online: 20-12-2018
ik krijg wel degelijk pulse output op 5 volt, ik weet dat de flowmeter meer nodig heeft en ben eigenlijk op zoek naar goede transfo die min 24V doorgeeft en waar ik de - zijde hetzelfde kan houden.

Dank je Steefph, had je reactiewijziging nog niet gelezen

[ Voor 13% gewijzigd door DeKoeDoeMoe op 19-09-2016 16:54 ]


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 15:09
DeKoeDoeMoe schreef op maandag 19 september 2016 @ 16:53:
ik krijg wel degelijk pulse output op 5 volt, ik weet dat de flowmeter meer nodig heeft en ben eigenlijk op zoek naar goede transfo die min 24V doorgeeft en waar ik de - zijde hetzelfde kan houden.

Dank je Steefph, had je reactiewijziging nog niet gelezen
Het probleem is dat je hem nu voed met 5v wat als aan de minimale kant is. Als je die draden langer maakt, dan krijgt hij eigenlijk maar iets van 4,5 volt, en dat is echt te weinig.

Hoe lang wil je de draden maken?

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • DeKoeDoeMoe
  • Registratie: September 2003
  • Laatst online: 20-12-2018
ongeveer 20m max

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 15:09
Dat gaat ook voor de pulsen best lastig worden. Ongeacht de voedings spanning. Hou er ook rekening mee dat de ingang van de GPIO maar gerate is op max 3,3V

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • DeKoeDoeMoe
  • Registratie: September 2003
  • Laatst online: 20-12-2018
5V op pin 2 en 4 ?

Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 15:09
Er zit inderdaad 5V continu spanning op de GPIO header maar de io poorten zelf zijn 3,3V

https://www.raspberrypi.org/documentation/usage/gpio/

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • DeKoeDoeMoe
  • Registratie: September 2003
  • Laatst online: 20-12-2018
Maar die worden gebruikt om de output van de flowmeter uit te lezen ? Twee transfo's nodig dan ? Lijkt me raar sorry (mijn elektronica kennis is heel basic, ik stond in voor de python programmatie maar door vertrekkende collega's moet ik dit nu alleen doen)

Acties:
  • 0 Henk 'm!

  • Steefph
  • Registratie: Juli 2002
  • Laatst online: 01-09 21:30
DeKoeDoeMoe schreef op maandag 19 september 2016 @ 16:53:
ik krijg wel degelijk pulse output op 5 volt, ik weet dat de flowmeter meer nodig heeft en ben eigenlijk op zoek naar goede transfo die min 24V doorgeeft en waar ik de - zijde hetzelfde kan houden.

Dank je Steefph, had je reactiewijziging nog niet gelezen
12V werkt waarschijnlijk ook al prima voor die afstand. In principe kun je de voltage drop berekenen met je gebruikte draad en moet je op minimaal 6V uitkomen bij de sensor.

Alles is terug te redeneren naar 4


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 15:09
DeKoeDoeMoe schreef op maandag 19 september 2016 @ 17:40:
Maar die worden gebruikt om de output van de flowmeter uit te lezen ? Twee transfo's nodig dan ? Lijkt me raar sorry (mijn elektronica kennis is heel basic, ik stond in voor de python programmatie maar door vertrekkende collega's moet ik dit nu alleen doen)
Je hebt geen trafo nodig. Heb je in de code de pull-up resistor aangezet op GPIO 4?
Python:
1
GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_UP)


Zorg voor een wat dikkere voedingsdraad die geven voor die afstanden een wat lager verlies. Als je een stopcontact in de buurt van de flowmeter hebt kan je gewoon een standaard 12v adaptertje gebruiken waar je de stekker vanaf knipt en dan heb je mooie korte afstanden.

Haal pin 3 los op de flowmeter, zet de Raspberry aan en meet op de flow meter op pin 4 en op GPIO4 of je daar 3,3 volt ziet. Als je op beide 3.3 volt ziet dan zit dat goed.

Sluit nu de draad die op pin 3 moet van de flowmeter aan op pin 4 (samen met de andere draad.) Meet nu op de GPIO4 of de spanning 0 volt is.

Sluit nu beide aan op pin 3 en 4 op de flow meter en dan zal het goed moeten gaan.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • verbatim
  • Registratie: November 2010
  • Laatst online: 17-01-2024
Ik heb een bashscriptje om een led te laten knipperen.
De ground heb ik vanaf pin 6 naar de plus van de led verbonden.
De min heb ik vanaf pin 7 naar de min van de led verbonden.
Als ik nu het bashscriptje start gaat het ledje nog niet knipperen.
Aangezien dit mijn eerste keer is met de GPIO vraag ik mij af of ik ook vanaf pin 1 de 3volt moet aansluiten op het breadbord.

Acties:
  • 0 Henk 'm!

  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 20:28
Je moet een LED nooit direct op GPIO's aansluiten. Er moet altijd een stroombeperkende weerstand in serie mee geschakeld worden, anders blaas je de LED en/of de GPIO pins op.

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 29-08 20:08
verbatim schreef op vrijdag 23 september 2016 @ 13:41:
Ik heb een bashscriptje om een led te laten knipperen.
De ground heb ik vanaf pin 6 naar de plus van de led verbonden.
De min heb ik vanaf pin 7 naar de min van de led verbonden.
Als ik nu het bashscriptje start gaat het ledje nog niet knipperen.
Aangezien dit mijn eerste keer is met de GPIO vraag ik mij af of ik ook vanaf pin 1 de 3volt moet aansluiten op het breadbord.
Als ik op het schema kijk van de GPIO dan is pin 6 de ground. Die heb jij aan de plus aangesloten van het ledje. Je hebt het dus verkeerd om aangesloten.

Acties:
  • 0 Henk 'm!

  • verbatim
  • Registratie: November 2010
  • Laatst online: 17-01-2024
Lennyz schreef op vrijdag 23 september 2016 @ 13:53:
[...]


Als ik op het schema kijk van de GPIO dan is pin 6 de ground. Die heb jij aan de plus aangesloten van het ledje. Je hebt het dus verkeerd om aangesloten.
Oke maar moet ik nu ook pin 1 3v aansluiten op het breadbord of hoeft dat niet.

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 29-08 20:08
verbatim schreef op vrijdag 23 september 2016 @ 14:02:
[...]

Oke maar moet ik nu ook pin 1 3v aansluiten op het breadbord of hoeft dat niet.
Je GPIO pins leveren ook al 3.3v dus nee dat hoeft niet.

Acties:
  • 0 Henk 'm!

  • verbatim
  • Registratie: November 2010
  • Laatst online: 17-01-2024
Lennyz schreef op vrijdag 23 september 2016 @ 14:10:
[...]


Je GPIO pins leveren ook al 3.3v dus nee dat hoeft niet.
Ik wil toch nog even testen met een multimeter ik had de multimeter op 20v gezet maar als ik dan meet dan zie ik 0.00. ik heb ook nog het Gertboard, die aangesloten en alle lampjes branden op het Gertboard.
Op welke stand kan ik de multimeter het beste zetten om de GPIO voltage te meten.

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 29-08 20:08
verbatim schreef op vrijdag 23 september 2016 @ 15:06:
[...]

Ik wil toch nog even testen met een multimeter ik had de multimeter op 20v gezet maar als ik dan meet dan zie ik 0.00. ik heb ook nog het Gertboard, die aangesloten en alle lampjes branden op het Gertboard.
Op welke stand kan ik de multimeter het beste zetten om de GPIO voltage te meten.
Is je code wel goed? Anders staat er 0v op de GPIO (als ik me niet vergis).

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
verbatim schreef op vrijdag 23 september 2016 @ 15:06:
[...]

Ik wil toch nog even testen met een multimeter ik had de multimeter op 20v gezet maar als ik dan meet dan zie ik 0.00. ik heb ook nog het Gertboard, die aangesloten en alle lampjes branden op het Gertboard.
Op welke stand kan ik de multimeter het beste zetten om de GPIO voltage te meten.
gelijkspanningsstand is prima. Als 'ie niet auto-switching is is de 20v range ook prima.

Als de pin hoog is zou je 3,3V moeten meten. Anders inderdaad 0V.

Vergeet idd die weerstand niet, als je die LED ook goedom geprobeerd hebt kan het goed zijn dat je nu die GPIO pin opgeblazen hebt en zou ik even een andere proberen.

  • verbatim
  • Registratie: November 2010
  • Laatst online: 17-01-2024
mcDavid schreef op vrijdag 23 september 2016 @ 15:11:
[...]


gelijkspanningsstand is prima. Als 'ie niet auto-switching is is de 20v range ook prima.

Als de pin hoog is zou je 3,3V moeten meten. Anders inderdaad 0V.

Vergeet idd die weerstand niet, als je die LED ook goedom geprobeerd hebt kan het goed zijn dat je nu die GPIO pin opgeblazen hebt en zou ik even een andere proberen.
Ik heb nu inderdaad 3.3v kunnen meten. Maar nu wil ik het Gertboard proberen met de gpio pinnen. Ik heb geprobeerd om de eerste pin pc0 te nemen en de pin daarnaast aan de rechterkant voor ground, maar als ik nu meet dan meet ik maar 0.13 v. Ik weet niet of ik andere pinnen moet verbinden om de gpio van het Gertboard te activeren. Ik zie niet echt in de handleiding info daarover.
Oh ik denk dat ik de pin gpio0 moet hebben maar ik meet nog niks.

[ Voor 3% gewijzigd door verbatim op 24-09-2016 09:42 ]


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Mijn neef heeft via een relais zijn deurbel/belknop aan de RPi gehangen. Het relais verbindt na het drukken op de belknop de ground met een als input ingestelde pin, waarna een Python script reageert op de interrupt.

Dat werkte eerst niet, zodra het niet-ingeschakelde relais werd aangesloten regende het interrupts, alsof de betreffende GPIO-pin zwevend was.

De interne pull-up weerstand was echter ingeschakeld.

Pas na het toevoegen van 2 regels debounce-code werkte het zoals het moet.

Hoort een ingeschakelde pull-up weerstand dit niet te voorkomen?

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 15:09
Raven schreef op dinsdag 27 september 2016 @ 23:04:
Mijn neef heeft via een relais zijn deurbel/belknop aan de RPi gehangen. Het relais verbindt na het drukken op de belknop de ground met een als input ingestelde pin, waarna een Python script reageert op de interrupt.

Dat werkte eerst niet, zodra het niet-ingeschakelde relais werd aangesloten regende het interrupts, alsof de betreffende GPIO-pin zwevend was.

De interne pull-up weerstand was echter ingeschakeld.

Pas na het toevoegen van 2 regels debounce-code werkte het zoals het moet.

Hoort een ingeschakelde pull-up weerstand dit niet te voorkomen?
Nee, een pull-up weerstand voorkomt totaal geen dender van een fysieke schakelaar zoals een relais.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

SnowDude schreef op dinsdag 27 september 2016 @ 23:21:
[...]

Nee, een pull-up weerstand voorkomt totaal geen dender van een fysieke schakelaar zoals een relais.
"zodra het niet-ingeschakelde relais werd aangesloten regende het interrupts" ;)

Er was dus helemaal geen sprake van dender, zonder ook maar iets te doen gebeurde dat al.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 29-08 20:08
Raven schreef op dinsdag 27 september 2016 @ 23:04:
Mijn neef heeft via een relais zijn deurbel/belknop aan de RPi gehangen. Het relais verbindt na het drukken op de belknop de ground met een als input ingestelde pin, waarna een Python script reageert op de interrupt.

Dat werkte eerst niet, zodra het niet-ingeschakelde relais werd aangesloten regende het interrupts, alsof de betreffende GPIO-pin zwevend was.

De interne pull-up weerstand was echter ingeschakeld.

Pas na het toevoegen van 2 regels debounce-code werkte het zoals het moet.

Hoort een ingeschakelde pull-up weerstand dit niet te voorkomen?
Nee, volgens mij zorgt de pull-up er alleen voor dat de Raspberry überhaubt kan registreren of iets low of high is.

De debouncecode zorgt ervoor dat een LOW of HIGH minimaal een x aantal miliseconde moet duren voordat het geregistreerd wordt als het indrukken van de knop.

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Maar dan blijft de vraag, waar komt de noodzaak voor debouncecode weg? Testen met een 15cm lang draadje van de ground naar de betreffende pin levert geen noodzaak voor debouncecode op, de wat langere draad naar het relais wel.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 20:28
De ingebouwde pullups zijn erg zwak (30k-100k) en zo'n lange draad pakt meer ruis op dan zo'n pullup weg kan werken. Als je een fysieke pullup (van 4.7k of zelfs 1k o.i.d.) zou aansluiten zou je het probleem niet hebben.

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Wacht even, een pullup met lagere weerstandswaarde is sterker? :S

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Raven schreef op zaterdag 01 oktober 2016 @ 10:09:
Wacht even, een pullup met lagere weerstandswaarde is sterker? :S
Ja.Bij lagere weerstand loopt er meer stroom.

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Acties:
  • +1 Henk 'm!

  • Teleflubbie
  • Registratie: Juni 2001
  • Laatst online: 01-09 18:34
Had zelf ook last van 'spikes' op GPIO inputs door overspraak op lange leidingen.
Heb dit opgelost door condensatoren (100nF) over de ingangen te zetten.

Acties:
  • 0 Henk 'm!

  • JorisV
  • Registratie: September 2008
  • Laatst online: 08-09 22:30
Ik wil graag mijn electriciteits-gas- en waterverbruik meten met de pi. Ik heb ouderwetse meters. Ik ben begonnen met analoge inputs te maken met een mcp3008 en een LDR voor de ledjes van de elektriciteitsmeter. Met polling krijg ik dan mooie grafiekjes, van max na min. Ik vroeg me af of ik de LDR ook rechtstreeks aan de gpio kan aansluiten? En moet daar dan nog een weerstand tussen? Op internet vind ik voorbeelden van drukknoppen die ook zonder weerstand worden aangesloten, dit lijkt me niet veel anders. Iemand een idee?

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
JorisV schreef op woensdag 12 oktober 2016 @ 09:01:
Ik wil graag mijn electriciteits-gas- en waterverbruik meten met de pi. Ik heb ouderwetse meters. Ik ben begonnen met analoge inputs te maken met een mcp3008 en een LDR voor de ledjes van de elektriciteitsmeter. Met polling krijg ik dan mooie grafiekjes, van max na min. Ik vroeg me af of ik de LDR ook rechtstreeks aan de gpio kan aansluiten? En moet daar dan nog een weerstand tussen? Op internet vind ik voorbeelden van drukknoppen die ook zonder weerstand worden aangesloten, dit lijkt me niet veel anders. Iemand een idee?
Voor een drukknop kun je eenvoudig de interne pullup (ca. 50 kΩ) gebruiken. Of dat met je LDR goed uitkomt zal afhangen van de weerstandswaarde en de lichtsterkte.

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

JorisV schreef op woensdag 12 oktober 2016 @ 09:01:
Ik wil graag mijn electriciteits-gas- en waterverbruik meten met de pi. Ik heb ouderwetse meters. Ik ben begonnen met analoge inputs te maken met een mcp3008 en een LDR voor de ledjes van de elektriciteitsmeter. Met polling krijg ik dan mooie grafiekjes, van max na min. Ik vroeg me af of ik de LDR ook rechtstreeks aan de gpio kan aansluiten? En moet daar dan nog een weerstand tussen? Op internet vind ik voorbeelden van drukknoppen die ook zonder weerstand worden aangesloten, dit lijkt me niet veel anders. Iemand een idee?
Direct aansluiten gaat volgens mij nogal lastig. Ik gebruik zelf een CNY70 met een paar weerstandjes en een Adafruit ADS1015 ingesteld als comparator waarbij de alertpin van die aan een GPIO-pin hangt en als interrupt is ingesteld.

Zie https://github.com/adafruit/Adafruit_Python_ADS1x15 voor python code.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • JorisV
  • Registratie: September 2008
  • Laatst online: 08-09 22:30
Het lukt toch goed om het direct aan te sluiten. Met de interne pullup GPIO18 hoog gezet en aan de LDR en de andere poot van de LDR aan de gnd. Met een interrupt kan ik nu de pulsen tellen. Dit werkt denk ik vooral omdat de LDR van maximale weerstand naar minimaal gaat.
Voor mijn water en gas ga ik ook voor een CNY70. Die wilde ik uitlezen met een MCP3008, maar dan zit ik vast aan polling. Ik zal eens kijken of ik het met interrupts voor elkaar krijg en ook wat verder kijken naar de ADS1015, waarvoor dank.

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Ok :)

Hebben jouw water- en gasmeter reflectors dan? De gasmeter en (vorige) watermeter las ik beide uit met behulp van een HMC5883L elektronisch kompas omdat beide geen reflector hadden. De watermeter is echter vervangen door een model met half-rond ronddraaiend plaatje dat ik uitlees m.b.v. http://www.domoticz.com/wiki/PiFace#Water_meter_sensor

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • JorisV
  • Registratie: September 2008
  • Laatst online: 08-09 22:30
De gasmeter heeft een reflecterend vlakke op de 6, de watermeter is hetzelfde model met een half ronddraaiend plaatje. Die watermeter gaat prima met een cny70, bij de gasmeter is er weinig contrast en schommelt de basislijn. Daar moet ik nog eens kijken naar magnetische sensoren, want met een app op mijn telefoon zou er ook een veranderend magnetisch veld moeten zijn.
Die ADS1015 ziet er wel heel interessant uit moet ik zeggen. Kan je de alertpin op meerdere analoge inputs laten triggeren? Want dan kan ik gas en water met 1 ADS1015 doen.

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Dan heb jij mazzel met de gasmeter, ik moet het met magnetische velden doen. Al levert dat wel data op, ooit eens info over geplaatst in een apart topic, dat ik al haast was vergeten :+ Analoge meter uitlezen met een Arduino/Raspberry Pi

M.b.t. de alertpin en meerdere inputs. Ehm, goeie, nooit geprobeerd (niet nodig hier). Maar je hebt maar 1 alertpin dus dat maakt onderscheid maken tussen de inputs nogal lastig.

Gelukkig kun je zonder problemen meerdere ADC's aan de I2C bus hangen omdat je het adres kan instellen.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • JorisV
  • Registratie: September 2008
  • Laatst online: 08-09 22:30
Het is me gelukt alle signalen digitaal te maken. Eerst met weerstanden voor de LED en de ldr van de cny70 het contrast ongeveer 1,5V gemaakt. De gasmeter ging toen analoog van 1 tot 2,5V en kon zo op de digitale pin. De watermeter ging analoog van 0 tot 1,5 V dus die heb ik met een transistor als switch versterkt naar 0 tot 3 V en die is nu ook digitaal. Dus ik kan nu alle meters digitaal uitlezen en code laten triggeren bij verandering van toestand.
Nu de software. Ik ben aan het puzzelen met home assistent, maar dat is een ander topic.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik denk dat ik mijn vraag hier het beste kwijt kan:

mijn studievereniging is te arm om een pinapparaat te kopen, maar we zouden ons systeem met op rekening betalen wel graag soepeler laten verlopen. Ik zie het als volgt voor me: een vorm van een toetsenbord aangesloten op een RPi waarbij iets ingevoerd wordt waardoor een spreadsheet bijgewerkt wordt. Wat is de simpelste en goedkoopste manier om dit voor elkaar te krijgen? (en dus: moet ik idd wel een RPi gebruiken)

Acties:
  • 0 Henk 'm!

  • jctjepkema
  • Registratie: Mei 2011
  • Laatst online: 13:39
Verwijderd schreef op woensdag 16 november 2016 @ 12:49:
Ik denk dat ik mijn vraag hier het beste kwijt kan:

mijn studievereniging is te arm om een pinapparaat te kopen, maar we zouden ons systeem met op rekening betalen wel graag soepeler laten verlopen. Ik zie het als volgt voor me: een vorm van een toetsenbord aangesloten op een RPi waarbij iets ingevoerd wordt waardoor een spreadsheet bijgewerkt wordt. Wat is de simpelste en goedkoopste manier om dit voor elkaar te krijgen? (en dus: moet ik idd wel een RPi gebruiken)
Ik denk dat een simpele interne php website met een mysql database simpeler is, je zou dan nog bijvoorbeeld een rfid reader met rfid cards kunnen gebruiken waarbij jij een aantal aantikt en die kaart van de student er voor drukt en hij de mysql database update. Volgens mij is dat makkelijker voor elkaar te krijgen dan een spreadsheetje te wijzigen.

Acties:
  • 0 Henk 'm!

  • verbatim
  • Registratie: November 2010
  • Laatst online: 17-01-2024
Ik heb een ir remote control wat ik met lirc werkend heb gekregen.
Nu wil ik graag twee leds besturen met de afstandsbediening.
Ik heb daarvoor gezocht op instructables.com maar zie om leds aan te sturen alleen voor de Arduino.

Weet iemand een howto met een pythonscript om via de remote control leds aan te sturen.

Thanks

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 09-09 17:48
Zijn het high-power LEDs of gewone? In dat laatste geval kun je ze gewoon met voorschakelweerstand aan een GPIO hangen. Makkelijker wordt het niet.

Acties:
  • 0 Henk 'm!

  • justVR
  • Registratie: December 2014
  • Laatst online: 05-05-2024
Ik heb helaas geen soldeerspullen in huis maar zou wel wat met de GPIO poorten van mijn Raspberry Pi Zero W willen doen.

Op internet kwam ik dit tegen: https://shop.pimoroni.com/products/gpio-hammer-header

Weet iemand of dit ook ergens ook bij een webshop in NL te koop is? Ik ben het nog niet tegengekomen.

Acties:
  • 0 Henk 'm!

  • SuperKris
  • Registratie: Juni 2010
  • Laatst online: 11:09
justVR schreef op donderdag 2 maart 2017 @ 19:55:
Ik heb helaas geen soldeerspullen in huis maar zou wel wat met de GPIO poorten van mijn Raspberry Pi Zero W willen doen.

Op internet kwam ik dit tegen: https://shop.pimoroni.com/products/gpio-hammer-header

Weet iemand of dit ook ergens ook bij een webshop in NL te koop is? Ik ben het nog niet tegengekomen.
google eens op press fit header. Je hebt er 1 nodig met 2.54mm pitch en 40 pinnen. (dual in line)

Acties:
  • +2 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
justVR schreef op donderdag 2 maart 2017 @ 19:55:
Ik heb helaas geen soldeerspullen in huis maar zou wel wat met de GPIO poorten van mijn Raspberry Pi Zero W willen doen.

Op internet kwam ik dit tegen: https://shop.pimoroni.com/products/gpio-hammer-header

Weet iemand of dit ook ergens ook bij een webshop in NL te koop is? Ik ben het nog niet tegengekomen.
The PiHut levert wel ook naar NL. Daar bestel ik altijd de Pi Zero's.

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • Juicie
  • Registratie: Maart 2007
  • Laatst online: 17:27
Voor het huis heb ik poort met in de meterkast twee knoppen; Openen en Sluiten. Nu bestuur ik al een tijdje de poort met relays aangestuurd door de Raspberry PI vanuit home assistant. Echter wil ik nu de Raspberry PI in een din-behuizing inbouwen. Nu zijn de twee relays eigenlijk aan de grote kant en dacht ik deze te vervangen door een 4066 iC. Het signaal dat ik moet schakelen is 16V, Amperage krijg ik niet gemeten.

Ik heb de 4066 goed werkend op mijn testopstelling met een LED als de te schakelen last. Echter als ik nu de poort aansluit lijkt deze altijd een gesloten switch te zien wat de input vanuit de raspberry pi ook is. Zover ik weet heb ik alles goed aangesloten:
  • 5V als voeding voor de 4066
  • 3.3 als input voor de 4066 met een 10k pull down resistor.
  • Ground aangesloten
Wat zou ik fout kunnen doen? Of is de 4066 hier eigenlijk niet geschikt voor en kan ik beter iets anders gebruiken?

Acties:
  • 0 Henk 'm!

  • GeeBee
  • Registratie: Maart 2000
  • Laatst online: 26-08 06:43

GeeBee

Oddball

(jarig!)
http://focus.ti.com/lit/ds/symlink/cd4066b.pdf

De 4066 gaat eigenlijk tot max. 15V.
In de datasheet lees ik een AAN-weerstand van 80 Ohm.
Dat betekent 0,2A bij 16V.

Dat is ruim meer dan het maximum van 10mA.

Disclaimer: als ik mijn electronica-kennis nog op orde heb :)

[ Voor 15% gewijzigd door GeeBee op 21-05-2017 13:11 ]

Woof, woof, woof! That's my other dog imitation.


Acties:
  • 0 Henk 'm!

  • Juicie
  • Registratie: Maart 2007
  • Laatst online: 17:27
Kan ik dan beter iets van een Mosfet gebruiken?

Acties:
  • 0 Henk 'm!

  • GeeBee
  • Registratie: Maart 2000
  • Laatst online: 26-08 06:43

GeeBee

Oddball

(jarig!)
Of je past de case aan zodat het allemaal past met relais.

Woof, woof, woof! That's my other dog imitation.


Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 29-08 20:08
Juicie schreef op zondag 21 mei 2017 @ 11:38:
Voor het huis heb ik poort met in de meterkast twee knoppen; Openen en Sluiten. Nu bestuur ik al een tijdje de poort met relays aangestuurd door de Raspberry PI vanuit home assistant. Echter wil ik nu de Raspberry PI in een din-behuizing inbouwen. Nu zijn de twee relays eigenlijk aan de grote kant en dacht ik deze te vervangen door een 4066 iC. Het signaal dat ik moet schakelen is 16V, Amperage krijg ik niet gemeten.

Ik heb de 4066 goed werkend op mijn testopstelling met een LED als de te schakelen last. Echter als ik nu de poort aansluit lijkt deze altijd een gesloten switch te zien wat de input vanuit de raspberry pi ook is. Zover ik weet heb ik alles goed aangesloten:
  • 5V als voeding voor de 4066
  • 3.3 als input voor de 4066 met een 10k pull down resistor.
  • Ground aangesloten
Wat zou ik fout kunnen doen? Of is de 4066 hier eigenlijk niet geschikt voor en kan ik beter iets anders gebruiken?
Voor zover ik het begrijp is dat onderdeel echt niet geschikt om hetgeen te doen wat jij wilt. Sowieso is die maar geschikt tot en met 15v. Ik zou in plaats hiervan iets als een TIP120 gebruiken of een relay.

Een TIP120 kan tot 60v en 5ampere gebruikt worden. Dat moet meer dan genoeg zijn voor jouw applicatie.

[ Voor 3% gewijzigd door Lennyz op 22-05-2017 08:47 ]


Acties:
  • 0 Henk 'm!

  • Juicie
  • Registratie: Maart 2007
  • Laatst online: 17:27
Lennyz schreef op maandag 22 mei 2017 @ 08:46:
[...]


Voor zover ik het begrijp is dat onderdeel echt niet geschikt om hetgeen te doen wat jij wilt. Sowieso is die maar geschikt tot en met 15v. Ik zou in plaats hiervan iets als een TIP120 gebruiken of een relay.

Een TIP120 kan tot 60v en 5ampere gebruikt worden. Dat moet meer dan genoeg zijn voor jouw applicatie.
Bedankt voor de info, ik zal de TIP120 eens bekijken.

Voor de duidelijkheid het gaat niet om het schakelen van de motoren zelf. Puur en alleen om een open of sluiten signaal te geven.Zie de link voor de handleiding van de poort aansturing:

http://manuals.easygates.co.uk/PDF/beninca/BRAIN_GB.pdf

Staat verder niet veel bij, alleen dat een een button input is. Het gaat om aansluitingen 30 en 31.

Acties:
  • 0 Henk 'm!

  • DaRk PoIsOn
  • Registratie: Oktober 2002
  • Laatst online: 19:17
Ik heb een beetje lastige vraag. Althans, nav het iot 2.0 deurbel topic, kom ik er niet helemaal uit.

Edit: 2x wemos D1 mini en een omvormer van 18v naar 3v moet het werkend maken zoals ik het wil.

[ Voor 122% gewijzigd door DaRk PoIsOn op 05-04-2019 12:56 ]

who put a "stop payment" on my reality check


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Ik weet dat de rasberry Pi 4 een OTG modus heeft en de rpi 3 niet ..

nu ben ik iets aan het bouwen en de RPi 7 inch touchscherm heeft standoffs die niet aan beide kant schroefje(s) heeft dus erhm .. "uitdaging" ..
Afbeeldingslocatie: https://lh3.googleusercontent.com/proxy/8ujcvu24qG3NkSGA6AS5DqW5sduOWKSeEh50EnTULA82lpT7FdyXLhF0A-r29Fr6fJHrnPr0_zH5MCYamF37Isssl1j0JCeAhpE8I7PVYcl1tO2gob32Yv0H2C8jW81WC415uQRe9DTSApcX_giYonapnh7HRJj9ECnTgA

het probleem zit hem in dat ik ook de rp4 koeling eromheen wil gebruiken
Afbeeldingslocatie: https://www.sossolutions.nl/media/catalog/product/cache/5df5c040ed8cd3972c59a8e190e44350/2/0/2019-10-02_11_33_25-amazon.com__zkeeshop_aluminum_case_alloy_armor_with_cooling_heatsink_dual_fan_co.png


dus ik zit met 2x "female" die ik niet vastgeschroeft krijg .. als ik de Rpi4 gebruik of ik moet alternatieve koeling gebruiken (liever niet) ..

als ik de Rpi 3B gebruik dan heb ik geen OTG ...

Wat ik wou is via i2c een bus tussen 2 of 3 arduino's + de RPI en dan via een vertaal slag via een USB HID emulatie naar de (windows) pc .. dat ik aan de hand van een actieve app de juiste toetsencombo oid kan versturen ..
elke arduino zou afzonderlijk moeten kunnen opereren of als 1 device ..

weten jullie een oplossing ?

Tja vanalles


Acties:
  • +1 Henk 'm!

  • deepbass909
  • Registratie: April 2001
  • Laatst online: 10-09 13:46

deepbass909

[☼☼] [:::][:::] [☼☼]

@vso Is er een reden dat je per sé de koeling wilt gebruiken? Zeker als een Pi4 in de open lucht hangt, is mijn ervaring dat zware koeling niet echt nodig is.

Ik heb een Pi4B ingebouwd zitten in een behuizing waar ik, vanwege een dochterbordje, geen aanvullende koeling kan toepassen (op de Pi zit een HifiBerry):
Afbeeldingslocatie: https://live.staticflickr.com/65535/49341683043_a5059c22a1_b.jpg

En zelfs met de kachel van een voeding gaat dit nog goed. Een enkele keer betrap ik de Pi op throttling, maar dat is niet vaak.

De behuizing heeft overigens inmiddels wel de nodige perforaties gekregen, volledig gesloten ging het wel mis. Maar bij dat scherm lijkt de Pi open en bloot te zitten en dus al maximaal te kunnen koelen.

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

deepbass909 schreef op woensdag 7 april 2021 @ 11:53:
@vso Is er een reden dat je per sé de koeling wilt gebruiken? Zeker als een Pi4 in de open lucht hangt, is mijn ervaring dat zware koeling niet echt nodig is.

Ik heb een Pi4B ingebouwd zitten in een behuizing waar ik, vanwege een dochterbordje, geen aanvullende koeling kan toepassen (op de Pi zit een HifiBerry):
[Afbeelding]

En zelfs met de kachel van een voeding gaat dit nog goed. Een enkele keer betrap ik de Pi op throttling, maar dat is niet vaak.

De behuizing heeft overigens inmiddels wel de nodige perforaties gekregen, volledig gesloten ging het wel mis. Maar bij dat scherm lijkt de Pi open en bloot te zitten en dus al maximaal te kunnen koelen.
Tja denk dat ik beter een custom beugel kan maken voor de rpi 4 met koeler .. is het nodig ? weet ik niet maar het is handiger in te bouwen just in case ..

het throttelen is iets wat ik liever niet heb .. aangezien er een mini display op aangesloten word via i2c kan je mooi dit soort states laten zien indien nodig .. dan kan je bv de actieve koeling inschakelen .. beter teveel koeling dan geen ;)

ik ga een custom flightcase oid erbij bouwen dus parts exposed is niet echt wenselijk ..

Tja vanalles


Acties:
  • 0 Henk 'm!

  • Arloid
  • Registratie: December 2014
  • Niet online
Verwijderd schreef op woensdag 16 november 2016 @ 12:49:
Ik denk dat ik mijn vraag hier het beste kwijt kan:

mijn studievereniging is te arm om een pinapparaat te kopen, maar we zouden ons systeem met op rekening betalen wel graag soepeler laten verlopen. Ik zie het als volgt voor me: een vorm van een toetsenbord aangesloten op een RPi waarbij iets ingevoerd wordt waardoor een spreadsheet bijgewerkt wordt. Wat is de simpelste en goedkoopste manier om dit voor elkaar te krijgen? (en dus: moet ik idd wel een RPi gebruiken)
Ik denk direct aan qr-code herkenning, dan heb je enkel nog een geschikte labelprinter of printpapier nodig. Vervolgens kan je via een scherm een qr-code laten verschijnen waarmee ze naar de rekening kunnen overmaken, zet er een reverentie nummer (liefst automatisch in het betaalverzoek) bij voor de administratie en je bent klaar.

Al zal dit ook niet vlekkeloos zijn.

Acties:
  • 0 Henk 'm!

  • Arloid
  • Registratie: December 2014
  • Niet online
Beetje aan het wachten op een gba sp behuizing om de binnenkant op te meten en tegelijkertijd rond aan het neuzen hoe anderen een pi zero erin hebben gekregen.

Ben van plan om het 2.8 inch tft van adafruit te gebruiken, het model zonder pcb. Als ik zie dat anderen hetzelfde scherm maar dan met pcb er in hebben gekregen zit dat wel goed, eerst wel even voor de zekerheid nameten. De ILI9341 driver aan de praat te krijgen in retropie geloof ik wel, ben nog niet helemaal uit over resistive touchscreen of capacitive touchcreen. Resistive gebruikt weerstand terwijl de capacitive via een FT6236 praat waar ik echt geen kaas van gegeten heb.

Capacitive ziet er wel een stuk mooier uit, eerlijkgezegd zit er ook geen meerwaarde aan touch in een pi zero retro handheld.
Pagina: 1 ... 13 14 Laatste