• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
rpi blynk hc 2inch13 zero sr04 display w epaper

rpi zero w/blynk/hc-sr04/2inch13 epaper display
#11
(21/09/2017, 22:22)Mauro Calanca Ha scritto: innanzitutto grazie!!!

dopo un primo rapido sguardo trovo un sacco di cose a me sconosciute me anche qualcosina che capisco..

mi e ti chiedo:

quanto ci mette ad effettuare le venti misurazioni? (vediamo se ci metto piu tempo io a calcolarlo o tu a rispondere Big Grin )

ho bisogno di avere almeno tre misurazioni visualizzate al secondo, infatti non so se riuscirò alla fine a mantenere l'epaper , anche se forse con il refresh parziale ci posso stare dentro... boh

le tre visualizzazioni al secondo (almeno) mi servono anche senza fili, quindi sullo schermo del telefono o tablet che sia.

è tutto nuovo per me e leggendo qua e la (al momento sono disoccupato ed insonne quindi ho molto tempo che passo su forum e git hub) mi sembrava di aver capito che il refresh di una pagina in un browser non era abbastanza veloce per le mie esigenze.... mentre delle prove che ho fatto con arduino e blynk mi sembravano soddisfacenti. oltre al fatto che non mi devo studiare anche come mettere su una app o una pagina in un server (credo).

per ora sto ancora combattendo col display e la vedo lunga. Dal demo per un altro display sto cercando di estrapolare le righe che servono a me, cercando di capire come centrare ed ingrandire il font, sfruttare tutto lo schermo e qual'è l'effettivo refresh rate parziale)


grazie ancora

Il display per me è stata la parte più complicata, più che altro trovare i driver e i comandi giusti. 20 misurazioni 2 secondi, 0.1 sec l'una, più microsecondi vari per le operazioni successive  Big Grin
Codice:
# Dai tempo al sensore
  time.sleep(0.1)

Credo tu possa farne 3 al secondo senza problemi, ma tre mediati(quindi 3xn) o tre nudi e crudi?

Non ti scoraggiare, io ho comprato il mio primo raspi 2 settimane fa, prima non sapevo nemmeno cosa fosse  Big Grin
Risposta
#12
anche per me all'epoca fu complicato il four digit 7seg display con arduino

ok, time.sleep(0.1) vuole i secondi

con arduino facevo così e non ci metteva molto... faceva tutto la libreria NewPing, misurava e mediava


Codice:
void loop() {
 delay(50);

 sensorValue = analogRead(sensorPin);
 x = sensorValue / 4;

 Serial7Segment.write(0x7A);  // Brightness control command
 Serial7Segment.write((byte) x);  // 0 is dimmest, 255 is brightest


 unsigned int durata = sonar.ping_median(5);
 // long r = 0.034 * durata / 2;
 // Serial.print(r);
 // Serial.println("cm");

 if (durata != durataold) {
   Serial7Segment.write('v'); //Reset the display - this forces the cursor to return to the beginning of the display
 }

 durataold = durata;

mi sembra strano che il pizero ci metta di piu


Citazione:Non ti scoraggiare, io ho comprato il mio primo raspi 2 settimane fa, prima non sapevo nemmeno cosa fosse  [Immagine: biggrin.png]


immagino che tu non faccia il pizzettaio di professione Big Grin

ora che ci penso le mie pizze, quando le faccio, sono come i mie codici.... diciamo che l'amatriciana mi viene meglio Big Grin

vado a studiare

grazie

ti/vi disturberò presto
Rpi zero w running 2016-03-18-raspbian-jessie
Rpi 3 b running Openplotter
osx 10.12.5
Risposta
#13
(21/09/2017, 22:46)Mauro Calanca Ha scritto: anche per me all'epoca fu complicato il four digit 7seg display con arduino

ok, time.sleep(0.1) vuole i secondi

con arduino facevo così e non ci metteva molto... faceva tutto la libreria NewPing, misurava e mediava


Codice:
void loop() {
 delay(50);

 sensorValue = analogRead(sensorPin);
 x = sensorValue / 4;

 Serial7Segment.write(0x7A);  // Brightness control command
 Serial7Segment.write((byte) x);  // 0 is dimmest, 255 is brightest


 unsigned int durata = sonar.ping_median(5);
 // long r = 0.034 * durata / 2;
 // Serial.print(r);
 // Serial.println("cm");

 if (durata != durataold) {
   Serial7Segment.write('v'); //Reset the display - this forces the cursor to return to the beginning of the display
 }

 durataold = durata;

mi sembra strano che il pizero ci metta di piu


Citazione:Non ti scoraggiare, io ho comprato il mio primo raspi 2 settimane fa, prima non sapevo nemmeno cosa fosse  [Immagine: biggrin.png]


immagino che tu non faccia il pizzettaio di professione Big Grin

ora che ci penso le mie pizze, quando le faccio, sono come i mie codici.... diciamo che l'amatriciana mi viene meglio Big Grin

vado a studiare

grazie

ti/vi disturberò presto
uhm, a pranzo ho mangiato una amatriciana e a cena la pizza.. sarà un caso? Big Grin

Ad ogni modo, quel 0.1 secondi l'ho impostato io, sarebbe carino sapere  fino a che punto si possa scendere.
Risposta
#14
**** che caciara si può scrivere sul forum?

Non sto capendo!!!
Ma secondo te quale libreria devo studiare?
Wiring o bcm2835? 
O magari PythonImagingLibrary?
Vado a fare due passi...
Risposta
#15
No, sarebbe meglio non usare linguaggio da osteria..
Risposta
#16
(22/09/2017, 16:03)callmecalanca Ha scritto: Accipicchia che caciara si può scrivere sul forum?

Non sto capendo!!!
Ma secondo te quale libreria devo studiare?
Wiring o bcm2835? 
O magari PythonImagingLibrary?
Vado a fare due passi...





Inviato dal mio iPad utilizzando Tapatalk
Risposta
#17
buona sera a tutti...

qualche aggiornamento:

sono finalmente riuscito a visualizzare la distanza presa dall'hc-sr04 sull'e-paper... (il codice per ora è un casino e non mi pare il caso di mostrarlo)

leggendo qua e la mi sorge un dubbio atroce  e cioè che il raspberry non riesca ad essere veloce quanto arduino ad effettuare e mediare le misure dell'hc-sr04 ... possibile? 
Devo delegare la misura ad un esp8266?

aspettando risposte pulisco un po lo script per poterlo rendere presentabile...



Arrow Arrow Arrow Arrow

(21/09/2017, 22:57)darimos Ha scritto: Ad ogni modo, quel 0.1 secondi l'ho impostato io, sarebbe carino sapere  fino a che punto si possa scendere.

sono arrivato a 0.05 e sembra andare bene....

questo il codice per ora:

Codice:
import time
import spidev as SPI
import EPD_driver
import datetime
import subprocess

import RPi.GPIO as GPIO
import signal
import sys

# use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BCM)

# set GPIO Pins
pinTrigger = 18
pinEcho = 27


EPD2X9 = 0
EPD02X13 = 1
EPD1X54 = 0

bus = 0
device = 0
    
disp = EPD_driver.EPD_driver(spi=SPI.SpiDev(bus, device))

disp.Dis_Clear_full()
#disp.delay()

# display part
disp.EPD_init_Part()

# set GPIO input and output channels
GPIO.setup(pinTrigger, GPIO.OUT)
GPIO.setup(pinEcho, GPIO.IN)

# set Trigger to HIGH
GPIO.output(pinTrigger, True)
# set Trigger after 0.01ms to LOW
time.sleep(0.00001)
GPIO.output(pinTrigger, False)

startTime = time.time()
stopTime = time.time()

# save start time
while 0 == GPIO.input(pinEcho):
    startTime = time.time()

# save time of arrival
while 1 == GPIO.input(pinEcho):
    stopTime = time.time()

# time difference between start and arrival
TimeElapsed = stopTime - startTime
# multiply with the sonic speed (34300 cm/s)
# and divide by 2, because there and back
distance = (TimeElapsed * 34300) / 2

disp.Dis_Clear_part()

print ("Distance: %.1f cm" % distance)
#time.sleep(0.05)

disp.Dis_String(60, 20, "EUREKA",16)

disp.Dis_String(40, 50, str("Distance: %.1f cm" % distance),16)

logicamente a fianco ci sono altri files, che non so se devo sottoporre..

per ora lo script misura e visualizza la distanza(mooolto lentamente).

lo scopo del gioco ora è:

trovare un font piu grande,
velocizzare il piu possibile il tutto,
renderlo ciclico (per ora fa una misura, la visualizza e si ferma)

Arrow Arrow Arrow Arrow
Rpi zero w running 2016-03-18-raspbian-jessie
Rpi 3 b running Openplotter
osx 10.12.5
Risposta
#18
Citazione:buona sera a tutti...

qualche aggiornamento:

sono finalmente riuscito a visualizzare la distanza presa dall'hc-sr04 sull'e-paper... (il codice per ora è un casino e non mi pare il caso di mostrarlo)

leggendo qua e la mi sorge un dubbio atroce  e cioè che il raspberry non riesca ad essere veloce quanto arduino ad effettuare e mediare le misure dell'hc-sr04 ... possibile? 
Devo delegare la misura ad un esp8266?

aspettando risposte pulisco un po lo script per poterlo rendere presentabile...



[Immagine: arrow.png] [Immagine: arrow.png] [Immagine: arrow.png] [Immagine: arrow.png]

così però mi sento come il matto del villaggio che se ne sta li e parla da solo mentre tutti passano....
Rpi zero w running 2016-03-18-raspbian-jessie
Rpi 3 b running Openplotter
osx 10.12.5
Risposta
#19
Un esp non è più veloce di un RaspberryPi. Ma è un sistema real time, mentre RaspberryPi non lo è. Python inoltre è un linguaggio interpretato, non è una scheggia.
Dipende da cosa vuoi fare.
Risposta
#20
Citazione:Dipende da cosa vuoi fare.

vorrei che il sistema mi visualizzasse almeno due volte per secondo la distanza mediata (tra almeno 10 valori) sull'epaper e sul client blynk (smartphone o tablet)

questa la funzione che uso per misurare e mediare:

Codice:
def misuraEmedia():

 # Calibrazione post-processing
 c1 = 1        # parametro 1
 c2 = 2        # parametro 2
 c3 = 3        # parametro 3  

# Velocita del suono in cm/s con temperatura
 temperature = 20
 speedSound = 33100 + (0.6*temperature)



# Settaggio dei pin
 GPIO.setup(GPIO_TRIGGER,GPIO.OUT)  # Trigger
 GPIO.setup(GPIO_ECHO,GPIO.IN)      # Echo



 tot = 0             #inizializzazione somma delle misurazioni
 #arr=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
 arr=[1,2,3,4,5,6,7,8,9,10]
#inizializzazione lista

 for x in range(10):
# Set trigger to False (Low)
    GPIO.output(GPIO_TRIGGER, False)
 
# Dai tempo al sensore
    time.sleep(0.1)

# Invia una pulsazione di 10us al trigger
    GPIO.output(GPIO_TRIGGER, True)

# Aspetta 10us
    time.sleep(0.00001)
    GPIO.output(GPIO_TRIGGER, False)
    start = time.time()

    while GPIO.input(GPIO_ECHO)==0:
      start = time.time()

    while GPIO.input(GPIO_ECHO)==1:
      stop = time.time()

# Calcola la lunghezza dell'impulso
    elapsed = stop-start

# Calcola la distanza
    y = elapsed * speedSound

# Dimezza il valore della distanza(andata+ritorno)
    y = y / 2
    arr[x]=y
 
 arr.sort()        #ordina per applicare la media troncata

 y=mediatroncata(arr,percentuale)     #distanza finale
 yft=y*c1                 #impostare c1 per convertire in piedi

#print("{0:5.1f}".format(y))         #stampa la distanza[cm]
#print("{0:5.1f}".format(yft))        #stampa la distanza[ft]


# Reset GPIO
 #GPIO.cleanup()

 #rende intero il numero
 intero = int(y)
 
 #fa uscire la variabile con la misura (resa
 #intera) dalla funzione per poterla richiamare
 return intero

per quanto riguarda l'epaper ci devo perdere un po di tempo per potere ottimizzare la velocità... ho visto video in cui ha un refresh soddisfacente per me.. pensavo che forse potrei fargli cancellare, tra una misura e l'altra solo le parti che sono cambiate. non so se mi sono spiegato

parlare di blynk mi sembra prematuro...

che dici ce la posso fare?

ciaoo
Rpi zero w running 2016-03-18-raspbian-jessie
Rpi 3 b running Openplotter
osx 10.12.5
Risposta
  


Vai al forum:


Navigazione: 7 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect