Autore Topic: Bussola elettronica  (Letto 1449 volte)

Offline alejandro

  • Gamberetto
  • *
  • Post: 21
    • Mostra profilo
Bussola elettronica
« il: 28 Settembre 2014, 00:14:26 »
nel programma che ho creato per gestire l'ingresso dati da un sensore magnetico HMC5883L e un pic 16f88 tramite la seriale RS232 vorrei aggiungere una interfaccia grafica tipo una bussola magnetica con tanto di freccia di segnalazione sui punti cardinali.credo che la proprietà DrawingArea potrebbe essere quello che cerco,ma non lo mai usata.come si fa??
non voglio un codice bello e pronto,ma per lo meno quale sono gli eventi e come si usano.grazie in anticipo.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Bussola elettronica
« Risposta #1 il: 28 Settembre 2014, 00:39:32 »
Sicuramente ci sono spezzoni di codice in questo forum: dovresti fare la ricerca.

Nel frattempo puoi anche dare un'occhiata alle pagine della nostra WIKI afferenti alla DrawingArea

http://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#DrawingArea
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline alejandro

  • Gamberetto
  • *
  • Post: 21
    • Mostra profilo
Re: Bussola elettronica
« Risposta #2 il: 28 Settembre 2014, 01:16:44 »
grazie vuott
sarebbe bastato guardare negli esempi inclusi nel pacchetto installazione di Gambas2(Orologio analogico)  :coder:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Bussola elettronica
« Risposta #3 il: 28 Settembre 2014, 01:19:03 »
Sì, molto c'è anche negli esempi di Gambas.

Non bisogna, poi, mai dimenticare di dare uno sguardo anche negli altri forum.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline alejandro

  • Gamberetto
  • *
  • Post: 21
    • Mostra profilo
Re: Bussola elettronica
« Risposta #4 il: 28 Settembre 2014, 19:00:11 »
bene,gurdando l'esempio del orologio analogico di Gambas2 ho potuto finalmente creare questa interfaccia.nulla di spectaculare,pero funziona.lascio delle imagini ed il code.
Codice: [Seleziona]
SUB PUBLIC Elaboracion_Datos()
.
.
.
.
Contador = CInt(Trim(txbGrados.Text))
Brujula.Refresh
END SUB

PUBLIC SUB Brujula_Draw()
DIM CentroY, CentroX AS Integer
Brujula.Clear
CentroY = Brujula.h / 2
CentroX = Brujula.w / 2
'Crea el cuadrante de la brujula
Draw.FillColor = Color.Black
Draw.FillStyle = Fill.Solid
Draw.Circle(CentroX, CentroY, 193)
'Crea las lineas de divisiòn
Draw.Forecolor = Color.Orange
Draw.LineWidth = 5
Draw.Line(193, 1, 193, 22)
Draw.Line(193, 386, 193, 364)
Draw.Line(1, 193, 22, 193)
Draw.Line(386, 193, 364, 193)
'Calcula la posiciòn
Calculo_posicion(Contador)
END

PUBLIC SUB Calculo_posicion(Grados AS Integer)
DIM X2, Y2 AS Integer
DIM Angulo AS Float
Draw.Forecolor = Color.Yellow
Draw.LineWidth = 5
Angulo = CFloat(Grados) / 360 * 2 * Pi
X2 = 193 + (193 * Sin(Angulo))
Y2 = 193 - (193 * Cos(Angulo))
Draw.Line(193, 193, X2, Y2)
END

PUBLIC SUB rbPunto_Click()
lblNorte.Text = "Norte"
lblOeste.Text = "Oeste"
lblSur.Text = "Sur"
lblEste.Text = "Este"
END

PUBLIC SUB rbGrados_Click()
lblNorte.Text = " 0°"
lblOeste.Text = "90°"
lblSur.Text = " 180°"
lblEste.Text = "270°"
END
niente imagini,non le posso updatare.

Offline alejandro

  • Gamberetto
  • *
  • Post: 21
    • Mostra profilo
Re: Bussola elettronica
« Risposta #5 il: 28 Settembre 2014, 19:02:24 »
 :-[

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Bussola elettronica
« Risposta #6 il: 28 Settembre 2014, 19:52:16 »
Interessante.   :)
Bravo.


Qui il collegamento allo stesso argomento sul forum spagnolo:
http://www.gambas-es.org/viewtopic.php?f=5&t=4150
« Ultima modifica: 29 Settembre 2014, 01:25:14 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline alejandro

  • Gamberetto
  • *
  • Post: 21
    • Mostra profilo
Re: Bussola elettronica
« Risposta #7 il: 29 Settembre 2014, 22:59:30 »
Soy siempre yo.
Sono sempre io. :ok:

Il tempo di finire di modificare il robot e posto il video con la bussola in funzione.
« Ultima modifica: 29 Settembre 2014, 23:01:39 da alejandro »