Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-01-2003, 13:20   #1
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Porta COM e Visual Basic

Vorrei realizzare un semplice circuito costituito da una batteria ed una lampadina da 5 volt . Vorrei aprire e chiudere il circuito per mezzo di una porta com . In visual basic so che esiste l'oggetto COM , ma come aprire e chiudere il circuito . Mi spieghereste ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2003, 14:51   #2
pnx
Senior Member
 
L'Avatar di pnx
 
Iscritto dal: Feb 2002
Città: MI Prov. [Nord-Est] Auto: HONDA Civic 8th gen. 2.2 I-CDTI Executive I-Pilot Moto: HONDA Hornet ABS
Messaggi: 4339
Se hai la parallela libera ti cosiglio di utilizzare quella anzichè la COM
__________________
Perito in Elettronica e Telecomunicazioni | Microsoft Certified Professional su Windows Server 2003 | Membro del Mensa Italia
pnx è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2003, 16:45   #3
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Quote:
Originally posted by "pnx"

Se hai la parallela libera ti cosiglio di utilizzare quella anzichè la COM
Per quale motivo ? E quale sarebbe l'oggetto Visual Basic per gestire questa porta ? E come si fà ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2003, 19:15   #4
pnx
Senior Member
 
L'Avatar di pnx
 
Iscritto dal: Feb 2002
Città: MI Prov. [Nord-Est] Auto: HONDA Civic 8th gen. 2.2 I-CDTI Executive I-Pilot Moto: HONDA Hornet ABS
Messaggi: 4339
Con la porta parallela ti basta collegare un pin corrispondente a un uscita a un transistor collegato alla tua lampadina (a grandi linee).
Da VB la gestione della parallela non è un problema, magari domani ti dico come si fa.

Con la seriale è invece più complessa la faccenda perche il segnale che esce è conpreso tra +12V e -12V e il dato che esce è ovviamente di tipo seriale, quindi non puoi mantenerlo su un livello fisso, ti servirebbe comunque in convertitore SIPO (seriale/parallelo), o comunque un circuito particolare.
__________________
Perito in Elettronica e Telecomunicazioni | Microsoft Certified Professional su Windows Server 2003 | Membro del Mensa Italia
pnx è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 13:37   #5
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Mi dici come si fà ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 15:53   #6
pnx
Senior Member
 
L'Avatar di pnx
 
Iscritto dal: Feb 2002
Città: MI Prov. [Nord-Est] Auto: HONDA Civic 8th gen. 2.2 I-CDTI Executive I-Pilot Moto: HONDA Hornet ABS
Messaggi: 4339
Comincia dando un'occhiata QUA.
__________________
Perito in Elettronica e Telecomunicazioni | Microsoft Certified Professional su Windows Server 2003 | Membro del Mensa Italia
pnx è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 15:59   #7
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
OK , poi ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 16:11   #8
pnx
Senior Member
 
L'Avatar di pnx
 
Iscritto dal: Feb 2002
Città: MI Prov. [Nord-Est] Auto: HONDA Civic 8th gen. 2.2 I-CDTI Executive I-Pilot Moto: HONDA Hornet ABS
Messaggi: 4339
Praticamente per controllare la porta basta dare il comando

OUT address, data

Devi sapere l'indirizzo della parallela, hai la scelta tra 3 indirizzi (prova a fare una ricerca in rete, ma dovresti riuscire a leggerlo anche dalle proprietà della porta parallela da Gestione Periferiche), comunque generalmente è H378.

Col comando "out &h378, 25" tu metti sui pin di uscita della parallela il numero 25, che in binario è "11001".
Vuol dire che i pin 0, 3 e 4 avranno 5V mentre gli altri saranno a 0.

Visto che a te serve comandare un pin solo puoi mettere sulla porta il valore 0 per spegnere e 1 per accendere:

out &h378, 0

out &h378, 1


In questo caso il pin che cambia tensione è il D0 (vedi immagine del documeto).

Però non puoi collegare direttamente il pin alla lampadina, perchè anche se ci sono 5V non esce sufficiente corrente e rischieresti inoltre di danneggiare la parallela.

Per questo devi usare un piccolo e semplicissimo circuito con un transistor.
__________________
Perito in Elettronica e Telecomunicazioni | Microsoft Certified Professional su Windows Server 2003 | Membro del Mensa Italia
pnx è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 16:21   #9
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Fin qui tutto chiaro .... Dovrei allora costruire un circuito con transistor BJT facendolo funzionare nella zona attiva giusto ? In pratica dovrei realizzare un amplificatore per piccoli segnali ? Saresti così cortese da disegnarmi questo circuito con il modello di transistor , valore delle resistenze ecc... . Ti sarei molto grato
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 16:22   #10
pnx
Senior Member
 
L'Avatar di pnx
 
Iscritto dal: Feb 2002
Città: MI Prov. [Nord-Est] Auto: HONDA Civic 8th gen. 2.2 I-CDTI Executive I-Pilot Moto: HONDA Hornet ABS
Messaggi: 4339
Per l'indirizzo della porta:






Il circuito potrebbe essere così:




Nel circuito ci sono altre cose che non c'entrano, a noi interessa il tansistor in basso (bc547) col suo resistore da 3,3k (va bene anche da 4,7K, forse meglio), il grosso cerchio (che è la tua lampadina) e il generatore (la batteria), cioè quello in basso a destra.
Il resto escludilo.

Inoltre il resistore si deve collegare, come detto prima, al pin D0, che sarebbe il numero 2. In questo schema invece è sul 9.
__________________
Perito in Elettronica e Telecomunicazioni | Microsoft Certified Professional su Windows Server 2003 | Membro del Mensa Italia
pnx è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 16:22   #11
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Un 'altra cosa : ma oltre a 25 , posso anche riportare in uscita una lettera facendo riferimento al codice ascii ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 16:25   #12
pnx
Senior Member
 
L'Avatar di pnx
 
Iscritto dal: Feb 2002
Città: MI Prov. [Nord-Est] Auto: HONDA Civic 8th gen. 2.2 I-CDTI Executive I-Pilot Moto: HONDA Hornet ABS
Messaggi: 4339
Sì, VB accetta anche numeri esadecimali (come quello dell'indirizzo della porta), basta che gil metti davanti &H

Per esempio puoi dare il comando:

out &h378, &HFF

per mettere tutti e gli 8 bit a 1.
__________________
Perito in Elettronica e Telecomunicazioni | Microsoft Certified Professional su Windows Server 2003 | Membro del Mensa Italia
pnx è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 16:29   #13
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Senti , ma con Visual Basic .NET l'istruzione OUT non mi funziona . Che dici installo il 6.0 ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 16:31   #14
pnx
Senior Member
 
L'Avatar di pnx
 
Iscritto dal: Feb 2002
Città: MI Prov. [Nord-Est] Auto: HONDA Civic 8th gen. 2.2 I-CDTI Executive I-Pilot Moto: HONDA Hornet ABS
Messaggi: 4339
Io mi trovo bene col 6.0 e non ho mai utilizzato il .NET.
Comunque se fai una ricerca trovi anche delle DLL o delle OCX che puoi aggiungere al progetto che ti permettono di controllare la porta parallela.

In rilievo trovi dei link molto interessanti.
Eccotene uno: http://www.planet-source-code.com/
__________________
Perito in Elettronica e Telecomunicazioni | Microsoft Certified Professional su Windows Server 2003 | Membro del Mensa Italia
pnx è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 17:10   #15
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Ma la VCC quanto deve essere ? E prima di alimentare il transistor , non dovrei collegare qualche resistenza ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 17:45   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Riecco che appare la CreateFile

Puoi Aprire la porta LPT1 con la CreateFile e scriverci con la WriteFile :
Codice:
HANDLE hFile;
char pOut[]="ciao";
DWORD number;

hFile=CreateFile("LPT1", GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING, NULL, NULL);

if(hFile==INVALID_HANDLE_VALUE)
   errore("Invalid LPT or LPT1 is not open");
else
{
   if(!WriteFile(hFile,pOut,strlen(pOut),&number,NULL))
      errore("Fail to send data.");
}

CloseHandle(hFile);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 18:02   #17
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Quote:
Originally posted by "cionci"

Riecco che appare la CreateFile

Puoi Aprire la porta LPT1 con la CreateFile e scriverci con la WriteFile :
Codice:
HANDLE hFile;
char pOut[]="ciao";
DWORD number;

hFile=CreateFile("LPT1", GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING, NULL, NULL);

if(hFile==INVALID_HANDLE_VALUE)
   errore("Invalid LPT or LPT1 is not open");
else
{
   if(!WriteFile(hFile,pOut,strlen(pOut),&number,NULL))
      errore("Fail to send data.");
}

CloseHandle(hFile);
Senti cionci ... diverse volte ho provato a creare qualche interfaccia grafica a finestre con Visual C++ ma non ci sono mai riuscito . Potresti dirmi come si fà ? Con VB è semplicissimo ; si trascinano gli oggetti sul form . Ma con C++ come si fà ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 18:07   #18
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Se io ad esempio voglio attivare la funzione che hai postato al click del mouse su di un pulsante come devo fare ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 18:39   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Codice:
Declare Function CreateFile Lib "kernel32" Alias "CreateFileA"
            (ByVal lpFileName As String,
             ByVal dwDesiredAccess As Long,
             ByVal dwShareMode As Long,
             ByVal lpSecurityAttributes As Long,
             ByVal dwCreationDisposition As Long,
             ByVal dwFlagsAndAttributes As Long,
             ByVal hTemplateFile As Long) As Long

Declare Function WriteFile Lib "kernel32"
            (ByVal hFile As Long,
             lpBuffer As Any,
             ByVal nNumberOfBytesToWrite As Long,
             lpNumberOfBytesWritten As Long,
             lpOverlapped As OVERLAPPED) As Long

Declare Function ReadFile Lib "kernel32"
            (ByVal hFile As Long,
             lpBuffer As Any,
             ByVal nNumberOfBytesToRead As Long,
             lpNumberOfBytesRead As Long,
             lpOverlapped As OVERLAPPED) As Long

Declare Function CloseHandle Lib "kernel32"
            (ByVal hObject As Long) As Long

Public Const GENERIC_READ = &H80000000
Public Const GENERIC_WRITE = &H40000000
Public Const OPEN_EXISTING = 3
Public Const FILE_FLAG_OVERLAPPED = &H40000000

'********************
Type OVERLAPPED
  Internal As Long
  InternalHigh As Long
  offset As Long
  OffsetHigh As Long
  hEvent As Long
End Type
All'inerno dell'onclick del bottone ci emtti questa roba :
Codice:
Dim hFile As Long
Dim ret As Long
Dim number As Long
number = 0

hFile=CreateFile("LPT1", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)

If hFile <> INVALID_HANDLE_VALUE Then
   ret = WriteFile(hFile, "Ciao", 4, number, 0) 
   CloseHandle(hFile)
End If
Comunque non lo posso provare...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2003, 18:43   #20
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Non ci capisco niente !!!!!!!!!!! Che cosa sono tutte quelle funzioni !!!!! VB su questo lato è veramente molto , ma molto più semplice .
leon84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Ricoh GR IVx: annunciata la compatta da ...
I consumatori non sarebbero interessati ...
Cybersecurity: come si sono mossi gli AP...
I giochi digitali non sono di proprietà ...
Photoshop ha una seconda interfaccia: se...
Samsung Galaxy S27 si mostra nei primi r...
Celle solari tandem perovskite-silicio a...
Pneumatici Continental con il 43% di mat...
Meta: la Polonia chiede alla Commissione...
LEGO Skylines arriva da Paradox e Icefla...
1100 Hz su un monitor: Samsung supera un...
Plaud One è il nuovo wearable AI ...
ESA vuole espandere le capacità d...
Le auto di Xiaomi arrivano da noi nel 20...
Samsung e Apple hanno "ispirato&quo...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:58.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v