On the Hardware side, all devices are based on an Arduino / Genuino.
You mayst want to use a USB hub in order to connect several devices.
For some experiments, a galvanic isolator for the USB connection is mandatory.
You can find such gear in the bay or at Ali. Sometimes, the Amazons may also be helpful.
✈ Find the Arduino - Hello Arduino :-)
If an Arduino is connected to a Computer running Windows 10, the OS stores the information
about the used COM port. If the same device is connected at a later time, the same port is used.
Therefore it deems useful to create a sticker, noting this magic number on the device.
There are two easy methods in finding that number :
RE-open the Serial Monitor to verify that the communication with the device is working.
Sometimes a *IDN? command mayst be used to force an answer.
The third method uses a little Python-Script. We call it "Arduino COM-Scanner"
and yes, it was strongly inspired by the I2C Scanner :-)
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 21 07:11:19 2022
@author: r_57, cp-9
ETH Zürich, Quantumoptics 2022
"""
import serial
import time
minport = 0
maxport = 99
COM = 'COM'
mod = 'mod'
count = 0
def readempty(x):
time.sleep(1)
x = b'ava'
while x != b'':
x = porttest.readline()
#print(x)
porttest.readline()
def write_read(x):
porttest.write(x.encode('utf-8'))
time.sleep(0.05)
data = []
line = (porttest.readline())
while len(line) > 0:
data.append(line)
line = porttest.readline()
line = line.decode('utf-8')
return data
while minport <= maxport:
minport += 1
try:
porti = COM + str(minport)
porttest = serial.Serial(port = porti, baudrate=115200, timeout=.1)
time.sleep(1)
IDN = str(write_read('*IDN?')) #who is answering
while ((IDN == '') or (IDN == '[]')):
IDN = str(write_read('*IDN?'))
time.sleep(0.2)
count += 1
if count >= 20: #ask 10 times
IDN = 'a' #break while Loop
count = 0
device = int(IDN.find(mod)) + 3 #remove everything behind name
IDN = IDN[3:device]
last = IDN.rfind(' ') #remove everithing in front of the name
last = last + 1
IDN = IDN[last:]
print('Looks like there is something on ' + porti)
if IDN == '':
print('???')
else:
print(IDN)
porttest.close()
time.sleep(1)
except:
time.sleep(0.1)
The Result could look similiar to the one below :
✈ Additional Tools : The Resistor Box
This is a Connectorized Box containing 5 High Power (at least 5W) wirewound resistors.
They are 1% in tolerance and specified for Military Use. The closest match to Student Use.
They are used mainly for current limiting.
#
Component
1
Aluminum profile housing, height 34 mm, width 65 mm, length 100 mm, (30257.1)
This is a Connectorized Box containing two Toggle Clamps. This allows for a fast and reliable
exchange of the components to be measured. They are pressed down on the gold plated pcb with
an adjusteable force. Very repeatable.
#
Component
1
Aluminum profile housing, height 34 mm, width 65 mm, length 100 mm, (30257.1)
1
Frontpanel, 0.5 mm, FR4. See Gerber File below
2
Socket, nickel-plated brass, Ø 4 mm, (30101.13)
2
Toggle Clamp - Small Flip-down Style, from Adafruit (PRODUCT ID: 2459)
✈ Additional Tools : The Breakout Box
This is just a Connectorized Box. It shall avoid a confusing Setup. The traces on the pcb
are 9 mm in width. They should be able to handle many overload conditions.
#
Component
1
Aluminum profile housing, height 34 mm, width 65 mm, length 100 mm, (30257.1)
1
Frontpanel, 0.5 mm, FR4. See Gerber File below
10
Socket, nickel-plated brass, Ø 4 mm, (30101.13)
✈ Share your thoughts
The webmaster does not read these comments regularely. Urgent questions should be send via email.
Ads or links to completely uncorrelated things will be removed.
Your Browser says that you allow tracking. Mayst we suggest that you check that DNT thing ?