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 :
#1 Using the Arduino IDE#2 Using the Windows Device Manager
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.