#!/usr/bin/env python3 # an i2c scanner # Scans all addresses on the I2C bus and prints the addresses of connected # modules # copyright U. Raich 19.3.2019 # This program is released under GPL # It was written for a workshop on IoT networks at the # AIS conference 2019, Kampala, Uganda from machine import * import time scl = Pin(5) # on the wemos d1 mini scl is connected to GPIO 5 sda = Pin(4) # on the wemos d1 mini sda is connected to GPIO 4 i2c = I2C(-1,scl,sda) addr = i2c.scan() print(" 0 1 2 3 4 5 6 7 8 9 a b c d e f") j=0 for i in range (0,16): print('%02x'%(16*i),end=': ') for j in range(0,16): if 16*i+j in addr: print('%02x'%(16*i+j),end=' ') else: print("--",end=' ') time.sleep(0.1) print()